Javaweb项目实验报告.docx

上传人:b****8 文档编号:10044186 上传时间:2023-05-23 格式:DOCX 页数:17 大小:374.23KB
下载 相关 举报
Javaweb项目实验报告.docx_第1页
第1页 / 共17页
Javaweb项目实验报告.docx_第2页
第2页 / 共17页
Javaweb项目实验报告.docx_第3页
第3页 / 共17页
Javaweb项目实验报告.docx_第4页
第4页 / 共17页
Javaweb项目实验报告.docx_第5页
第5页 / 共17页
Javaweb项目实验报告.docx_第6页
第6页 / 共17页
Javaweb项目实验报告.docx_第7页
第7页 / 共17页
Javaweb项目实验报告.docx_第8页
第8页 / 共17页
Javaweb项目实验报告.docx_第9页
第9页 / 共17页
Javaweb项目实验报告.docx_第10页
第10页 / 共17页
Javaweb项目实验报告.docx_第11页
第11页 / 共17页
Javaweb项目实验报告.docx_第12页
第12页 / 共17页
Javaweb项目实验报告.docx_第13页
第13页 / 共17页
Javaweb项目实验报告.docx_第14页
第14页 / 共17页
Javaweb项目实验报告.docx_第15页
第15页 / 共17页
Javaweb项目实验报告.docx_第16页
第16页 / 共17页
Javaweb项目实验报告.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Javaweb项目实验报告.docx

《Javaweb项目实验报告.docx》由会员分享,可在线阅读,更多相关《Javaweb项目实验报告.docx(17页珍藏版)》请在冰点文库上搜索。

Javaweb项目实验报告.docx

Javaweb项目实验报告

 

Javaweb项目编写

-----留言板的设计

******

小组成员:

hx田磊

hx宋昭辉

hx孔席超

 

1.归纳项目的功能(宏观)--UML的UseCase(用例图)

在本项目中,共有8个模块,小组成员分配如下:

孔席超:

注册,登录,浏览;

田磊:

发表主题,分页查看;

宋昭辉:

删除主题,修改主题,发表评论。

2.根据用例图,确定功能所需要的信息(确定数据字典)

User表

信息

数据类型

用户编号

Uid

int

用户名

username

String

性别

sex

String

密码

Password

String

昵称

Lovername

String

创建时间

Regtime

Timestape

Topic表

信息

数据类型

主题编号

tid

Int

主题名称

Tname

String

主题内容

Tcontext

Text

发表时间

Ttime

Timestape

 

Context表

信息

数据类型

评论内容

Ccontext

Text

评论时间

Ctime

Timestape

评论编号

cid

Int

数据建模

数据模型之间的关系

将其转换成为真实的表

生成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

);

/*====================================================*/

/*Table:

Topic*/

/*===================================================*/

createtableTopic

tidintauto_incrementnotnull,//定义整形变量tid,非空

uidint,//定义整型变量uid

tnamevarchar(20)notnull,//定义字符串tname,非空

tcontexttextnotnull,//定义文本区,非空

ttimetimestampnotnull,//定义一个时间戳,非空

primarykey(tid)//主键为tid

);

/*====================================================*/

/*Table:

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(1,user.getUsername());

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("ISO8859_1"),"utf-8");

Stringsex=request.getParameter("sex");

sex=newString(sex.getBytes("ISO8859_1"),"utf-8");

Stringpassword=request.getParameter("password");

登录模块:

在数据库中进行查询的验证

Stringsql="selectpassword,uidfromuserwhereusername=?

";

浏览模块:

 

创建查询的句柄语句,查询topic表中的信息:

Stringsql="selecttid,uid,tname,tcontext,ttimefromtopic";

PreparedStatementps=conn.prepareStatement(sql);

ResultSetrs=ps.executeQuery();

 

以下模块为田磊设计编写:

发表主题模块:

 

向数据库添加信息代码:

Stringsql="insertintotopicvalues(null,null,?

?

sysdate())";

PreparedStatementps=conn.prepareStatement(sql);

ps.setString(1,topic.getTname());

ps.setString(2,topic.getTcontext());

ps.executeUpdate();

汉字转码:

Stringtname=request.getParameter("tname");

tname=newString(tname.getBytes("ISO-8859-1"),"utf-8");

Stringcontext=request.getParameter("tcontext");

context=newString(context.getBytes("ISO-8859-1"),"utf-8");

Stringid=request.getParameter("tid").trim();

 

分页查看模块:

以下模块为宋昭辉设计编写:

删除主题模块:

删除前:

删除前两个主题:

 

从数据库中删除信息部分代码:

Stringsql="deletefromtopicwheretid=?

";

PreparedStatementps=conn.prepareStatement(sql);

ps.setInt(1,id);

ps.execute();

要删除的主题的编号获取:

Stringtid=request.getParameter("tid");

Integerid=Integer.parseInt(tid);

DAOdao=newDAO();

Topictopic=dao.delTopicById(id);

获取要删除的主题:

request.setAttribute("topic",topic);

修改主题模块:

修改前:

对第一条主题进行修改:

修改完成:

修改模块的部分代码:

Stringsql="updatetopicsettname=?

tcontext=?

wheretid=?

";

要修改的主题的编号获取:

Stringtid=request.getParameter("tid");

Integerid=Integer.parseInt(tid);

System.out.println("tid"+id);

DAOdao=newDAO();

Topictopic=dao.getTopicById(id);

获取要修改的主题:

request.setAttribute("topic",topic);

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错误的问题出现的地方进行修改。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2