1、J2EE应用开发 简单论坛系统实验报告(一)J2EE应用开发实验报告实验题目:简单论坛系统院系: 数学与计算机(软件)学院 姓名: 黄剑 学号: 221000215 完成日期: 2013年4月6日 一、 实验目的采用JSP+servlet+javabean,结合EL技术开发简单论坛系统,通过本次实验,巩固JSP、JSTL、Servelt等技术,熟悉Web应用程序的开发流程、开发技术及模块间的结合使用。二、 实验内容1.数据表设计论坛系统的设计表主要包含用户表、帖子表、回帖表。论坛系统的数据表树形结构如图所示:系统中的所有类文件夹及文件参考如下:用于存放工程信息的文件夹和工程中JSP页面文件的文
2、件结构图如图所示: 2.用户登录与退出功能概述 只有注册成为论坛的用户才可以登录论坛,在论坛系统中进行发帖、回帖等操作。当用户退出论坛时,清空session中的用户记录。 论坛登录首页提供用户注册链接,方便第一次访问论坛的用户进行注册。注册用户成功后跳转到登录页面,填写正确的用户名称、密码与安全码就可以登录论坛,否则提示错误信息。登录错误如图所示。 用户登录与退出功能技术分析 :用户在登录页面填写名称与密码,单击提交后,在Servlet中调用持久化类中的判断用户名称与密码是否与数据库中的记录相符的方法,如果符合记录数据,那么,跳转到登录成功页面,否则提示错误信息。在登录成功页面判断用户的权限,
3、管理员显示可以对用户、帖子及回帖的删除及查询所有用户的链接。系统设计如图所示。 用户退出时,在处理用户退出的Servlet中清空用户会话session。 用户登录与退出功能实现过程:1创建类“UserInfoVo.java”:编写用户属性信息,包含编号、用户名称、密码、性别、QQ号码、电子邮箱。2创建类“UserInfoDAO.java”:编写登录方法login(),通过连接数据库公共类连接数据库,执行查询SQL语句来验证登录页面中填写的用户名称与密码是否正确。3创建类“UserController.java”,编写登录方法与退出方法。4创建“login.jsp”登录页面:页面设计3个文本框,
4、提供用户名称、密码、验证码输入功能。3.查看帖子查看帖子功能概述: 用户发帖后将帖子信息保存到帖子数据表中,通过编写查询帖子数据表的SQL语句查询帖子并将所有的帖子信息显示到页面。帖子列表页面如图所示。 查看帖子功能技术分析: 用户登录成功后,跳转到论坛首页。通过查询帖子数据表中数据,然后在页面中显示。详细设计图所示。 查看帖子功能实现过程:1创建类“ForumInfoVo.java”:编写帖子的属性信息,包括帖子编号、标题、内容、发帖人、发帖人编号、发帖时间、发帖人IP、回帖数等。2创建类“ForumDAO.java”:编写查询帖子方法findAll(),通过连接数据库公共类连接数据库,调用
5、分页生成器类中的分页方法查询数据,遍历查询结果集,并将数据封装到List对象中返回。 3创建类“ForumController.java”,创建查询所有帖子方法findAll(),调用“ForumDAO.java”中的查询方法获得List对象,并将该对象传递到页面。4创建页面“allForum.jsp”,该页面获得“ForumController.java”中传递的List对象,通过EL表达式进行显示。页面中判断session中用户的权限,如果是管理员显示“删除” 。4.发布帖子发布帖子功能实现过程:单击论坛首页中的“发布新帖子”链接到发布帖子页面,该页面提供帖子标题、帖子内容等文本框。用户填
6、写了帖子信息后,单击提交完成帖子发布操作。页面显示如图所示。 发布帖子功能技术分析 :发帖页面中只提供帖子标题,帖子内容输入文本域,其他的帖子信息,例如发帖人、发帖时间、发帖人IP等都是通过session及提交发布帖子的url地址获得。发布帖子的流程如图所示。发布帖子功能实现过程:1在“ForumDAO.java”中编写保存帖子方法save(),该方法获得“ForumController.java”中传递的帖子信息,通过连接数据库公共类连接数据库,执行插入SQL语句来保存帖子数据。2在“ForumController.java”中编写保存帖子方法saveForum(),该方法接收发布帖子页面表
7、单数据,封装帖子对象,然后调用“ForumDAO.java”保存帖子方法,完成帖子保存。 3创建发帖页面“sendForum.jsp”:设计帖子标题文本框,帖子内容文本区域,发帖提交按钮。5.回复帖子回复帖子功能概述:用户登录论坛后,在查看所有帖子列表过程中,单击帖子标题或“回复”都可以查看单个帖子内容、其他人回复信息,也可以添写回复内容。单个帖子内容如下图所示。回帖页面如下图所示。回复帖子功能技术分析:单击帖子标题或“回复”时,执行通过帖子ID查询单个帖子与查询该帖子回贴等操作。系统实现过程如图所示。 回复帖子功能实现过程:1创建类“ReforumInfoVo.java”:该类中编写回帖信息
8、的属性,包括回帖编号、标题、内容、帖子编号、回帖人编号、回帖人姓名、IP、回帖时间。 2在“ForumDAO.java”中编写查询单个帖子方法findById(),通过连接数据库公共类连接数据库,执行查询单个帖子的SQL语句来获得单个帖子内容。3创建类“ReforumDAO.java”,编写根据帖子ID查询回帖信息与保存回帖内容两个方法。4在“ForumController.java”中编写查询单个帖子、单个帖子回帖、保存回帖方法。 5创建回帖页面“reforum.jsp”,页面显示单个帖子内容,回帖内容、发布回复帖子的表单。 6.删除帖子删除帖子功能概述:管理员可以维护论坛的帖子、回帖等内容
9、。当管理员登录后,页面中显示删除帖子、回帖超链接,单击“删除”后删除对应的记录。删除帖子的页面如图所示。单击帖子标题或“回复”时显现回帖内容,并显示“删除”链接,如图所示。删除帖子功能技术分析:管理员删除帖子时有两种情况: 1没有回帖时:单击“删除”,直接数据表中记录。 2有回帖时:单击“删除”,首先删除回帖记录,然后删除帖子。 删除帖子功能实现如图所示。 管理员删除回帖时,只需直接删除回帖数据表中的对应记录即可。 删除帖子功能实现过程:删除帖子功能模块有帖子属性类“ForumInfoVo.java”、回帖属性类“ReforumInfoVo.java”。 1在“ForumDAOjava”中添加
10、删除帖子方法,通过连接数据库公共类连接数据库,根据帖子ID编写首先删除回帖表中的记录,然后删除帖子记录的SQL语句并执行。2在“RefourumDAO.java”类中编写根据回帖ID删除帖子记录的方法,通过连接数据库公共类连接数据库,执行删除SQL语句,完成删除功能。同时需要将帖子数据表中的回帖数目减少1。 3在“ForumDAOjava”中编写当删除回帖时,减少回帖数目的方法。通过连接数据库公共类连接数据库,编写更新回帖数目的SQL语句,将回帖数减1。4在“ForumController.java”中编写删除帖子与回帖的方法。 5实现删除操作页面。 三、 实验结果四、 实验体会 这是一个基于MVC模式的简单的BBS系统,实现了基本的增,删,改,实验的数据库的基本操作,通过这个实验,清楚的了解了JavaEE的编码流程。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1