应用集成实验报告文档格式.docx
《应用集成实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《应用集成实验报告文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
publicstaticConnectiongetConn(){
Connectionconn=null;
try{
Class.forName("
com.mysql.jdbc.Driver"
);
StringuserName="
root"
;
//数据库用户名
StringuserPasswd="
"
//密码
StringdbName="
community"
//数据库名
Stringurl="
jdbc:
mysql:
//localhost/"
+dbName+"
?
user="
+userName+"
&
password="
+userPasswd;
//连接字符串
conn=DriverManager.getConnection(url,userName,userPasswd);
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(SQLExceptione){
}
returnconn;
}
}
4、对数据库表houseinfo创建数据库连接类ODbConn.java。
publicclassODbConn{
5、创建数据库查询类InfoQuery.java。
packageQuery;
importjava.util.ArrayList;
importjava.util.List;
importpo.Info;
publicclassInfoQuery{
publicList<
Info>
selectByNum(Stringnum){
Connectionconn=db.DbConn.getConn();
java.sql.PreparedStatementpstmt=null;
java.sql.ResultSetrs=null;
List<
data=newArrayList<
();
pstmt=conn.prepareStatement("
select*frompropertymanagementwhereuser_num=?
pstmt.setString(1,num);
rs=pstmt.executeQuery();
while(rs.next()){
Infoinfo=newInfo();
info.setNum(rs.getString
(1));
info.setName(rs.getString
(2));
info.setSex(rs.getString(3));
info.setPhone(rs.getString(4));
info.setBirthday(rs.getString(5));
info.setBuytime(rs.getString(6));
info.setAddress(rs.getString(7));
data.add(info);
}
}finally{
if(rs!
=null)
try{
rs.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
if(pstmt!
pstmt.close();
if(conn!
conn.close();
returndata;
6、创建数据库查询类HouseQuery.java。
importpo.House;
publicclassHouseQuery{
House>
Connectionconn=db.ODbConn.getConn();
select*fromhouseinfowhereuser_num=?
Househouse=newHouse();
house.setNum(rs.getString
(1));
house.setHigh(rs.getString(5));
house.setArea(rs.getString(6));
house.setUsearea(rs.getString(7));
data.add(house);
7、创建数据持久化类Info.java。
代码如下:
packagepo;
publicclassInfo{
privateStringnum;
privateStringname;
privateStringsex;
privateStringphone;
privateStringbirthday;
privateStringbuytime;
privateStringaddress;
publicStringgetNum(){
returnnum;
publicvoidsetNum(Stringnum){
this.num=num;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicStringgetSex(){
returnsex;
publicvoidsetSex(Stringsex){
this.sex=sex;
publicStringgetPhone(){
returnphone;
publicvoidsetPhone(Stringphone){
this.phone=phone;
publicStringgetBirthday(){
returnbirthday;
publicvoidsetBirthday(Stringbirthday){
this.birthday=birthday;
publicStringgetBuytime(){
returnbuytime;
publicvoidsetBuytime(Stringbuytime){
this.buytime=buytime;
publicStringgetAddress(){
returnaddress;
publicvoidsetAddress(Stringaddress){
this.address=address;
8、创建数据持久化类House.java。
publicclassHouse{
privateStringhigh;
privateStringarea;
privateStringuseare;
publicStringgetHigh(){
returnhigh;
publicvoidsetHigh(Stringhigh){
this.high=high;
publicStringgetArea(){
returnarea;
publicvoidsetArea(Stringarea){
this.area=area;
publicStringgetUsearea(){
returnuseare;
publicvoidsetUsearea(Stringuseare){
this.useare=useare;
9、编写实现Struts2功能的Action对象。
InfoAction.java帮助实现查询功能和页面的传值跳转。
packageaction;
importQuery.InfoQuery;
importQuery.HouseQuery;
importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionSupport;
publicclassInfoActionextendsActionSupport{
//户主编号
privateInfoQueryin=newInfoQuery();
//查询编号
privateHouseQueryho=newHouseQuery();
@Override
publicStringexecute()throwsException{
//TODOAuto-generatedmethodstub
//查询结果放在request中
ActionContext.getContext().put("
infolist"
in.selectByNum(num));
ActionContext.getContext().put("
houselist"
ho.selectByNum(num));
//返回success指定的页面
returnSUCCESS;
//"
success"
10、在src目录下编写action的配置文件struts.xml。
<
xmlversion="
1.0"
encoding="
UTF-8"
?
>
!
DOCTYPEstrutsPUBLIC
"
-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
http:
//struts.apache.org/dtds/struts-2.0.dtd"
struts>
<
packagename="
actions"
extends="
struts-default"
<
actionname="
numquery"
class="
action.InfoAction"
--name="
-->
<
result>
/Infolist.jsp<
/result>
/action>
/package>
/struts>
11、编写JSP页面。
其中query.jsp为查询功能的页面。
相关代码如下所示:
%@pagelanguage="
java"
import="
java.util.*"
pageEncoding="
utf-8"
%>
%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"
:
//"
+request.getServerName()+"
+request.getServerPort()
+path+"
/"
DOCTYPEHTMLPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
html>
head>
basehref="
%=basePath%>
title>
信息查询<
/title>
/head>
body>
h1>
按户主编号查询用户信息<
/h1>
formaction="
numquery.action"
method="
post"
户主编号:
inputtype=textname=num>
--参数名和action中属性名一样-->
inputtype=submitname=submitvalue="
查询"
/form>
/body>
/html>
12、Infolist.jsp为查询结果的显示。
%@tagliburi="
prefix="
c"
%>
查询结果<
tableclass=rsborder=2width='
40%'
tr>
tdwidth=140align=center>
用户编号:
/td>
c:
forEachvar="
info"
items="
${infolist}"
td>
${info.num}<
/c:
forEach>
/tr>
tdalign=center>
用户名:
${info.name}<
用户性别:
${info.sex}<
用户联系电话:
${info.phone}<
用户生日:
${info.birthday}<
用户买房时间:
${in