第一章需求分析随着网络的飞速发展和普及,越来越多的用户习惯上网浏览新闻。
本系统的主要目的就是为用户提供一个方便、及时的网上新闻发布、浏览平台。
利用本系统,用户可以直接在网上发布新闻信息并根据自己的需要对新闻进行浏览、检索、增加、或修改。
本系统遵循软件工程标准,并按照软件工程规定的流程进行项目的开发。
1.1 安全需求由于使用JSP编写的程序代码隐蔽,在客户端仅可以看到由JSP输出的动态HTML 文件,因此只要编写程序时注意严谨性,防止SQL注入和cookies欺骗,整个系统的安全就能得到保障,同时也能防止别人抄袭源代码。
本系统的管理员可以有多名,为防止暴力猜解密码,在设计后台登陆模块时需考虑验证码的设计。
使用Tomacat6.0为系统地发布平台,发布方便,安全可靠性比较高。
1.2 性能需求Tomacat 可以免安装,体积小,运行效率高。
能很方便的在Windows 和Linux 系统下发布。
同时使用MySql5.0 数据库,安装方便,而且免费使用,MySql 在Windows XP以及Linux下都能被良好的支持。
而JSP不但可以用Eclipse,也可以用Dreamweaver 编辑,甚至记事本等文本编辑工具即可编写,因此对系统运行环境非常低,小型服务器和家用电脑均可作为本系统运行环境。
1.3 功能需求本新闻发布系统将实现以下几个功能(1)查看新闻功能:任何用户均可以使用查看新闻功能。
查看新闻功能在首页显示最新新闻,用户可点击文章标题查看新闻的详细内容,可以点击新闻的类别进入分类列表。
(2)站内新闻检索功能:任何用户均可以使用新闻搜索功能。
在新闻查看页面上,用户可以通过在单选按钮中选择检索方式,如新闻标题,关键字,或者正文,然后输入检索条件搜索符合新闻。
这里提供的是模糊搜索功能,即只要在查询字段只能感包含用户输入的关键内容就认为是符合查询条件的记录。
查询结果同样以分页的方式显示。
(3)新闻点击率统计: 通过计数器对用户对新闻的点击进行统计,实时显示新闻的点击率。
(4)管理员登录功能:当用户需要使用新闻管理功能时,需要先以管理员身份登录系统。
在地址栏中输入管理员登录页面的地址,进入管理员登录页面。
用户在登录页面输入用户名和密码以及随机产生的验证码,若登录失败,则清空输入,并简要显示错误原因,管理员登录页面等待下一次登录。
(5)新闻类别管理:管理员登录后,可以对新闻的类别进行添加修改删除操作。
(6)新闻发布功能:获得权限的用户可以使用发布新闻功能。
用户通过在系统菜单栏上单击“添加新闻”项可以进入发布新闻页面。
发布新闻时,需要填写新闻的标题和内容,发布时间取当前系统时间,不需要用户填写。
(7)新闻管理功能:当用户作为管理员登录系统后,可以进行新闻管理操作,包括对现有新闻的修改和删除。
在管理页面上,用户可以通过单击每条记录右侧的“编辑”和“删除”超链接来进行操作。
当管理员的本次维护工作结束后,可通过单击“退出”超链接来注销管理员身份。
(8)评论功能:任何用户在输入标题和个人名称后可对新闻进行评论,用户可以查看所有评论,管理员可以查看和删除评论。
第二章系统开发模式及技术2.1 JSP 简介JSP(Java Server Pages) 是一种建立在Servlet 规范提供的功能之上的动态网页技术,和ASP类似,他们都是在通常的网页中嵌入脚本代码,JSP文件中嵌入的是Java代码和JSP标记。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
2.2 JSP 的特点JSP技术在多个方面加速了动态Web页面的开发,具有以下特点。
(1) 将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格) 。
(2) 强调可重用的组件绝大多数JSP 页面依赖于可重用的,跨平台的组件( JavaBeans 或者EnterpriseJavaBeansTM 组件)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3) 采用标识简化页面开发Web 页面开发人员不会都是熟悉脚本语言的编程人员。
JavaServerPage 技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
标准的JSP 标识能够访问和实例化JavaBeans 组件,设置或者检索组件属性,下载Applet ,以及执行用其他方法更难于编码和耗时的功能。
(4) 健壮性与安全性由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译为JavaServlet,JSP 页面就具有Java技术的所有好处,包括健壮的存储管理与安全性•(5) 良好的移植性:作为Java平台的一部分,JSP拥有Java编程语言"一次编写,隋处运行”的特点。
(6) 企业级的扩展性和性能:当与Java2平台、企业版(J2ee)和EnterpriseJavaBeans 技术整合时,JSP页面将服务器JSP页面中的程序代码的识别就是依靠一些基本指令完成2.3 JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets ,来圭寸装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets 访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
2.4访问WEB数据库常见技术目前在WINDOW环境下有多种访问WEB^据库的技术,主要有:(1) 公共网关接口CGI(Common Gateway In terface)CGI是较早实现的技术。
适用于多种服务器平台,如UNIX WINDOW等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。
(2) INTERNET 数据库连接器IDC(Internet Database Connector)IDC集成在ISAPI(Internet Server API) 中,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。
(3) 先进数据库连接器ADC(Advanee Database Connector)ADC提供了ActiveX Control 来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。
(4) JAVA/JDBC语言编程JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。
用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。
(5) 动态服务器页面JSP(Active Server Page)JSP是微软公司推出的WEB^用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的非常好的选择。
2.5 本系统采用的数据库访问技术本新闻发布系统使用JDBC 访问MySql 数据库,JDBC( Java Data Base Connectivity,java 数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/ 数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix 数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC 结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java 语言“编写一次,处处运行”的优势。
Java 数据库连接体系结构是用于Java 应用程序连接数据库的标准方法。
JDBC 对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
访问并操纵数据库服务器中的数据。
JDBC由JSP技术支持,其数据库访问模型如下图所示。
表 1 S JDBC APIJDBC驱动程序API公开的协议专有的数据库JDBC实现选择访问协议图2-1 采用JDBC技术实现数据库访问模型2.6 B/S开发模式B/S结构,即Browser/Server-- 浏览器/服务器结构,浏览器发送请求而服务器应答请求。
其工作原理如下图2-2 B/S 结构的三层模型前台通过IE、Firefox等浏览器向Web服务器发送HTTP请求,web服务器通过JSP和一些中间件访问后台数据库,并将操作的结果以HTML页面的形式返回给前端的浏览器。
比与C/S模式,采用B/S模式用户的操作更加简单,不像C/S需要在客户端进行客户端程序,只需要一个通用浏览器即可完成数据的请求与接收,大幅的减少了客户端的维护工作。
同时,B/S模式使用的技术是In ternet的Web技术,因而更适合于网上的信息发布。
第三章总体设计因为网络中新闻发布的频率非常高,如果没有一个高效的新闻发布管理系统,则维护工作将非常繁琐,浪费很多时间和精力。
通过使用新闻发布系统,管理员只需设置标题、内容和图片等新闻,系统将自动生成对应的网页,使新闻发布和管理变得很轻松。
而对于前台界面,为适应多个用户的需求,必须达到友好,方便,简洁,易用的特点。
本文将根据前期的需求分析,对新闻发布系统进行总体设计。
3.1 系统功能描述新闻发布系统包括新闻类别管理、新闻发布管理、新闻搜索、留言评论管理等模块。
具体描述如下:(1 )新闻类别管理:a. 新闻类别的添加;b. 新闻类别的修改;c. 新闻类别的删除;(2) 新闻发布管理:a. 基本新闻信息的发布,包括新闻标题、新闻内容等;b. 基本新闻信息的修改;c. 基本新闻信息的删除;(3) 新闻统计模块a. 对点击次数的统计b. 根据点击次数排除点击排行榜c. 根据发布时间的先后时间排出最新文章(4) 新闻搜索模块:a. 按照新闻标题搜索;-b. 按照新闻内容搜索。