jsp新闻发布课程设计.docx

上传人:b****5 文档编号:6658500 上传时间:2023-01-08 格式:DOCX 页数:31 大小:598.45KB
下载 相关 举报
jsp新闻发布课程设计.docx_第1页
第1页 / 共31页
jsp新闻发布课程设计.docx_第2页
第2页 / 共31页
jsp新闻发布课程设计.docx_第3页
第3页 / 共31页
jsp新闻发布课程设计.docx_第4页
第4页 / 共31页
jsp新闻发布课程设计.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

jsp新闻发布课程设计.docx

《jsp新闻发布课程设计.docx》由会员分享,可在线阅读,更多相关《jsp新闻发布课程设计.docx(31页珍藏版)》请在冰豆网上搜索。

jsp新闻发布课程设计.docx

jsp新闻发布课程设计

信息理工学院

课程设计(实训)报告

 

系部_信息工程系__专业_____________

新闻发布系统

 

班级学号____________

姓名_______________课题_____________

指导教师报告成绩__

 

 

日期:

2011年12月28日

 

目录

目录I

第1章基础知识1

1.1MySql数据库1

1.2JSP与Servlet1

1.3Struts框架3

第2章总体设计5

2.1需求分析5

2.2数据库设计5

2.3功能模块简介6

2.4框架的应用9

第3章详细设计13

第3章详细设计13

3.1新闻显示功能13

3.2用户注册功能13

3.3修改注册信息功能13

3.4管理新闻功能13

3.5添加新闻功能14

3.6管理用户14

3.7注销14

第4章功能实现15

4.1新闻显示功能15

4.2用户注册功能17

4.3修改注册信息功能19

4.4管理新闻功能20

4.5修改新闻功能22

4.6管理用户24

4.7注销25

第5章总结27

第6章参考文献27

第1章基础知识

1.1MySql数据库

今天MySQL已被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL是一个真正的多用户、多线程SQL数据库服务器。

系统采用加载纯Java数据库驱动程序的方式操作数据库,目前mysql还不支持桥连接。

SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。

MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成,并且能够支持多平台。

1.2JSP与Servlet

JavaServlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。

JavaServlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

JavaServlet与Applet的比较:

相似之处:

●它们不是独立的应用程序,没有main()方法。

●它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用。

●它们都有一个生存周期,包含init()和destroy()方法。

不同之处:

●Applet具有很好的图形界面(AWT),与浏览器一起,在客户端运行。

●JavaServlet则没有图形界面,运行在服务器端。

JavaServlet与CGI(CommonGatewayInterface)的比较:

与传统的CGI和许多其他类似CGI的技术相比,JavaServlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。

在未来的技术发展过程中,Servlet有可能彻底取代CGI。

●高效

在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。

而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)。

在传统CGI中,如果有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于JavaServlet,处理请求的是N个线程,只需要一份Servlet类代码。

在性能优化方面,Servlet也比CGI有着更多的选择。

●方便

JavaServlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。

●功能强大

在JavaServlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。

例如,JavaServlet能够直接和Web服务器交互,而普通的CGI程序不能。

Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

●可移植性好

JavaServlet用Java编写,ServletAPI具有完善的标准。

因此,为IPlanetEnterpriseServer写的Servlet无需任何实质上的改动即可移植到Apache、MicrosoftIIS或者WebStar。

几乎所有的主流服务器都直接或通过插件支持Servlet。

●节省投资

不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。

JavaServlet与JSP(JavaServerPages)的比较:

JavaServerPages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP并没有增加任何本质上不能用Servlet实现的功能。

但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。

更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:

比如,由页面设计者进行HTML设计,同时留出供JavaServlet程序员插入动态内容的空间。

1.3Struts框架

在我学习Struts框架时,我本人更愿意看到Struts的本质,其实Strurts框架就是一个核心类ActionServlet,这个类把所有请求都劫走了,然后根据请求的URL转发到相应的Action上,让Action处理相应的系统业务,表单数据由Struts替我们进行封装FormBean中,我们只需取出来进行操作。

在有Struts框架编程时我们不需要认真考虑里面的机制,而是要学会如何更好的去运用它。

如果有一天我愿意,我会在我做的项目中手动编写一个框架。

Strusts框架的基本组成如下:

