版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、长江师范学院本科毕业设计基于WEB的新闻发布系统的设计与实现 页目录TOC o 1-4 h u HYPERLINK l _Toc6760 第1章前言 PAGEREF _Toc6760 1 HYPERLINK l _Toc1411 第2章系统概述 PAGEREF _Toc1411 1 HYPERLINK l _Toc28071 2.1 设计模式 PAGEREF _Toc28071 1 HYPERLINK l _Toc11659 2.1.1 MVC模式基本原理 PAGEREF _Toc11659 2 HYPERLINK l _Toc26337 2.2.2 MVC Model1 PAGEREF _T
2、oc26337 3 HYPERLINK l _Toc27一五0 2.2.3 MVC Model2 PAGEREF _Toc27一五0 3 HYPERLINK l _Toc17517 2.3 小结 PAGEREF _Toc17517 4 HYPERLINK l _Toc30028 第3章系统设计 PAGEREF _Toc30028 4 HYPERLINK l _Toc8111 3.1 系统总体设计 PAGEREF _Toc8111 4 HYPERLINK l _Toc12981 3.1.1 系统构架 PAGEREF _Toc12981 4 HYPERLINK l _Toc101一八 3.1.2系
3、统类设计 PAGEREF _Toc101一八5 HYPERLINK l _Toc21011 3.2 视图层设计 PAGEREF _Toc21011 6 HYPERLINK l _Toc16217 3.2.1 前台设计 PAGEREF _Toc16217 6 HYPERLINK l _Toc22771 3.2.2 后台设计 PAGEREF _Toc22771 6 HYPERLINK l _Toc12116 3.3 模型层设计 PAGEREF _Toc12116 7 HYPERLINK l _Toc1一三48 3.3.1 前台显示和用户登录 PAGEREF _Toc1一三48 7 HYPERLIN
4、K l _Toc14297 3.3.2 新闻管理 PAGEREF _Toc14297 7 HYPERLINK l _Toc17647 3.3.3 栏目管理 PAGEREF _Toc17647 8 HYPERLINK l _Toc10544 3.4 控制层设计 PAGEREF _Toc10544 8 HYPERLINK l _Toc19087 3.4.1 用户登录 PAGEREF _Toc19087 8 HYPERLINK l _Toc27一三1 3.4.2 新闻管理 PAGEREF _Toc27一三1 8 HYPERLINK l _Toc30545 3.4.3 栏目管理 PAGEREF _To
5、c30545 8 HYPERLINK l _Toc27124 3.5 数据库设计 PAGEREF _Toc27124 8 HYPERLINK l _Toc27079 3.5.1 数据库概念设计 PAGEREF _Toc27079 8 HYPERLINK l _Toc11270 3.5.2 数据库表设计 PAGEREF _Toc11270 9 HYPERLINK l _Toc一三64 3.6 数据库连接设计 PAGEREF _Toc一三64 10 HYPERLINK l _Toc10685 3.6.1 传统的数据库连接 PAGEREF _Toc10685 10 HYPERLINK l _Toc1
6、4902 3.7 小结 PAGEREF _Toc14902 一三 HYPERLINK l _Toc91一八 第4章系统实现 PAGEREF _Toc91一八一三 HYPERLINK l _Toc6940 4.1 视图层实现 PAGEREF _Toc6940 一三 HYPERLINK l _Toc19695 4.1.1 公共页面 PAGEREF _Toc19695 一三 HYPERLINK l _Toc5一八3 4.1.2 前台实现 PAGEREF _Toc5一八3 一五 HYPERLINK l _Toc30441 4.1.3 后台实现 PAGEREF _Toc30441 16 HYPERLIN
7、K l _Toc30795 4.2 模型层实现 PAGEREF _Toc30795 一八 HYPERLINK l _Toc一五993 4.2.1 新闻显示 PAGEREF _Toc一五993 一八 HYPERLINK l _Toc31140 4.2.2 新闻管理 PAGEREF _Toc31140 19 HYPERLINK l _Toc6385 4.2.3 栏目管理 PAGEREF _Toc6385 19 HYPERLINK l _Toc6863 4.3 控制层实现 PAGEREF _Toc6863 19 HYPERLINK l _Toc162一八 4.3.1 用户登录 PAGEREF _To
8、c162一八20 HYPERLINK l _Toc14073 4.3.2 新闻管理 PAGEREF _Toc14073 20 HYPERLINK l _Toc一三641 4.3.3 栏目管理 PAGEREF _Toc一三641 21 HYPERLINK l _Toc3069 4.4 小结 PAGEREF _Toc3069 21 HYPERLINK l _Toc20324 第5章系统运行测试 PAGEREF _Toc20324 21 HYPERLINK l _Toc14681 5.1 系统测试环境 PAGEREF _Toc14681 21 HYPERLINK l _Toc32500 5.1.1
9、系统测试硬件环境 PAGEREF _Toc32500 21 HYPERLINK l _Toc996 5.1.2 系统测试软件环境 PAGEREF _Toc996 21 HYPERLINK l _Toc4927 5.2 系统测试 PAGEREF _Toc4927 22 HYPERLINK l _Toc27735 总结 PAGEREF _Toc27735 23 HYPERLINK l _Toc26242 参考文献 PAGEREF _Toc26242 24 HYPERLINK l _Toc22235 致谢 PAGEREF _Toc22235 25 HYPERLINK l _Toc23474 附录 P
10、AGEREF _Toc23474 26伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上出现了第三媒体Internet。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。随着Internet信息技术的高速发展,越来越多的企业想将自己企业的信息通过网络与全世界分享并最终实现电子商务,所以它们已经建立或计划建立自己的网站。但是,
11、如果为了建立和维护自己的网站而聘请专职的网络技术人员,其成本对于一个中小型企业来说实在是太高了。对于上面这类企业来说,他们最需要的就是一个现成的可以自动发布信息的新闻发布系统,这样只要会打字,会上网就能利用新闻发布系统快速简洁地发布企业信息。然而传统的信息发布方式已经不适应这个快速变化的信息时代,需要一个更高效,更简洁的方式进行信息发布。内容管理系统正是基于这样一个目的而诞生的,它是企业信息化建设和电子政务的新宠。它的基本思想是分离信息内容和表现形式,内容存储在数据库或独立的文件中,而表现形式存储在模版里。当用户请求页面时,各部分联合生成一个标准的HTML页面;当信息修改时,用户只需在一个可视
12、化的界面对信息内容进行修改。大大缩短了信息的更新时间,提高了效率,并且简化了操作。本设计便是基于内容管理思想的一个新闻发布系统,以下各章从系统概述、需求分析、系统设计、系统实现、系统运行测试和系统评价与改进依次展现系统开发过程。本章主要介绍在系统开发过程中所采用系统设计模式。2.1 设计模式随着Web技术的发展,Web内容从一些静态页面发展到内容丰富的动态页面。目前,用于生成动态网页较为流行的技术有Microsoft的ASP、Tex的PHP和Sun的JSP。ASP只能工作在微软的IIS(Internet Information Server)和PWS(Personal Web Server)上
13、及PHP模式,一些天生缺陷使得它们的使用受到了一定的制约。而JSP是一种完全与平台无关的开发新技术,它集极高的运行效率,较短的开发周期,超强的扩展能力,完全开放的技术标准,自由的开发方式等众多完美特性于一身。JSP+JavaBean+Servlet+JDBC是一套能够实现动态网站的开发和维护的技术。JDBC用于连接数据库并对数据库进行存储,Servlet用于处理过程控制,JavaBean用于封装业务逻辑,JSP用于页面显示部分。而MVC正是这种设计模式代表。2.1.1 MVC模式基本原理MVC (Model-View-Controller),即把一个应用的输入、处理、输出流程按照Model,
14、View, Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层,其三层之间的关系和功能如图2-1“MVC组件类型关系和功能图”。图2-1MVC组件类型关系和功能图MVC设计模式的典型流程4为:首先Controller接收用户的请求,并决定应该调用哪个Model来进行处理,然后Model用业务逻辑来处理用户的请求并返回数据,最后Controller用相应的View格式化Model返回的数据,并通过表示层呈现给用户。控制层(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉我们,它就是一
15、个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个链接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型层(Model)就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心,必须能够满足大多数客户的需求,包括保证应用程序各组件的事务整合、维护并快速获取应用数据,支持事务工作流的协调以及在
16、已有应用程序中集成新的应用组件等。MVC并没有提供模型的设计方法,而只告诉我们应该组织管理这些模型,以便于模型的重构和提高重用性。视图层(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML,XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。2.2.2 MVC Model1在MVC模式的Model1体系中,JSP页面独立响应请求并将出理结果返回客户,所
17、有的数据存取都是由JavaBean来完成。Model1体系十分适合简单应用需要,却不能满足复杂的大型应用程序的实现。MVC Model1的体系结构如图2-2所示。图2-2MVC Model1体系结构图2.2.3 MVC Model2MVC模式的Model2体系结构是一种把JSP与Servlet联合起来实现动态内容服务的方法。它吸取了两种技术的优点,用JSP生成表达层的内容,让Servlet完成深层次的处理任务。这是一种有代表性的方法,它清晰地分离了表达和内容,明确了角色的定义及开发者与网页设计者的分工。本系统的设计模式选择的便是Model2。MVC Model2的体系结构如图2-3所示。图2-
18、3MVC Model2体系结构图2.3 小结本章对MVC设计模式基本原理进行了详细阐述,并介绍了MVC的两种不同的模式Model1和Model2,并确定本系统的设计模式便是MVC Model2。根据上一章的需求用例分析,本章从先总体构架的角度对系统进行总体设计,然后根据MVC三层模式对系统进行详细设计,最后对系统数据库和数据库连接池进行了设计。3.1 系统总体设计3.1.1系统构架系统基于MVC Model2设计模式,设计出本系统自己的设计模式,在MVC Model2基础上加入数据库连接池模块层对数据库操作进行封装。具体模式图如图3-1。图3-1系统设计模式图对于MVC设计模式,在本系统中具体
19、实现方式是:Model由JavaBean完成,View由JSP完成,Controller由Servlet完成,再加上数据库连接池专门负责数据库连接和管理。本系统具体构架如图3-2。图3-2系统构架图3.1.2系统类设计在本系统中,根据对系统需求的分析,可以总结出如下的需求集: (1)系统应该分为前台和后台;(2)系统前台应该可以显示新闻栏目和新闻以及用于管理员登录系统后台的登录界面;(3)一般用户应该可以在前台自由浏览新闻,包括选择性地浏览新闻即先选择新闻栏目再浏览新闻栏目下的新闻条目;(4)注册用户可以发表相关新闻的评论;(4)系统管理员应该可以登录到系统后台;(5)系统管理员应该可以对新闻
20、栏目和新闻进行查看、修改、删除和添加操作,也可以对注册用户管理,同时还可以对相关新闻的评论进行管理。由以上需求集进一步分析可知:(1)“新闻栏目”和“新闻”为系统的两个主要内容,所以应该分别作为一个类,而新闻栏目和新闻的显示需要管理类进行管理,系统管理员要对栏目和新闻进行查看、添加、修改和删除,也需要相应的管理类进行管理,所以,系统对于新闻栏目和新闻分别需要“栏目管理类”和“新闻管理类”;(2)系统中应该要有超级管理员、管理员、注册用户等角色,超级管理员是最高权限的,管理员是超级管理员发放的,注册用户是前台注册产生的。(3)系统要保存信息,必须用到数据库,所以需要一个数据库连接的类;(4)要将
21、系统的各个功能执行成功,少不了相应的控制类。因此,识别出系统主要的类:新闻管理类(NewsJdbc),栏目管理类(NewclaJdbc),用户管理类(RoleJdbc),评论管理类(Pingl)数据库连接的连接对象类(JdbcConn)以及各个Servlet类。3.2 视图层设计3.2.1前台设计当一个用户浏览新闻系统时,首先进入系统前台界面。如果把一个系统比作一个人,那么前台界面则是这个人的脸,因此系统的前台界面的设计是比较重要的,并且,前台界面应该被设计得比较简洁,方便。首先,在本系统的前台界面的顶部用户可以看到一个专为注册用户提供的登录入口,为用户提供了方便。而对于一般用户来说,他们也不
22、会感觉这有何不妥,因为此登录界面比较简洁,并不会影响用户正常地阅读新闻。其次,在登录界面的下方是新闻栏目的显示,显示系统新闻栏目数据库中已有的新闻栏目,一目了然,用户可以方便地找到自己喜欢和关心的新闻所在的栏目。再次,在新闻栏目的下方则是新闻条目的显示,默认的新闻条目的显示方式是以表格的形式将系统新闻数据表中的新闻按发布时间进行列表(发布较早的新闻被放在列表的后面,而发布较迟的新闻被放在列表的前面,体现了新闻的“新”,即“时效性”)。新闻列表中仅显示新闻的标题,发布时间和新闻作者,如果想浏览整篇新闻,用户可以点击新闻标题(超链接)。然后,用户可以对自己比较关心和感兴趣的新闻进行有选择性地浏览,
23、这时新闻栏目便起作用了。当用户点击新闻所在的栏目时,系统在新闻列表中只显示本栏目的新闻条目。用户可以在此浏览自己关心和感兴趣的新闻。3.2.2后台设计 后台主页面设计当用户登录到系统后台时,他便成为系统管理员,可以执行对新闻和栏目的查看、修改、删除和添加。此界面主要是面向管理员的,界面要设计得简洁方便,使得系统管理员在管理系统时容易操作。当管理员用户登录到系统后台时,呈现到他眼前的是系统后台管理的主页面:首先,系统后台主页面左上角是欢迎词(欢迎+用户级别+管理员名),对于管理员,他可以感觉到系统的人性化;对于系统本身,系统可以识别此时登录的是哪个管理员,可以分配管理员的权限。其次,欢迎词下方是
24、系统管理的功能选择,一目了然,管理员可以在此选择要操作的模块进入,然后执行相应的操作。再次,再往下就是系统新闻列表,与前台新闻显示类似,只是多了对新闻的操作(修改和删除)。管理员可以在此对系统已有的新闻进行修改和删除操作。 添加新闻设计如果系统管理员在系统后台主页面中选择“添加新闻”,管理员会进入下图这样一个页面进行新闻的添加,添加完新闻标题和新闻正文内容后,还必须选择所添加新闻所属的新闻栏目。确认所有内容均已填好,点击“发表”按钮,新闻发布工作完成,如果点击“清除”按钮,则系统清除管理员刚才的所有输入,让管理员重新填写新闻的各项内容。管理员可以在系统后台主页面中看到刚刚发表的新闻,可以对其进
25、行相关操作。 栏目管理设计如果系统管理员在系统后台主页面中选择“栏目管理”,系统将链接到新闻栏目管理页面。栏目管理页面上有一些链接按钮,可以让管理员链接到其他页面。链接按钮下面是系统已有新闻栏目的列表,在此,管理员可以对新闻发布系统的栏目进行操作(编辑和删除栏目)。如果管理员想要添加新闻栏目,只需点击“添加栏目”,就可以被链接到添加新闻栏目页面,添加栏目完成后,管理员可以在栏目管理主页面的栏目列表中找到新添加的栏目,并对其进行相关操作。3.3 模型层设计本系统模型层由JavaBean完成,模型层设计主要设计出完成各个功能模块中模型层的JavaBean类。模型层的类主要新闻管理类NewsJdbc
26、以及栏目管理类NewclaJdbc。3.3.1前台显示和用户登录在前台显示和用户登录模块中,充当模型层的是News和Newcla根据系统分析中的系统前台需求用例分析和上述的前台界面功能描述,对系统的前台的每一个流程、每一个模块进行详细功能设计。3.3.2新闻管理管理员在系统后台主界面中可以对已有新闻进行管理(修改、删除和添加),新闻管理模块中充当模型层的仍然是News和Newcla。3.3.3栏目管理栏目管理中可以对已有栏目的编辑、删除以及添加新栏目。3.4 控制层设计3.4.1用户登录当用户通过系统前台提供的登录入口登录后台系统时,系统将用户的登录信息提交给登录控制层处理。所以登录控制器必须
27、对用户登录信息进行识别,判断其是否有权限登录到后台系统。用户登录控制器由LoginServlet完成。3.4.2新闻管理新闻管理中主要涉及到新闻信息的添加、删除和修改,所以其控制层由NewsServlet完成。3.4.3栏目管理栏目管理模块主要对新闻栏目进行修改、删除和添加,此功能模块控制层由NewclaServlet完成。3.5 数据库设计3.5.1数据库概念设计根据上面的数据库需求分析,就可以构造出各种实体,以及并根据它们的关系绘制出实体间的E-R图,为以后的逻辑设计打下基础。如图3-1为本新闻发布系统实体间的E-R图。图3-3实体之间关系的E-R图3.5.2数据库表设计数据库逻辑设计完毕
28、后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型。本系统使用Mysql数据库。新闻发布系统的数据库中各表的设计结果如下面几个表所示。图3-4新闻栏目表图3-5新闻表图3-6用户表图3-7评论表3.6 数据库连接设计3.6.1传统的数据库连接传统的数据库连接模式基本上是按以下步骤进行:在主程序(如Servlet、Beans)中建立数据库连接;进行SQL操作,取出数据;断开数据库连接。本系统也是才用此链接方式,连接类JbdcConn.Java代码如下:package com.newsinfo.db;import java.sql.Connection;import ja
29、va.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcConn private JdbcConn()statictry /1.加载数据库连接驱动Class.forName(com.mysql.jdbc.Driver); catch (ClassNotFoundException e) e.printStackTrace();public static Connection getConn()/2.创建数据库的连接
30、Connection conn = null;try conn = DriverManager.getConnection(jdbc:mysql:/:3306/data,root,123);System.out.println(连接数据库成功!); catch (SQLException e) e.printStackTrace();return conn;/释放资源public static void free(Statement st , ResultSet rs , Connection conn)try if(rs != null)rs.close();rs = null; catch
31、 (SQLException e) e.printStackTrace();finally try if(st != null)st.close();st = null; catch (SQLException e) e.printStackTrace();finallytry if (conn != null)conn.close();conn = null; catch (SQLException e) e.printStackTrace();3.7 小结本章首先进行了系统总体设计,接着按照MVC设计模式的三层结构根据系统需求用例对新闻发布系统功能进行设计,最后设计出系统的数据库并对数据库
32、连接进行了相应的设计。通过本章,系统设计出了用来完成系统用例的业务功能模型以及完成各个用例的类。根据上一章的设计思路设计用来完成系统用例的业务功能,整个系统按照MVC模式的三个部分以及数据库连接池进行编码实现,分为视图层、控制层、模型层和数据库连接池。由于系统实现的代码量较大限于篇幅,文中仅显示部分代码。4.1 视图层实现在系统其它视图层部分实现之前,先对那些常用的公共页面模块部分实现。4.1.1公共页面top.jsp中包含了其它页面常用到的页面头部的设计。具体代码如下:欢迎进入长江师范学院新闻网设为主页加入收藏 首页 % NewclaJdbc nj=new NewclaJdbc(); Lis
33、t cla=nj.selcetFenlei(); for(Newcla one:cla) % a href=news.jsp?cla= 会员注册footer.jsp中包含了其它页面常用到的页面尾部的设计。具体代码如下: xxzkmy2010 x:曾晓龙 管理入口 联系地址:长江师范学院邮编:408100 QQ:359257073 本系统的CSS设计了两个CSS样式表(css.css、sc.css)它主要设置页面中显示的Body结构的样式、超链接A的样式、页面中表格Table样式等的设置。CSS样式表可以使系统整体风格一致。4.1.2前台实现系统前台视图层由index.jsp实现。index.j
34、sp仅负责显示新闻栏目和系统已有新闻以及为管理员用户提供一个登录入口。index.jsp页面显示截图如图4-1。图4-1index.jsp页面实现截图4.1.3后台实现系统后台视图层主要由admin_news.jsp、admin_newsinsert.jsp、admin_newcla.jsp、admin_newclainsert.jsp、admin_role.jsp和admin_roleinsert.jsp组成。admin_news.jsp是系统后台主页面。其实现显示截图如图4-2。图4-2admin_news.jsp实现截图admin_newsinsert.jsp实现新闻的添加。当用户在后台
35、主页面中选择添加新闻按钮时,管理员便进入此页面。其实现截图如图4-3。图4-3admin_newsinsert.jsp实现截图admin_newcla.jsp实现新闻栏目的管理,管理员可以在此对进行新闻栏目的相关操作。其实现截图如图4-4。图4-4admin_newcla.jsp实现截图admin_newclainsert.jsp它实现栏目的添加功能。其实现截图如图4-5。图4-5admin_newclainsert.jsp实现截图admin_role.jsp实现的是对本系统用户的管理,其实现截图如图4-6。图4-6admin_role.jsp实现截图admin_roleinsert.jsp它
36、实现管理员的添加功能,其实现截图如图4-7。图4-7admin_roleinsert.jsp实现截图4.2 模型层实现模型层实现中主要给出了实现功能模块中的各类的功能函数,具体代码见附件。4.2.1新闻显示在前台页面中显示系统已有新闻,需要新闻类NewsJdbc和新闻管理类NewclaJdbc。在此模块中主要实现将新闻数据库中的新闻显示到前台页面中。实现新闻显示的功能函数如下:public List selectByNewcla(int newcla) /2.根据新闻类别显示新闻信息public List selectone(int id) /5.根据ID查询单个新闻。public List
37、selectAll()/6.查询所有新闻public List selectBySS(int newcla,int s) /7.根据条件查询某一类别、查询多少条新闻public List selecthits(int s) /8.根据点击量查询新闻public List selectNew(int s) /9.查询最新发布的新闻public void addHits(int id,int hit) /10.点击自动加一public List selectByLike(String s) /11.模糊查询4.2.2新闻管理新闻管理模块是在系统后台对已有新闻进行编辑和删除以及添加新闻。在新闻管理类
38、中如此实现新闻管理: public boolean createNews(Newsinfo ne) /1.添加新闻 public boolean updateNew(Newsinfo ne) /3.根据给出的条件,更新新闻信息 public int deleteNew(int id) /4.给出条件,删除新闻4.2.3栏目管理栏目管理模块中,主要实现新闻栏目的添加、编辑和删除。栏目管理类NewclaJdbc如下实现栏目管理功能: public List selcetFenlei()/查询所有新闻分类 public int deletecla(int id) /根据ID删除新闻分类 public
39、 boolean insertcla(Newcla cla) /添加新闻分类 public List selcetById(int id) /根据ID查询新闻分类 public boolean updateUserById(Newcla cla) /更新新闻分类4.3 控制层实现本系统的控制层由Servlet实现。这些作为控制层的Servlet接收用户的请求,并调用作为Model的JavaBean来进行处理,然后Model用业务逻辑来处理用户请求并返回数据,最后Servlet用相应的View来格式化Model返回的数据,通过表示层呈现给用户。在实现Servlet之前,首先要在Tomcat中配置
40、好Servlet运行的环境,并配置本应用程序的web.xml配置文件,其Servlet在web.xml配置的基本格式如下: XXServlet ClassPath.XXServlet XXServlet /XXServlet 在使用Servlet之前都必须在web.xml中定义好Servlet才可以正常使用。下面具体实现每个Servlet。4.3.1用户登录在此用户登录功能中,最重要的就是LoginServlet的实现。它不仅调用数据库数据,还控制页面流向。当用户在前台中提供的登录入口输入用户名和密码时,index.jsp通过Form将信息提交给LoginServlet,LoginServle
41、t获得此信息,调用数据库连接池组件查找数据库对照看是否有与LoginServlet收集到的信息匹配记录,如果有则成功登录到系统后台(admin_index.jsp),如果没有与之匹配的记录则将页面定位到登录错误页面(error.jsp)重新登录。同样也会用到LoginServlet对登录信息进行判断。(LoginServlet代码见附件)4.3.2新闻管理新闻管理功能模块中主要实现新闻的添加、修改和删除,在控制层中是由NewsSevlet实现。添加新闻、删除新闻和修改新闻控制层是由NewsServlet中的insertservlet、delservlet和upservlet方法实现。管理员在处
42、理新闻页面需要填写的内容点击“确定”按钮时,将内容通过Post方法提交给NewsServlet,NewsServlet调用对应的方法,方法调用JavaBeanNewsJdbc对新闻信息进行处理,然后将新闻信息保存到新闻数据表。4.3.3栏目管理新闻栏目管理和新闻管理大同小异,只是页面和调用的方法不同,整个处理的流程和新闻管理是一样的,这里不做详细说明。4.4 小结本章从MVC三层模式入手,通过代码的编写,基本实现了系统设计中所设计的业务功能,从而完成了系统用例所要求的功能。5.1 系统测试环境系统测试需要相应的环境,所以在系统测试之前,进行系统硬件和软件环境的配置。5.1.1系统测试硬件环境因
43、为本系统仅在本机上运行,所以需要一台PC机即可。为了系统可以正常运行,PC机配置最低配置:CPU 1.5GHz,内存256M,硬盘40G。5.1.2系统测试软件环境PC机操作系统为Windows XP或Windows Server 2003均可。PC机上必须安装并配置java运行环境JDK,本人用的JDK是jdk1.6.0_07。PC机上必须安装并可以运行JSP应用程序web服务器。本人用的web服务器是apache-tomcat-6.0.一八。5.2 系统测试因为系统比较简单,所以本人采用黑盒测试法对系统各个功能模块需求进行测试。在IE浏览器中输入 HYPERLINK x:8080/zxli
44、nfo x:8080/zxlinfo。具体测试见表5.1。测试用例ID输入预期结果实际结果测试结论OA-1进入系统前台主页浏览新闻若成功,则显示新闻列表显示新闻列表,并可以阅读新闻成功OA-2选择新闻栏目应该列出该新闻栏目的所有新闻,若没有则提示选择有新闻的栏目,可以看到新闻列表,没有新闻的栏目,显示“该栏目没有任何新闻”成功OA-3在注册用户登录入口输入用户名和密码若输入正确的用户名和密码,则登录成功,否则进入登录错误页面输入“000,000”进入系统,输入其它,进入登录错误页面,提示重新登录成功OA-4点击“个人信息查看”可以进入个人信息面板实现预期结果成功OA-5点击个人信息面板中的“修
45、改”可以对个人信息进行修改实现预期结果成功OA-6进入某个新闻页面,在发表评论的文本框中输入任意字符并提交可以发表评论实现预期结果成功OA-7在后台登录入口输入用户名和密码若输入正确的用户名和密码,则进入后台系统,否则进入登录错误页面输入“admin,admin”进入后台系统,输入其它,进入登录错误页面,提示重新登录成功OA-8进入后台浏览新闻若成功,在浏览期间可以修改和删除新闻,返回更新后的新闻信息实现预期结果成功OA-9点击“添加新闻”可以进行新闻信息的录入,完成后在新闻列表可以看到新添加的新闻实现预期结果成功OA-10点击“栏目管理”可以添加、修改和删除栏目实现预期结果成功OA-11点击
46、“用户管理”可以修改和删除用户实现预期结果成功OA-12点击“添加管理员”可以添加管理员实现预期结果成功表5-1测试用例表本文通过采用MVC三层设计模式,设计并实现了一个新闻发布系统。本新闻发布系统主要实现了新闻的后台管理,例如新闻的添加、修改和删除等功能;同时也实现了新闻栏目的管理,例如栏目的添加、修改和删除等功能。通过系统测试用例分析,达到了既定的系统设计目标。但由于时间关系和个人各方面因素,系统仍存在一定缺陷,并且有一些Java开发的新技术和思想没有加入到本系统开发中,希望在今后的学习和工作中,提高系统开发能力,做出更好的系统。1孙卫琴,李洪成.Tomcat 与 JSP Web 开发技术
47、详解M.电子工业出版社,2003.2计磊,李里,周伟.J2EE整合应用案例M.北京:人民邮电出版社,2007.3耿祥义,张跃平.JAVA2实用教程(第二版)M.北京:清华大学出版社,2004.4王夕宁,王晓平JSP通用模块及典型系统开发实例导航M北京:人民邮电出版社,20065孙卫琴精通Struts:基于MVC的Java Web设计与开发M北京:电子工业出版社,20046毕建信基于MVC设计模式的Web应用研究与实现M武汉:武汉理工大学,20067耿祥义,张跃平.Java2实用教程(3版)M.北京:清华大学出版社,2006. 8郑人杰,殷人昆,陶永雷.实用 HYPERLINK xmyeducs
48、x/shejixiazai/ 软件工程M.清华大学出版社,2005.9王珊,萨师煊.数据库系统概论(4版)M.北京.高等教育出版社,2006.10宣小平. HYPERLINK xxmyeducsx/chaxun/JSP/index.htm JSP数据库系统开发 HYPERLINK xxmyeducsx/mianfeilunwen/More.html 导航M.人民邮电出版社, 2003.11张海藩.软件工程导论(第5版)M.北京.清华大学出版社,2008.212(美)格罗夫著,章小莉等译. SQL完全手册(第二版)M北京:电子工业出版社,2006本文是我在洪刚老师的悉心指导下完成的,从论文的选题
49、、系统的开发到论文的撰写都得到了洪老师极大的帮助。他所具有的精湛的学术造诣、勤恳的工作作风和对学生认真负责的态度使我深受感动,终生难忘。在此向洪老师表示深深的敬意和衷心的感谢。同时,非常感谢学校、学院各位老师和领导对我各方面的关心与支持。感谢我的室友们对我的帮助和指点,感谢他们与我交流经验,解决一道道心理上和技术上的难关。感谢我亲人和朋友对我的理解、支持和帮助。尽管与他们为我付出的一切相比,所有的语言都显得苍白无力,我仍要真诚地说一声:谢谢!NewsinfoJdbc.java:package com.newsinfo.mag;import java.sql.Connection;import
50、java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import com.newsinfo.db.JdbcConn;import com.newsinfo.vo.Newsinfo;public class NewsJdbc ResultSet rs=null;/1.添加新闻public boolean createNews(Newsin
51、fo ne)Connection conn = JdbcConn.getConn();boolean flag = false;String sql = insert into newsinfo(newcla,title,author,content,intime) values(+ne.getNewcla()+,+ne.getTitle()+,+ne.getAuthor()+,+ne.getContent()+,+ne.getIntime()+);System.out.println(sql);try Statement st = conn.createStatement();int i =
52、 st.executeUpdate(sql);JdbcConn.free(st, rs, conn);if(i0)flag = true; catch (SQLException e) e.printStackTrace();return flag;/2.根据新闻类别显示新闻信息public List selectByNewcla(int newcla)Newsinfo ne = null;List list = new ArrayList();String sql = select * from newsinfo where newcla=+newcla+ order by id desc;
53、System.out.println(sql);Connection conn = JdbcConn.getConn();try Statement st = conn.createStatement();ResultSet rs = st.executeQuery(sql);while(rs.next()ne = new Newsinfo();ne.setId(rs.getInt(id);ne.setNewcla(rs.getInt(newcla);ne.setTitle(rs.getString(title);ne.setAuthor(rs.getString(author);ne.set
54、Content(rs.getString(content);ne.setHits(rs.getInt(hits);ne.setIntime(rs.getTimestamp(intime);list.add(ne);JdbcConn.free(st, rs, conn); catch (SQLException e) e.printStackTrace();return list;/3.根据给出的条件,更新新闻信息public boolean updateNew(Newsinfo ne)boolean flag = false;String sql = update newsinfo set n
55、ewcla = ?, title = ?, author = ?, content = ?, intime = ? where id = ?;Connection conn = JdbcConn.getConn();try PreparedStatement pst = conn.prepareStatement(sql);pst.setInt(1, ne.getNewcla();pst.setString(2,ne.getTitle();pst.setString(3, ne.getAuthor();pst.setString(4,ne.getContent();pst.setTimesta
56、mp(5, ne.getIntime();pst.setInt(6, ne.getId();int id = pst.executeUpdate();JdbcConn.free(pst, rs, conn);if(id0)flag = true; catch (SQLException e) e.printStackTrace();return flag;/4.给出条件,删除新闻public int deleteNew(int id)int i = 0 ;String sql = delete from newsinfo where id = ?;Connection conn = JdbcC
57、onn.getConn();try PreparedStatement st = conn.prepareStatement(sql);st.setInt(1, id);i = st.executeUpdate();JdbcConn.free(st, rs, conn); catch (SQLException e) e.printStackTrace();return i;/5.根据ID查询单个新闻。public List selectone(int id)Newsinfo ne = null;List list = new ArrayList();String sql = select *
58、 from newsinfo where id=+id;Connection conn = JdbcConn.getConn();try Statement st = conn.createStatement();ResultSet rs = st.executeQuery(sql);while(rs.next()ne = new Newsinfo();ne.setId(rs.getInt(id);ne.setNewcla(rs.getInt(newcla);ne.setTitle(rs.getString(title);ne.setAuthor(rs.getString(author);ne
59、.setContent(rs.getString(content);ne.setHits(rs.getInt(hits);ne.setIntime(rs.getTimestamp(intime);list.add(ne);JdbcConn.free(st, rs, conn); catch (SQLException e) e.printStackTrace();return list;/6.查询所有新闻public List selectAll()Newsinfo ne =null;List list = new ArrayList();String sql=select * from ne
60、wsinfo order by intime desc;Connection conn = JdbcConn.getConn();Statement st;try st = conn.createStatement();ResultSet rs = st.executeQuery(sql);while(rs.next()ne = new Newsinfo();ne.setId(rs.getInt(id);ne.setNewcla(rs.getInt(newcla);ne.setTitle(rs.getString(title);ne.setAuthor(rs.getString(author)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度飞机租赁与飞行员培训服务合同3篇
- 2025届江苏苏州市四校高三12月联考语文试题(学生版)
- 儿童身体协调性训练考核试卷
- 公路客运服务投诉处理与改进考核试卷
- 2025版木屋建筑工程质量保修合同示范文本4篇
- 2025版学校小卖部环保购物袋定制与销售合同2篇
- 2025年分期美食体验券购买合同
- 2025年养老保险担保合同
- 2025年婴童用品赠与合同
- 2025年仓库货物清点协议
- 中央2025年国务院发展研究中心有关直属事业单位招聘19人笔试历年参考题库附带答案详解
- 2024年09月北京中信银行北京分行社会招考(917)笔试历年参考题库附带答案详解
- 外呼合作协议
- 小学二年级100以内进退位加减法800道题
- 保险公司2025年工作总结与2025年工作计划
- 2024年公司领导在新年动员会上的讲话样本(3篇)
- 眼科护理进修专题汇报
- GB/T 33629-2024风能发电系统雷电防护
- 深静脉血栓(DVT)课件
- 2023年四川省广元市中考数学试卷
- GB/T 19885-2005声学隔声间的隔声性能测定实验室和现场测量
评论
0/150
提交评论