基于Struts+Hibernate网上论坛系统课程设计任务书.docx

上传人:b****8 文档编号:9309015 上传时间:2023-02-04 格式:DOCX 页数:42 大小:2.15MB
下载 相关 举报
基于Struts+Hibernate网上论坛系统课程设计任务书.docx_第1页
第1页 / 共42页
基于Struts+Hibernate网上论坛系统课程设计任务书.docx_第2页
第2页 / 共42页
基于Struts+Hibernate网上论坛系统课程设计任务书.docx_第3页
第3页 / 共42页
基于Struts+Hibernate网上论坛系统课程设计任务书.docx_第4页
第4页 / 共42页
基于Struts+Hibernate网上论坛系统课程设计任务书.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

基于Struts+Hibernate网上论坛系统课程设计任务书.docx

《基于Struts+Hibernate网上论坛系统课程设计任务书.docx》由会员分享,可在线阅读,更多相关《基于Struts+Hibernate网上论坛系统课程设计任务书.docx(42页珍藏版)》请在冰豆网上搜索。

基于Struts+Hibernate网上论坛系统课程设计任务书.docx

基于Struts+Hibernate网上论坛系统课程设计任务书

课程设计任务书

系别

电气与电子工程系

专业

计算机应用技术

班级

指导教师师

题目

基于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天

 

 

摘要

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)

jdbc:

mysql:

//localhost/si

com.mysql.jdbc.Driver

root

123

org.hibernate.dialect.MySQLDialect

true

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

packagecom;

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)

(2)Message.java:

packagecom;

importjava.util.Date;

importjava.util.HashSet;

importjava.util.Set;

publicclassMessage{

privateDatetime;

privateStringcontent;

privateStringauthor;

privateStringtitle;

privateintid;

privateSetcomment=newHashSet();

publicStringgetCommentCount(){

returnString.valueOf(comment.size());

}

publicStringgetTimeString(){

returntime.toString();

}

publicStringgetAuthor(){

returnauthor;

}

publicvoidsetAuthor(Stringauthor){

this.author=author;

}

publicStringgetContent(){

returncontent;

}

publicvoidsetContent(Stringcontent){

this.content=content;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicDategetTime(){

returntime;

}

publicvoidsetTime(Datetime){

this.time=time;

}

publicStringgetTitle(){

returntitle;

}

publicvoidsetTitle(Stringtitle){

this.title=title;

}

publicSetgetComment(){

returncomment;

}

publicvoidsetComment(Setcomment){

ment=comment;

}}

帖子表的映射文件配置(Message.hbm.xml)

inverse="true"cascade="save-update">

(3)Comment.java

packagecom;

importjava.util.Date;

publicclassComment{

privateDatetime;

privateStringcontent;

privateStringauthor;

privateintid;

privateintmessage_id;

publicStringgetTimeString()

{

returntime.toString();

}

publicStringgetAuthor(){

returnauthor;

}

publicvoidsetAuthor(Stringauthor){

this.author=author;

}

publicStringgetContent(){

returncontent;

}

publicvoidsetContent(Stringcontent){

this.content=content;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicintgetMessage_id(){

returnmessage_id;

}

publicvoidsetMessage_id(intmessage_id){

this.message_id=message_id;

}

publicDategetTime(){

returntime;

}

publicvoidsetTime(Datetime){

this.time=time;

}}

回复表的映射文件配置(Comment.hbm.xml)

二、登录模块

2.1登录界面

1)实现了用户登录及验证功能,使系统更加安全可靠。

2)主要代码

a.web.xml的配置

action

*.do

b.struts-config.xml的配置

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

{

returnmapping.findForward("error");

}

}

catch(HibernateExceptione)

{

e.printStackTrace();

returnmapping.findForward("error");

}

HttpSessionhttpSession=request.getSession();

httpSession.setAttribute("username",username);

returnmapping.findForward("success");

}

}

2.2注册模

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1