1,Clientbrowser(客户浏览器)   来自客户浏览器的每个HTTP请求创建一个事件。

Web容器将用一个HTTP响应作出响应。

      2,Controller(控制器)   控制器接收来自浏览器的请求,并决定将这个请求发往何处。

   就Struts而言,控制器是以servlet实现的一个命令设计模式。

struts-config.xml文件配置控制器命令。

  3,业务逻辑   业务逻辑更新模型的状态,并帮助控制应用程序的流程。

   就Struts而言,这是通过作为实际业务逻辑“瘦”包装的Action类完成的。

  4,Model(模型)的状态   模型表示应用程序的状态。

业务对象更新应用程序的状态。

   ActionFormbean在会话级或请求级表示模型的状态,而不是在持久级。

   JSP文件使用JSP标记读取来自ActionFormbean的信息。

       5,View(视图)   视图就是一个JSP文件。

其中没有流程逻辑,没有业务逻辑,也没有模型信息——只有标记。

   标记是使Struts有别于其他框架(如Velocity)的因素之一。

  Struts中的Controller(控制器) 命令设计模式的实现:

  Struts的控制器将事件(事件通常是HTTPpost)映射到类的一个servlet.

  ActionServlet(Command)创建并使用Action、ActionForm和ActionForward.  通过struts-config.xml文件配置该Command.从而扩展Action和ActionForm来解决特定的问题。

  可以通过扩展ActionServlet来添加Command功能。

    在Struts框架中控制器组件由三个部分构成:

  1,消息控制模块;   用户所有的提交请求都发往消息控制模块,在由消息总线模块根据视图映射模块找到消息处理模块来执行处理逻辑。

   消息控制模块接收所有用户的请求,并根据请求视图找到处理。

   Strtus中通过ActionServlet和RequestProcessor类来完成。

  2,消息处理模块;   该模块执行该消息的逻辑处理,因此通常由用户扩展实现。

   Struts中通过Action类来实现。

  3,视图映射模块;   控制器逻辑和视图逻辑之间的结合是通过配置模块和配置文件建立其的链接。

   Struts中配置模块通过ModuleConfig类来完成,而配置文件由struts-config.xml文件提供。

 

  Struts中的View(视图) 视图组件通过JSP组件实现的。

Struts框架对视图组件进行了扩展和封装。

  Struts对视图的扩展提供了一组扩展服务器标签用来提供视图显示以及传递数据到处理缓冲,而处理缓冲由ActionForm的扩展类来实现。

 Struts框架利用ActionFormBean来实现视图与控制器之间的数据的交互,维持会话级或请求级的模型的状态。

   服务器标签主要包括:

  Html视图标签;  Logic逻辑流程控制标签;  Bean数据缓冲读取标签;   七,Struts中的Model(模型) 1,Struts框架中并没有定义特定的模型组件,而是希望由用户自己决定选择合理的模型组件。

  J2EE中可用的模型组件包括:

   JavaBean用户定义组件;   EJB组件,由EJB容器实现组件;   JDO未来J2EE数据访问模型;   一些扩展框架如:

Hibernate; 2,模型中状态的级别  会话级或请求级:

ActionFormbean来维持;  持久级:

模型组件来

 

第2章总体设计

2.1需求分析

本系统是新闻发布系统。

由于网站新闻需要频繁性更新,每次更新管理员都要到服务器上更新,给管理员管理网站造成不便,因这种需求本系统诞生了。

在系统开发过程中寻找需求是一件十分重要的工作,在认真分析和调查后确定了本系统的需求要求。

本系统参与者:

管理员、普通用户、浏览者。

系统功能模块:

新闻浏览

用户登陆

用户注册

用户修改信息

管理新闻

添加新闻

管理用户

注销

图2-1

2.2数据库设计

数据库命名为mynews,三张表user,news,admin。

User表字段(username,password,phone,qq)

图2-2

News表字段(id,title,author,message,post_time,username)

图2-3

Admin表字段(username,password)

图2-4

 

2.3功能模块简介

Ø新闻浏览

首页显示网站所有新闻列表,根据新闻的数量分页,网站顾客可以自由浏览新闻。

Ø用户登陆

用户登界面,用户需根据自己的类型(普通用户,管理员)进行选择性登陆,登录时需要填写验证码。

