基于J2EE网络论坛系统论文.docx
- 文档编号:18013450
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:32
- 大小:1.36MB
基于J2EE网络论坛系统论文.docx
《基于J2EE网络论坛系统论文.docx》由会员分享,可在线阅读,更多相关《基于J2EE网络论坛系统论文.docx(32页珍藏版)》请在冰点文库上搜索。
基于J2EE网络论坛系统论文
J2EE课程设计任务书
系别
电气与电子工程系
专业
计算机应用技术
班级
指导教师师
题目
基于Struts+Hibernate网上论坛系统
设计目的:
论坛系统是网站开发中很典型的一个例子。
它可以从一个很简单的模型复杂细化到一个庞大的系统。
对于企业或者个人网站,类似留言板的功能十分常见。
通过网上论坛系统的设计和开发可以了解到类似系统的功能逻辑以及用Struts和Hibernate实现的基础。
设计要求包含以下模块:
1.用户登录和验证模块。
2.显示现在所有话题模块及已有回复的模块。
3.显示某一特定话题和回复模块。
4.新建话题模块。
5.新建回复模块。
6.界面要求:
使用Dreamweaver设计界面达到协调、美观。
课程设计说明文档要求:
1.网上论坛系统须使用Struts和Hibernate协同工作,前台使用Struts做控制和显示,后台用Hibernate做数据操作。
2.说明系统设计的功能及模块,画出系统流程图。
3. 数据库设计与Hibernate设计。
4.Action和Form设计及页面设计。
4.撰写课程设计说明书。
课程说明书里应包括目录,程序流程图,数据库及Hibernate设计、Action和Form设计及页面设计、程序,总结(印象较深的经验/教训等)。
要求:
设计要有相应的设计报告,报告要包含题目、目录、摘要、关键字、正文、参考文献几部分;字体、字号格式按样文设置;正文要有需求分析、概要设计、详细设计、代码、结论等部分构成,并有必要的图表和效果图。
结题形式
产品,程序代码,设计说明书
时间分配:
总体设计时间为1周
1.需求分析,概要设计1天
2.功能模块开发4天
3.上机调试,实现功能1天
4.写说明书、答辩1天
网上论坛系统说明书
摘要
21世纪,地球因互联网的存在,早已变成一个村落。
人们在互联网的世界里尽情地遨游,享受着Internet带来的无限乐趣。
我们习惯了去网上看新闻、去论坛看帖、网上购物、撰写自己的网络日志等等。
当然,最离不开的,还是各种搜索引擎,帮我们找到想要的信息。
总之,互联网已经成为我们的一种生活方式,一个巨大的知识库。
网上论坛系统是最常见的网络形式,其主要功能是给网友一个交流的平台,大家畅所欲言,互相学习和帮助。
本系统基于MVC设计模式,采用流行的JSP+JavaBean+Servlet三层架构。
在设计过程中,将页面显示与功能逻辑实现分离开来,提高了代码的重用,有利于日后系统的维护和升级。
开发过程中使用到的开发工具有:
web服务器tomcat,数据库服务器SQLServer2000,集成开发工具MyEclipse和jdk。
整个论坛系统分为前台页面和后台数据库两个大的模块。
其中前台模块实现的基本功能主要有:
用户注册,用户登陆,浏览帖子,回复帖子,发表新帖;后台数据库模块实现的基本功能主要有:
编辑用户权限,编辑论坛版块,删除论坛版块,删除帖子。
关键词:
论坛系统MVC设计模式JSPmySQLTomcatsructshibernate
目录
第一章论坛介绍1
第二章需求分析2
2.1功能需求2
2.1.1注册模块2
2.1.2登陆模块3
2.1.3论坛管理模块3
2.1.4帖子管理模块3
2.2运行环境需求3
2.2.1系统软件的建议配置3
2.2.2系统硬件的建议配置4
2.3界面设计4
2.3.1界面操作需求4
2.3.2界面功能需求4
第三章开发平台与主要技术7
3.1开发平台7
3.1.1MyEclipse7
3.1.2Tomcat8
3.1.3JDK8
3.2主要技术9
3.2.1MVC模式9
3.2.2MVC工作原理9
3.2.3MVC的核心思想10
3.3数据库设计10
3.3.1MySQL安装配置10
3.3.2数据库的字段11
第四章系统实现12
4.1数据库的实现12
4.1.1数据库的连接代码12
4.1.2数据库中表的自动生成代码12
4.1.3数据库中表的操作代码以及相对应的映射文件13
4.2用户注册14
4.3用户登陆核心代码19
4.4新帖发布与回复核心代码20
第五章调试与测试24
第六章总结24
参考文献25
第一章论坛介绍
随着计算机技术的进步与发展以及Internet技术日益成熟,互联网正在融入我们的生活,影响和改变着我们的生活。
网络提供给我们的不仅是一个获取信息的的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间。
论坛又名BBS,全称为BulletinBoardSystem(电子公告板)。
它是Internet上的一种电子信息服务系统。
它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
它是一种交互性强,内容丰富又及时的电子信息服务系统。
用户在BBS站点上可以获得各种信息服务、发布信息、进行讨论、聊天等等。
像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据是大多数用户的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地贴到论坛中。
BBS是目前Internet上一种主要的信息交流和发布的平台。
随着网络的普及,各种各样的论坛大量出现,功能也越来越丰富,商业网站也开始重视论坛的作用,希望利用论坛达到与网民和用户交流的目的。
因此论坛建设在Internet应用上的地位显而易见,它已成为现代人沟通和获取信息的重要组成部分,从而倍受人们的重视。
第二章需求分析
2.1功能需求
2.1.1注册模块
用户注册时只需将自己的用户名和密码填入即可无需验证,但是用户名不得与已经注册的用户相同。
2.1.2登陆模块
已注册用户要正确输入自己的用户名和密码才能进入系统;如果输入的用户名和密码都正确则成功登陆,如果用户名和密码其中有一项输入不正确则登陆失败,并出现错误提示页面,要求输入正确的用户名或密码。
2.1.3论坛管理模块
由于本系统没有后台管理界面,因此对于论坛的创建、修改、删除只能由管理员通过直接对数据库的操作完成。
2.1.4帖子管理模块
已注册用户登陆到论坛主页,可进行浏览帖子、发表新帖、回帖的操作除了具有与会员相同的权限外,还能通过操作后台数据库对帖子进行增、删、改操作。
匆匆过客只能浏览帖子,不能发表新帖及回帖。
2.2运行环境需求
2.2.1系统软件的建议配置
一个好的系统必然有一个相对最优的系统配置方案。
系统配置要根据用户的实际情况设计,主要依据就是系统的吞吐量和系统相对稳定性的要求。
软件配置主要包括数据库的选择和操作系统的选择。
具体如下表所示:
软件名称
要求
操作系统
Windows2003
WEB服务器
Tomcat6.0
数据库
MySql
JDK
JDK5.0
Web浏览器
MicrosoftInternetExplorer7.0
开发平台
myeclipse
2.2.2系统硬件的建议配置
硬件名称
要求
CPU
使用586或更高级别的处理器
内存
128M或更高
硬盘
80G以上
显示器
VGA显示器
分辨率
1024*768
以上只是基本的配置,建议在运行系统时使用当前中等级以上的计算机,这样配置运行效果为佳。
2.3界面设计
2.3.1界面操作需求
考虑到一个中小型的网络论坛系统有一定的用户量,整个论坛界面整体要美观、简洁和实用,信息显示清晰明白。
用户的操作要简易方便,过程简单,不会因操作麻烦而引起严重的错误。
2.3.2界面功能需求
注册界面:
登陆界面:
论坛主页面:
浏览帖子和回帖界面:
发新帖界面:
第三章开发平台与主要技术
3.1开发平台
本系统的开发平台为MyEclipse6.0+Tomcat6.0+JDK5.0
3.1.1MyEclipse
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
如图3.1
MyEclipse是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.J2EE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.J2EE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
MyEclipse是一个专门为Eclipse设计的商业插件和开源插件的完美结合,MyEclipse为Eclipse提供了一个大量私有和开源的Java工具的集合,很大程度上解决了各种开源工具的不一致和缺点问题,并大大提高了Java和JSP应用开发的效率。
MyEclipse的实际价值来自其发布的大量的可视化开发工具和实用组件。
3.1.2Tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器,可以和大部分主流HTTP服务器一起工作,它是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat服务器不但支持运行Servlet和JSP而且还具备了作为商业JavaWeb应用容器的特征,除了能够运行Servlet和JSP外,还具备了作为WEB服务器的特有功能。
它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
3.1.3JDK
JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。
它是一个写Java的applet和应用程序的程序开发环境。
它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit),是开发Java的应用基础,Eclipse的运行也要依赖它。
JDK包含的基本组件包括:
1、javac–编译器,将源程序转成字节码
2、jar–打包工具,将相关的类文件打包成一个文件
3、javadoc–文档生成器,从源码注释中提取文档
4、jdb–debugger,查错工具
3.2主要技术
本系统是采用JSP技术和MVC设计模式结合开发的。
3.2.1MVC模式
模型一视图一控制器(Model-View-Controller),是一种常用的设计模式,在MVC之前,用户程序的构建往往将这几部分混在一起,而MVC将它们分开了,减弱了业务逻辑接口和数据接口之间的耦合,增加了灵活性和复用性,让视图层更富于变化。
MVC设计模式是基于J2EE的WEB应用开发的首选模式。
3.2.2MVC工作原理
采用MVC有许多好处,其中一个就是显示、逻辑和数据分开,这样一方面的改变不会影响另一方面,增加了组件的重用性和灵活性。
MVC的工作原理如图3.4
图3.4MVC设计模式
3.2.3MVC的核心思想
MVC的核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
1、模型(Model):
业务逻辑层。
模型表示应用的数据及操作这些数据的逻辑方法。
任何和整个应用有关的持久性数据都应该放在模型中。
对于模型,它所提供的API不能只针对某一个专门的视图或控制器,应该更一般化以适应不同客户的需求。
2、视图〔view):
表示层。
视图将模型的当前状态展示给用户,具体的显示方法由视图负责,因此一个模型可以适用多个不同的视图。
在模型状态改变之后,通过模型和视图之间的协议,视图得知这种改变井修改自己的显示。
对于用户的输入,视图将它们交给控制器处理。
3、控制器(Controller):
控制层。
控制器起到控制整个业务流程的作用,实现view和Model的协同工作。
将用户输入的数据导入模型,它还利用用户的输入将应用转向其它视图。
一些非持久的临时数据也应该在视图中存取。
3.3数据库设计
3.3.1MySQL安装配置
3.3.2数据库的字段
第四章系统实现
4.1数据库的实现
4.1.1数据库的连接代码
Hibernate.cfg.xml配置
mysql:
//localhost/hjh
name="hibernate.dialect">org.hibernate.dialect.MySQLDialect
4.1.2数据库中表的自动生成代码
packagecom;
importorg.hibernate.cfg.Configuration;
importorg.hibernate.tool.hbm2ddl.SchemaExport;
publicclassExportDB{
publicstaticvoidmain(String[]args){
Configurationcfg=newConfiguration().configure();
SchemaExportexport=newSchemaExport(cfg);
export.create(true,true);
}
}
4.1.3数据库中表的操作代码以及相对应的映射文件
Message配置文件
Comment配置文件
User配置文件
4.2用户注册
接收数据代码:
packagecom;
importorg.apache.struts.action.ActionForm;
publicclassLoginActionFormextendsActionForm{
Stringusername=null;
Stringpwd=null;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPwd(){
returnpwd;
}
publicvoidsetPwd(Stringpwd){
this.pwd=pwd;
}
}
处理表单数据
packagecom;
importjava.util.ArrayList;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importorg.hibernate.HibernateException;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.Transaction;
importorg.hibernate.cfg.Configuration;
publicclassloginactionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestreq,HttpServletResponseresponse)
throwsException{
LoginActionFormlaf=(LoginActionForm)form;
Stringusername=laf.getUsername();
Stringpwd=laf.getPwd();
try{
SessionFactorysf=newConfiguration().configure().buildSessionFactory();
Sessionsession=sf.openSession();
Transactiontx=session.beginTransaction();
StringsqlQuery="selectufromUseruwhereu.username='"+username+"'";
QuerylQuery=session.createQuery(sqlQuery);
ArrayListuserList=(ArrayList)lQuery.list();
mit();
session.close();
Useruser=newUser();
if(null!
=userList&&(userList.size()>0))
{
user=(User)userList.get(0);
if(!
user.getPassword().equals(pwd))
{
returnmapping.find
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 网络 论坛 系统 论文