Javaweb项目实验报告.docx_第1页
Javaweb项目实验报告.docx_第2页
Javaweb项目实验报告.docx_第3页
Javaweb项目实验报告.docx_第4页
Javaweb项目实验报告.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Javaweb项目编写-留言板的设计 指导教师: 庄凯小组成员: hx20090412 田磊 hx20090429 宋昭辉hx20090430孔席超1.归纳项目的功能(宏观)-UML的UseCase(用例图)在本项目中,共有8个模块,小组成员分配如下:孔席超:注册,登录,浏览;田 磊:发表主题,分页查看;宋昭辉:删除主题,修改主题,发表评论。2.根据用例图,确定功能所需要的信息(确定数据字典)User表信息数据类型 用户编号Uidint用户名usernameString性别sexString密码PasswordString昵称LovernameString创建时间RegtimeTimestapeTopic表信息数据类型主题编号tidInt主题名称TnameString主题内容TcontextText发表时间TtimeTimestape Context表信息数据类型评论内容CcontextText评论时间CtimeTimestape评论编号cidInt数据建模数据模型之间的关系将其转换成为真实的表生成sql脚本/*=*/* DBMS name: MySQL 5.0 */* Created on: 2010/11/28 14:48:07 */*=*/drop table if exists Context; /如果存在context表将它删除drop table if exists Topic; /如果存在topic表将它删除drop table if exists User; /如果存在user表将它删除/*=*/* Table: Context */*=*/create table Context( cid int auto_increment not null, /定义整形变量cid,非空 tid int, /定义整形变量tid uid int, /定义整型变量uid ccontext text not null, /定义文本区ccontext,非空 ctime timestamp not null, /定义一个时间戳,非空 primary key (cid) /主键为cid);/*=*/* Table: Topic */*=*/create table Topic( tid int auto_increment not null, /定义整形变量tid,非空 uid int, /定义整型变量uid tname varchar(20) not null,/定义字符串tname,非空 tcontext text not null, /定义文本区,非空 ttime timestamp not null, /定义一个时间戳,非空 primary key (tid) /主键为tid);/*=*/* Table: User */*=*/create table User( uid int auto_increment not null, /定义整形变量uid,非空 username varchar(10) not null,/定义字符串username,非空 sex varchar(4) not null, /定义字符串sex,非空 password varchar(20) not null, /定义字符串password,非空 lovername varchar(10) not null, /定义字符串password,非空 regtime timestamp not null, /定义一个时间戳,非空 primary key (uid) /主键为uid);3.根据用例图创建 时序和动作图以下注册、登录模块为孔席超制作:注册模块:登录模块:以下发表主题模块为田磊制作:发表主题模块:以下删除主题、修改主题模块为宋昭辉制作:删除主题模块:修改主题模块:4.资源(整合)视图级别 :index.jsp login.jsp register.jsp addTopic.jsp控制级别: UserAction.java TopAction.java模型级别 : DAO.java数据库控制:DBHander.java5.类图6.程序功能说明:程序部分代码及功能的截图如下:以下模块为孔席超设计编写:注册模块:后台验证有无重复信息代码String sql=select count(*) from user where username=? and lovername=?;PreparedStatement ps=conn.prepareStatement(sql);ps.setString(1, user.getUsername();ps.setString(2, user.getLovername();ResultSet rs = ps.executeQuery();添加新的注册的信息sql=insert into user values (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();汉字转码:String username = request.getParameter(username); username=new String(username.getBytes(ISO8859_1),utf-8);String lovername = request.getParameter(lovername); lovername=new String(lovername.getBytes(ISO8859_1),utf-8);String sex = request.getParameter(sex);sex=new String(sex.getBytes(ISO8859_1),utf-8);String password = request.getParameter(password);登录模块:在数据库中进行查询的验证String sql = select password,uid from user where username=?;浏览模块: 创建查询的句柄语句, 查询topic表中的信息:String sql = select tid ,uid ,tname,tcontext,ttime from topic;PreparedStatement ps = conn.prepareStatement(sql);ResultSet rs = ps.executeQuery();以下模块为田磊设计编写:发表主题模块:向数据库添加信息代码:String sql=insert into topic values (null,null,?,?,sysdate();PreparedStatement ps=conn.prepareStatement(sql);ps.setString(1, topic.getTname();ps.setString(2, topic.getTcontext();ps.executeUpdate();汉字转码:String tname = request.getParameter(tname);tname=new String(tname.getBytes(ISO-8859-1),utf-8);String context = request.getParameter(tcontext);context=new String(context.getBytes(ISO-8859-1),utf-8);String id = request.getParameter(tid).trim();分页查看模块:以下模块为宋昭辉设计编写:删除主题模块:删除前:删除前两个主题:从数据库中删除信息部分代码:String sql = delete from topic where tid=?;PreparedStatement ps = conn.prepareStatement(sql);ps.setInt(1, id);ps.execute();要删除的主题的编号获取:String tid=request.getParameter(tid);Integer id=Integer.parseInt(tid);DAO dao=new DAO();Topic topic = dao.delTopicById(id);获取要删除的主题:request.setAttribute(topic, topic);修改主题模块:修改前:对第一条主题进行修改:修改完成:修改模块的部分代码:String sql = update topic set tname= ? , tcontext= ? where tid=? ;要修改的主题的编号获取:String tid=request.getParameter(tid);Integer id=Integer.parseInt(tid);System.out.println(tid +id);DAO dao=new DAO();Topic topic = dao.getTopicById(id);获取要修改的主题:request.setAttribute(topic, topic);7.心得体会孔席超:在本次项目中我主要负责的是注册以及登陆模块。在项目制作的初期阶段,由于对一些软件比如startUML等缺乏了解,项目进展的很缓慢。但是在中后期阶段由于老师的讲解以及小组成员之间的相互配合,很快就步入了正轨。在我负责的模块中,由于对java语言运用的不太熟练,使我在完成一些功能时遇到一些障碍,比如做登陆模块时在密码的验证这一部分不知道如何去下手,但是由于此次项目是以团队为基础的,我们三人在一起进行商量,很快就解决了问题。我想这次项目的完成对我们有很大的帮助,不仅在JAVA语言的运用上有了提高,对于数据库语言及操作也有了比较全面深刻的了解,比如如何创建一个表,插入相应的字段,给字段添加相关的属性,以及对表进行相关的搜索。在服务器中的.xml文件配置方面也了解到了相应标签的含义以及如何配置,并上传到服务器上。在此次项目中,对有关制作WEB项目的软件比如Tomcat、MyEclipse等软件的运用上也有了小幅的提高。综合一上,这次web项目的制作对我在综合运用方面有了很大的帮助提高。田磊:在这次项目的编写中,我主要负责的是发表主题、分页查看功能的编写。两个功能看似相互独立,实际上有着很紧密的联系,分页查看是为了将主题在前台呈现的效果更加简洁、美观。在发表主题模块中,编写提交主题功能很顺利,初步完成后,尝试着去发表英文,能显示,感觉自己完成了,但我忽略了一点,就是汉字转码有问题却没有发现,致使在输入汉字的时候会显示乱码,对转码的代码进行查看发现,对多位编码utf-8和iso-8859-1的使用出现了问题(是由于多次改变转码格式而引起的)致使只能显示英文和数字而无法录入中文,终于发现了问题,现在这个情况已经得到了解决 ;接下来是分页查看的模块,这个模块的主要功能是将主题、评论等内容显示成页面形式,更方便用户的查看,使页面呈现的简洁、方便,这与html文件的编写有关,css文件决定了显示的效果,在编写过程中,误将.perties文件放入了css目录下,而且jar包的导入出现了问题,导致分页显示异常,出现了不必要的麻烦,经过对文件位置的转换以及jar包的重新导入,现在分页的雏形已经基本显示出来,分页的制作还对我的页面设计功能进行了锻炼,对这个功能的了解更加深了一步。现在两个功能的设计已经完成,和小组其他成员的功能结合在一起,就基本完成了本次web项目的编写,整体的功能已经调试完成,还要对其他不太熟悉的模块多加了解,争取全面掌握整个程序的运行流程和控制效果。宋昭辉:在本次项目中我主要负责了删除修改模块的制作。在制作过程中,使我对数据库中内容的删除、修改和查询语句得到了充分的练习,和熟练的运用。在jsp页面中使用div标签进行页面的控制,使页面更加合理美观。我学会了用java语言实现前台和后台数据库的连接,在前台对后台数据库的控制。在页面的跳转中对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论