注意本系统部分功能只有在登陆后才被激活,且不同用户类型登陆后所具有的功能也不同。

图2-5是用户登录用例图

图2-5

Ø用户注册

注册模块仅服务于普通用户,在网站上注册的用户身份仅是普通用户,管理员需到服务器注册信息。

图2-6新用户注册状态图

图2-6

Ø用户修改信息

普通用户登陆后才能修改自己的信息,为了确保系统安全系统管理员不能在客户端修改信息,必须到服务器数据库直接修改信息。

图2-7用户修改信息序列图

图2-7

Ø管理新闻

用户登陆后此模块被激活,为了确保其他用户在本站的利益,用户仅可以管理自己的新闻,管理新闻包括(删除,修改),系统管理员可以管理所有用户发表的新闻。

图2-8用户管理新闻用例图

图2-8

Ø添加新闻

用户登录后可以发布新闻,发布的新闻将在系统首页新闻列表中显示出来,用户在发表新闻时若不填写作者,系统默认当前用户为作者。

发表时间不用填写,由系统根据服务器时间默认。

Ø管理用户

此模块专属于系统管理员,系统管理员登陆后,可以查看本系统存在的所有普通用户的信息,信息包括(用户名,密码,联系电话,即时通信QQ)。

管理员可以根据需要,对系统中的任何用户进行封号处理。

图2-9管理员管理用户用例图

图2-9

Ø注销

当用户登录后,不再进行操作时,为了减少服务器资源的浪费和自身账户的安全性,可以进行注销。

2.4框架的应用

使用struts框架需要搭建环境

Ø拷贝strutslib下的所有jar到WEB-INF/lib下

Ø修改web.xml文件,配置ActionServlet

●指定struts-config.xml的位置

●ActionServlet的日志输出等级

●配置Apache的第三方组件的日志输出等级

●当Tomcat启动的时候执行ActionServlet的初始化方法

Ø提供struts-config.xml文件

Ø应用struts创建登录项目

Ø创建jsp页面(login.jsp,success.jsp,error.jsp)

Ø创建LoginActionForm.java,做数据收集的。

属性名与表单元素名一致

Ø创建LoginAction.java

Ø配置struts-config.xml文件

ØActionServlet

●由Struts提供:

org.apache.struts.action.ActionServlet

●是一个Servlet,需要在web.xml中配置

ØActionForm

●封装页面提交的数据

●继承自org.apache.struts.action.ActionForm

●需要在struts-config.xml中配置

●与JSP的交互:

从页面获取数据loginActionForm.getUsername();发送数据到页面request.setAttribute("username",username);

ØAction[****Action.java]

●封装一类客户操作

●继承自org.apache.struts.action.Action,实现execute方法

●需要在struts-config.xml中配置

Østruts-config.xml

●配置FormBean和ActionBean

●服务器启动时,Struts装载struts-config.xml信息

服务器启动后,根据web.xml加载ActionServlet读取struts-config.xml文件内容到内存。

  输入用户名密码提交表单、提交到action属性的login.do,通过ActionServlet读struts-config.xml文件找到action下的path属性找到.do,通过name属性找form-beans中的form-bean的name属性得到ActionForm的包名类名,先实例化form,把表单的值填充给form,调用form的validate方法验证、ActionErrors返回null表示验证通过,否则失败返回input指定的页面.验证通过会实例化Action,执行Action的excute方。

整个项目的Struts-config.xml配置文件代码:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstruts-configPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.3//EN"

"struts-config_1_3.dtd">

第3章详细设计

第3章详细设计

3.1新闻显示功能

首页(index.jsp)负责显示新闻列表,点击新闻标题将显示出新闻详细内容,新闻标题上加有链接,链接到showNewsDeatil.Jsp页面,此页面负责显示新闻详细内容(标题,发表时间,内容,作者)。

根据新闻条数NewsTurnPageAction.java负责新闻列表分页,点击“上一页”“下一页”实现分页。

新闻内容都存与UserBean的实例化对象user中,数据封装好后存放到session中供用户读取。

3.2用户注册功能

register.jsp页面负责提交新用户注册信息,信息提交给Struts,有RegisterActionForm.java把表单数据接收过来封装,Regist

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

当前位置:首页 > 成人教育 > 专升本

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

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