基于Struts+Hibernate网上论坛系统课程设计任务书Word文档格式.docx
- 文档编号:22445091
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:42
- 大小:2.15MB
基于Struts+Hibernate网上论坛系统课程设计任务书Word文档格式.docx
《基于Struts+Hibernate网上论坛系统课程设计任务书Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Struts+Hibernate网上论坛系统课程设计任务书Word文档格式.docx(42页珍藏版)》请在冰豆网上搜索。
正文要有需求分析、概要设计、详细设计、代码、结论等部分构成,并有必要的图表和效果图。
结题形式
产品,程序代码,设计说明书
时间分配:
总体设计时间为1周
1.需求分析,概要设计1天
2.功能模块开发4天
3.上机调试,实现功能1天
4.写说明书、答辩1天
摘要
J2EE是一套全然不同于传统应用开发的技术架构,它包含许多组件,可以简化和规范应用系统的开发和部署,提高可移植性、安全性与重用价值,J2EE的核心是一组技术规范与指南,其包含的各类组件、服务架构及技术层次均有共通的标准及规格,因而各种遵循J2EE架构的平台具有良好的兼容性。
本次课程设计的题目是基于基于Struts+Hibernate网上论坛系统,实现了论坛的基本功能,即用户登陆、用户注册、用户发帖以及回帖等。
主要任务是学会J2EE程序开发的环境搭建和配置,并在实践运用中学习和掌握J2EE程序开发的全过程,进一步熟悉掌握J2EE程序设计语言的基础内容。
论坛又名网络论坛BBS,全称为BulletinBoardSystem(电子公告板)。
它是Internet上的一种电子信息服务系统。
它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。
用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。
像日程生活中的黑板报一样,论坛按不同的主题分为许多板块,版面的设立依据是大多数用户的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留的贴到论坛中。
关键词:
论坛系统MVC设计模式JSP
第一章网上论坛系统分析
1.开发平台
本系统的开发平台为MyEclipse+Tomcat
(1)MyEclipse
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
(2)Tomcat
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;
而且它还在不断的
改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
目前Tomcat最新版本为7.0.12Released。
2.数据库
库yuu
用户登录表t_user
帖子t_message
回复表t_comment
3.功能模块
第二章网上论坛系统开发技术
1.J2EE技术简单介绍
J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
J2EE平台是用于在分布式企业环境中开发、部署喝执行应用程序的体系结构。
分布式应用程序需要系统级服务,如事务管理、安全性、客户端连接喝数据库访问。
2.J2EE技术struts简单介绍
struts是开源软件。
使用Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
我们利用混合使用Servlets和JSP的优点来建立可扩展的应用。
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。
struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。
struts提供的类使得开发工作更加简单,这些类包括:
a.控制程序流程的类
b.实现和执行程序事务逻辑的类
c.自定义的标记库使得创建和验证HTML表单更加容易
struts
3.J2EE技术hibernate简单介绍
Hibernate定义为一个对象/关系数据库映射(Object/RelationalMapping,ORM)工具,它作为开源的持久层框架,目前的技术已经相对成熟,且为众多的软件开发项目所采用。
它作为连接Java应用程序和数据库的中间件,对JDBC进行简单封装,负责java对象的持久化。
在分层结构中处于持久化层,封装对数据库的访问细节,使业务逻辑层更专注于实现业务逻辑。
4.J2EE技术MVC开发模式介绍
MVC(modelviewcontroller)是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
视图:
显示层,主要用来实现信息输入和展示功能。
模型:
业务逻辑层主要用来实现具体的业务逻辑和状态管理。
控制器:
控制层,主要起到控制业务流程控制的作用,实现视图模型部分的协同工作。
MVC结构
第三章网上论坛系统开发
一、数据库开发与设计
1.全局变量的配置(Hibernate.cfg.xml)
<
session-factory>
<
propertyname="
hibernate.connection.url"
>
jdbc:
mysql:
//localhost/si<
/property>
hibernate.connection.driver_class"
com.mysql.jdbc.Driver<
hibernate.connection.username"
root<
hibernate.connection.password"
123<
hibernate.dialect"
org.hibernate.dialect.MySQLDialect<
hibernate.show_sql"
true<
mappingresource="
com/Comment.hbm.xml"
/>
com/Message.hbm.xml"
com/User.hbm.xml"
/session-factory>
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);
}
3.POJO对象
(1)User.java
publicclassUser{
privateStringusername;
privateStringpassword;
privateintid;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
publicStringgetPassword(){
returnpassword;
publicStringgetUsername(){
returnusername;
publicvoidsetPassword(Stringpassword){
this.password=password;
publicvoidsetUsername(Stringusername){
this.username=username;
}}
用户表的映射文件配置(User.hbm.xml)
classname="
com.User"
table="
user"
<
idname="
id"
column="
<
generatorclass="
native"
/>
/id>
username"
password"
/class>
(2)Message.java:
importjava.util.Date;
importjava.util.HashSet;
importjava.util.Set;
publicclassMessage{
privateDatetime;
privateStringcontent;
privateStringauthor;
privateStringtitle;
privateSetcomment=newHashSet();
publicStringgetCommentCount(){
returnString.valueOf(comment.size());
publicStringgetTimeString(){
returntime.toString();
publicStringgetAuthor(){
returnauthor;
publicvoidsetAuthor(Stringauthor){
this.author=author;
publicStringgetContent(){
returncontent;
publicvoidsetContent(Stringcontent){
this.content=content;
publicDategetTime(){
returntime;
publicvoidsetTime(Datetime){
this.time=time;
publicStringgetTitle(){
returntitle;
publicvoidsetTitle(Stringtitle){
this.title=title;
publicSetgetComment(){
returncomment;
publicvoidsetComment(Setcomment){
ment=comment;
帖子表的映射文件配置(Message.hbm.xml)
Message"
message"
time"
content"
author"
title"
setname="
comment"
lazy="
false"
inverse="
true"
cascade="
save-update"
keycolumn="
message_id"
/key>
one-to-manyclass="
com.Comment"
>
/one-to-many>
/set>
(3)Comment.java
publicclassComment{
privateintmessage_id;
publicStringgetTimeString()
publicintgetMessage_id(){
returnmessage_id;
publicvoidsetMessage_id(intmessage_id){
this.message_id=message_id;
回复表的映射文件配置(Comment.hbm.xml)
二、登录模块
2.1登录界面
1)实现了用户登录及验证功能,使系统更加安全可靠。
2)主要代码
a.web.xml的配置
servlet-mapping>
servlet-name>
action<
/servlet-name>
url-pattern>
*.do<
/url-pattern>
/servlet-mapping>
b.struts-config.xml的配置
struts-config>
form-beans>
form-beanname="
loginForm"
type="
com.LoginActionForm"
/form-bean>
/form-beans>
action-mappings>
actionname="
path="
/login"
com.LoginAction"
forwardname="
login"
/login.jsp"
/forward>
success"
/post.do"
failure"
/failure.jsp"
/action>
/action-mappings>
/struts-config>
c.登录部分通过继承Action和ActionForm类,实现了前台的数据收集和处理。
publicclassLoginActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
LoginActionFormlaf=(LoginActionForm)form;
Stringusername=laf.getUsername();
Stringpassword=laf.getPassword();
try{
SessionFactorysf=newConfiguration().configure().buildSessionFactory();
Sessionsession=sf.openSession();
Transactiontx=session.beginTransaction();
StringsqlQuery="
selectufromUseruwhereu.username='
"
+username+"
'
;
Queryquery=session.createQuery(sqlQuery);
ArrayListuserlist=(ArrayList)query.list();
mit();
session.close();
Useruser=newUser();
if((null!
=userlist)&
&
(userlist.size()>
0))
{
user=(User)userlist.get(0);
if(!
user.getPassword().equals(password))
returnmapping.findForward("
error"
);
}
else
catch(HibernateExceptione)
e.printStackTrace();
HttpSessionhttpSession=request.getSession();
httpSession.setAttribute("
username);
2.2注册模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Struts Hibernate 网上 论坛 系统 课程设计 任务书