Javaweb项目实验报告Word文件下载.docx
《Javaweb项目实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《Javaweb项目实验报告Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
Uid
int
用户名
username
String
性别
sex
密码
Password
昵称
Lovername
创建时间
Regtime
Timestape
Topic表
主题编号
tid
Int
主题名称
Tname
主题内容
Tcontext
Text
发表时间
Ttime
Context表
评论内容
Ccontext
评论时间
Ctime
评论编号
cid
数据建模
数据模型之间的关系
将其转换成为真实的表
生成sql脚本
/*==================================================*/
/*DBMSname:
MySQL5.0*/
/*Createdon:
2010/11/2814:
48:
07*/
/*===================================================*/
droptableifexistsContext;
/如果存在context表将它删除
droptableifexistsTopic;
//如果存在topic表将它删除
droptableifexistsUser;
//如果存在user表将它删除
/*======================================================*/
/*Table:
Context*/
createtableContext
(
cidintauto_incrementnotnull,//定义整形变量cid,非空
tidint,//定义整形变量tid
uidint,//定义整型变量uid
ccontexttextnotnull,//定义文本区ccontext,非空
ctimetimestampnotnull,//定义一个时间戳,非空
primarykey(cid)//主键为cid
);
/*====================================================*/
Topic*/
createtableTopic
tidintauto_incrementnotnull,//定义整形变量tid,非空
tnamevarchar(20)notnull,//定义字符串tname,非空
tcontexttextnotnull,//定义文本区,非空
ttimetimestampnotnull,//定义一个时间戳,非空
primarykey(tid)//主键为tid
User*/
createtableUser
uidintauto_incrementnotnull,//定义整形变量uid,非空
usernamevarchar(10)notnull,//定义字符串username,非空
sexvarchar(4)notnull,//定义字符串sex,非空
passwordvarchar(20)notnull,//定义字符串password,非空
lovernamevarchar(10)notnull,//定义字符串password,非空
regtimetimestampnotnull,//定义一个时间戳,非空
primarykey(uid)//主键为uid
3.根据用例图创建时序和动作图
以下注册、登录模块为孔席超制作:
注册模块:
登录模块:
以下发表主题模块为田磊制作:
发表主题模块:
以下删除主题、修改主题模块为宋昭辉制作:
删除主题模块:
修改主题模块:
4.资源(整合)
视图级别:
index.jsplogin.jspregister.jspaddTopic.jsp
控制级别:
UserAction.javaTopAction.java
模型级别:
DAO.java
数据库控制:
DBHander.java
5.类图
6.程序功能说明:
程序部分代码及功能的截图如下:
以下模块为孔席超设计编写:
后台验证有无重复信息代码
Stringsql="
selectcount(*)fromuserwhereusername=?
andlovername=?
"
;
PreparedStatementps=conn.prepareStatement(sql);
ps.setString(1,user.getUsername());
ps.setString(2,user.getLovername());
ResultSetrs=ps.executeQuery();
添加新的注册的信息
sql="
insertintouservalues(null,?
?
sysdate())"
ps=conn.prepareStatement(sql);
ps.setString(2,user.getSex());
ps.setString(3,user.getLovername());
ps.setString(4,user.getPassword());
ps.executeUpdate();
汉字转码:
Stringusername=request.getParameter("
username"
username=newString(username.getBytes("
ISO8859_1"
),"
utf-8"
Stringlovername=request.getParameter("
lovername"
lovername=newString(lovername.getBytes("
Stringsex=request.getParameter("
sex"
sex=newString(sex.getBytes("
Stringpassword=request.getParameter("
password"
在数据库中进行查询的验证
Stringsql="
selectpassword,uidfromuserwhereusername=?
浏览模块:
创建查询的句柄语句,查询topic表中的信息:
selecttid,uid,tname,tcontext,ttimefromtopic"
PreparedStatementps=conn.prepareStatement(sql);
以下模块为田磊设计编写:
向数据库添加信息代码:
insertintotopicvalues(null,null,?
ps.setString(1,topic.getTname());
ps.setString(2,topic.getTcontext());
Stringtname=request.getParameter("
tname"
tname=newString(tname.getBytes("
ISO-8859-1"
Stringcontext=request.getParameter("
tcontext"
context=newString(context.getBytes("
Stringid=request.getParameter("
tid"
).trim();
分页查看模块:
以下模块为宋昭辉设计编写:
删除前:
删除前两个主题:
从数据库中删除信息部分代码:
deletefromtopicwheretid=?
ps.setInt(1,id);
ps.execute();
要删除的主题的编号获取:
Stringtid=request.getParameter("
Integerid=Integer.parseInt(tid);
DAOdao=newDAO();
Topictopic=dao.delTopicById(id);
获取要删除的主题:
request.setAttribute("
topic"
topic);
修改前:
对第一条主题进行修改:
修改完成:
修改模块的部分代码:
updatetopicsettname=?
tcontext=?
wheretid=?
"
要修改的主题的编号获取:
System.out.println("
tid"
+id);
Topictopic=dao.getTopicById(id);
获取要修改的主题:
7.心得体会
在本次项目中我主要负责的是注册以及登陆模块。
在项目制作的初期阶段,由于对一些软件比如startUML等缺乏了解,项目进展的很缓慢。
但是在中后期阶段由于老师的讲解以及小组成员之间的相互配合,很快就步入了正轨。
在我负责的模块中,由于对java语言运用的不太熟练,使我在完成一些功能时遇到一些障碍,比如做登陆模块时在密码的验证这一部分不知道如何去下手,但是由于此次项目是以团队为基础的,我们三人在一起进行商量,很快就解决了问题。
我想这次项目的完成对我们有很大的帮助,不仅在JAVA语言的运用上有了提高,对于数据库语言及操作也有了比较全面深刻的了解,比如如何创建一个表,插入相应的字段,给字段添加相关的属性,以及对表进行相关的搜索。
在服务器中的.xml文件配置方面也了解到了相应标签的含义以及如何配置,并上传到服务器上。
在此次项目中,对有关制作WEB项目的软件比如Tomcat、MyEclipse等软件的运用上也有了小幅的提高。
综合一上,这次web项目的制作对我在综合运用方面有了很大的帮助提高。
田磊:
在这次项目的编写中,我主要负责的是发表主题、分页查看功能的编写。
两个功能看似相互独立,实际上有着很紧密的联系,分页查看是为了将主题在前台呈现的效果更加简洁、美观。
在发表主题模块中,编写提交主题功能很顺利,初步完成后,尝试着去发表英文,能显示,感觉自己完成了,但我忽略了一点,就是汉字转码有问题却没有发现,致使在输入汉字的时候会显示乱码,对转码的代码进行查看发现,对多位编码utf-8和iso-8859-1的使用出现了问题(是由于多次改变转码格式而引起的)致使只能显示英文和数字而无法录入中文,终于发现了问题,现在这个情况已经得到了解决;
接下来是分页查看的模块,这个模块的主要功能是将主题、评论等内容显示成页面形式,更方便用户的查看,使页面呈现的简洁、方便,这与html文件的编写有关,css文件决定了显示的效果,在编写过程中,误将display.tag.pro.perties文件放入了css目录下,而且jar包的导入出现了问题,导致分页显示异常,出现了不必要的麻烦,经过对文件位置的转换以及jar包的重新导入,现在分页的雏形已经基本显示出来,分页的制作还对我的页面设计功能进行了锻炼,对这个功能的了解更加深了一步。
现在两个功能的设计已经完成,和小组其他成员的功能结合在一起,就基本完成了本次web项目的编写,整体的功能已经调试完成,还要对其他不太熟悉的模块多加了解,争取全面掌握整个程序的运行流程和控制效果。
在本次项目中我主要负责了删除修改模块的制作。
在制作过程中,使我对数据库中内容的删除、修改和查询语句得到了充分的练习,和熟练的运用。
在jsp页面中使用div标签进行页面的控制,使页面更加合理美观。
我学会了用java语言实现前台和后台数据库的连接,在前台对后台数据库的控制。
在页面的跳转中对绝对路径的使用。
在本次项目的编写修改过程中,遇到最大的困难是在主题部分中发表汉字。
一开始我们的项目中,只能发表和修改数字和英文,一旦出现汉字,就会显示出乱码或者报错,根据实际情况我们在DAO中加入了汉字转码语句,又将jsp页面中的编码形式全部改成utf-8的编码格式,但是发表或修改后的页面并没有像预期那样出现了中文,而且给我们报出了错误,经研究发现已经向后台数据库中插入了中文,但是在页面中无法显示,后对页面相应的语句进行微调后页面终于出现了中文。
此外,在本次项目的编写中,我学会了对系统报出的404错误和500错误的问题出现的地方进行修改。