《新闻发布系统》论文_第1页
《新闻发布系统》论文_第2页
《新闻发布系统》论文_第3页
《新闻发布系统》论文_第4页
《新闻发布系统》论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

新闻发布系统学院专业班级学号姓名指导教师教师职称年月日摘要【摘要】随着计算机科学的发展,数据库技术在INTERNET中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今WEB应用的潮流。利用JSP技术开发的网站新闻管理系统,实现了网站新闻的动态管理,因为可以用来动态发布新闻信息,所以使得对信息的管理更加及时、高效,提高了工作效率。【关键词】STRUTS组建编程模型、ACTIONFORM的说明、样式层、持久层、服务层、控制层。目录摘要10引言31系统分析411需求分析412可行性分析42总体设计421项目规划422系统功能结构图43系统设计531设计目标532开发及运行环境533逻辑结构设计54网站总体架构641文件布局642网站首页的运行结果642类的分布85网站后台主要功能模块设计851后台登录模块设计852总管理员设置模块设计1153更改总管理员密码模块设计2354新闻信息管理2755总结326网站前台主要功能模块设计3261今日新闻的显示3262输入新闻的关键字查找新闻3463新闻人物的查看和投票367小结39附录一参考文献40附录二数据表41附录三文件架构图430引言INTERNET的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视、广播、报纸已经不再是人们茶余饭后的主要精神甜点,人们更多的开始关注网络新闻。由于互联网所容纳的信息量大、内容丰富、信息及时、准确,更有相关信息的全面的介绍与比较,大大地方便了人们的阅读,因此在短短几年的时间里,互联网便济身于众多媒体之间,并具有相当一部分媒体人群。借此东风,新闻网也迅速发展起来,它内容丰富,涉及到商业、工业、农业、银行、财政、教育、娱乐、信息等各个产业,信息量大,不仅有实事新闻,还有相关的行业信息,同时新闻网具有互联网所具备的一切特性。在全球网络化、信息化的今天,新闻网迅速发展,大大地丰富了人们的生活,不知不觉中,它已经成为人们生活中不可或缺的重要组成部分。1系统分析11需求分析通过相关调查,要求网站具有以下功能;通过网络,展示各行业新闻及相关信息。提供新闻搜索功能。设置新闻人物投票功能,并统计投票数量。支持其他网站的友情链接。为后台管理提供管理入口。12可行性分析新闻发布系统后台对新闻作了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览新闻网时分类查看新闻信息的要求,同时提供新闻信息查询功能,方便浏览者查找相关的新闻信息。新闻网后台则通过对总管理员设置和管理员添加等模块对网站管理员进行管理,保证了网站的安全性。2总体设计21项目规划新闻网是一个功能完善的新闻类网站,由客户前台新闻浏览和后台新闻管理两大部分组成。前台功能模块前台主要包括新闻分类、显示新闻详细信息、新闻信息查询、新闻人物投票、友情链接、提供后台登录口。后台管理模块后台主要包括后台总管理员设置及密码修改、添加管理员、管理员信息设置、新闻类型管理、新闻详细类型管理、新闻信息管理、链接管理、新闻人物管理、退出后台。22系统功能结构图新闻发布系统前台功能结构,如图1所示。图1新闻网前台功能结构图新闻网后台功能结构,如图2所示。新闻网前台功能结构新闻分类新闻详细信息新闻信息查询新闻人物投票友情链接后台登录口图2新闻网后台功能结构图3系统设计31设计目标本网站是根据各行业新闻信息分类进行开发设计的,主要实现如下目标分类展示各行业新闻。显示新闻的详细信息。设置新闻搜索功能模块。设置新闻人物投票及投票数统计功能。提供其他网站的友情链接。32开发及运行环境硬件平台CPUP418GHZ;内存256MB以上。软件平台操作系统WINDOWS2000;数据库SQLSERVER2000;开发工具包JDKVERSION141;WEB服务器TOMCAT;浏览器IE50,推荐使用IE60;分辨率最佳效果1024768像素。33逻辑结构设计本系统数据库采用SQLSERVER2000数据库,系统数据库名称为DB_NEWS。数据库DB_NEWS中包含7张表。关于数据库中的数据表请参见附录B4网站总体架构41网站首页的运行结果网站前台首页的运行结果如图5所示。新闻网后台功能结构总管理员设置总管理员修改密码添加管理员管理员信息设置新闻类型管理新闻详细类型管理新闻信息管理新闻人物管理链接管理退出后台图5网站前台首页运行结果网站框架图说明如下表1网站前台首页页面说明区域名称说明对应文件1网站导航主要展示网站的旗帜广告和站内导航条TYPENEWWATCHDO2功能模块主要用于显示导航模块中的功能LINKSELECTDO3内容显示主要用于显示功能模块中的内容DATENEWSDOTYPE今日新闻网站后台首页的运行结果如图6所示。图6网站后台首页运行结果网站后台首页中的各部分说明如表2所示。表2网站后台首页页面说明区域名称说明对应文件1网站导航主要展示网站的旗帜广告和站内导航条TYPETOPACTIONDO1232132功能模块主要用于显示导航模块中的功能LEFT_MAINJSP3内容显示主要用于显示功能模块中的内容RIGHT_MAINJSP42类的分布新闻发布系统是利用STRUTS框架实现的,新闻发布系统中类的分布如图7所示。图7类的分布类存放的文件夹功能如表3所示。表3类存放的文件夹功能列表名称功能持久层DAO文件夹各种方法(增加、删除、修改和查询)的实现样式层DOMAIN文件夹所存放的类是ACTIONFORM类,在类中必须要继承ACTIONFORM(也就是ENTENDSACTIONFORM)服务层SERVER文件夹存放的DAO层功能的业务的类控制层WEBTIER文件夹存放在JSP页面中存在的方法实现的类工具层TOOL文件夹类名为JDBCONNECTIONJAVA(连接数据库的功能)、类名为CHINESEJAVA(字符级转换的类)、类名为SESSIONLIB(用来存在SESSION变量)5网站后台主要功能模块设计51后台登录模块设计在新闻发布系统中,后台管理员分为两种一个是普通管理员,他可以对新闻类型进行定义,也可以发布新闻、设置投票人数及网站链接;另一个是总管理员,他除了可操作以上功能外,还可以对普通管理员进行设置,总管理员和普通管理员都能通过后台登录页面登录后台。在前台单击“进入后台”超链接,即可进入到后台登录页面,如图8所示。持久层样式层前台控制层服务层后台控制层工具层图8后台登录页面1样式层的类具体代码如下/MANAGERACTIONFORMJAVA/PACKAGECOMVICTORDOMAINIMPORTORGAPACHESTRUTSACTIONPUBLICCLASSMANAGERACTIONFORMEXTENDSACTIONFORMPRIVATEINTEGERMANAGERID/在数据库中的流水号PRIVATESTRINGMANAGERISSUEDATE/管理员添加日期PRIVATESTRINGMANAGERMARK/管理员的标示PRIVATESTRINGMANAGERNAME/管理员帐号PRIVATESTRINGMANAGERPASSWORD/管理员密码PRIVATESTRINGMANAGERREALNAME/管理员的真实姓名PRIVATESTRINGMANAGERTYPE/管理员的权限PUBLICMANAGERACTIONFORMTHISMANAGERIDNEWINTEGER1THISMANAGERISSUEDATE“THISMANAGERMARK“THISMANAGERNAME“THISMANAGERPASSWORD“THISMANAGERREALNAME“THISMANAGERTYPE“PUBLICINTEGERGETMANAGERIDRETURNMANAGERIDPUBLICVOIDSETMANAGERIDINTEGERMANAGERIDTHISMANAGERIDMANAGERID2持久层的方法验证输入的内容是否正确有很多方法,笔者采用的是利用SQL语句的方法进行验证输入账号和密码。对输入的账号及密码判断是否正确。利用接口类的方法实现的代码如下/MANAGERDAOJAVA/PUBLICINTERFACEMANAGERDAOPUBLICMANAGERACTIONFORMMANAGERCHECKMANAGERACTIONFORMMANAGERACTIONFORM实现接口的方法的代码如下/MANAGERDAOIMPLJAVA/核对普通管理员帐号和密码PUBLICCLASSMANAGERDAOIMPLIMPLEMENTSMANAGERDAO/实现接口类中的方法用IMPLEMENTS加上接口类名PUBLICMANAGERACTIONFORMMANAGERCHECKMANAGERACTIONFORMMANAGERACTIONFORMMANAGERACTIONFORMMANAGERNULL定义一个OBJECT型的数据,初使化为NULLJDBCONNECTIONCONNECTIONNEWJDBCONNECTION/连接数据库的方法STRINGSQL“SELECTFROMTB_MANAGERWHERENAME“MANAGERACTIONFORMGETMANAGERNAME“TRYRESULTSETRSCONNECTIONEXECUTEQUERYSQL/把SQL语句传到JDBCONNECTION类中去WHILERSNEXTMANAGERNEWMANAGERACTIONFORMMANAGERSETMANAGERPASSWORDRSGETSTRING3/查找过所需要的字段数据CATCHSQLEXCEPTIONEXCONNECTIONCLOSERETURNMANAGER/把对象返回到方法中去3服务层的方法利用接口类的方法实现的代码如下/MANAGERFACADEJAVA/PUBLICINTERFACEMANAGERFACADEPUBLICMANAGERACTIONFORMMANAGERCHECKMANAGERACTIONFORMMANAGERACTIONFORM实现接口的方法的代码如下/MANAGERFACADEIMPLJAVA/PUBLICCLASSMANAGERFACADEIMPLIMPLEMENTSMANAGERFACADE/实现接口类的方法用IMPLEMENTSPRIVATEMANAGERDAOMANAGERDAOPUBLICMANAGERFACADEIMPLTHISMANAGERDAONEWMANAGERDAOIMPL/实现DAO类的方法。PUBLICMANAGERACTIONFORMMANAGERCHECKMANAGERACTIONFORMMANAGERACTIONFORMRETURNTHISMANAGERDAOMANAGERCHECKMANAGERACTIONFORM/调用持久层的方法4管理员登陆控制层的方法/MANAGERCHECKACTIONJAVA/PACKAGECOMVICTORWEBTIERMANAGERACTION/核对帐号和密码PUBLICCLASSMANAGERCHECKACTIONEXTENDSACTIONPRIVATEMANAGERFACADEMANAGERFACADEPUBLICMANAGERCHECKACTIONTHISMANAGERFACADENEWMANAGERFACADEIMPLPUBLICACTIONFORWARDPERFORMACTIONMAPPINGACTIONMAPPING,ACTIONFORMACTIONFORM,HTTPSERVLETREQUESTHTTPSERVLETREQUEST,HTTPSERVLETRESPONSEHTTPSERVLETRESPONSECHINESECHINESENEWCHINESEMANAGERACTIONFORMMANAGERACTIONFORMMANAGERACTIONFORMACTIONFORMMANAGERACTIONFORMSETMANAGERNAMECHINESESTRHTTPSERVLETREQUESTGETPARAMETER“MANAGERNAME“MANAGERACTIONFORMMANAGERTHISMANAGERFACADEMANAGERCHECKMANAGERACTIONFORM/通过对象调用方法IFMANAGERNULLRETURNACTIONMAPPINGFINDFORWARD“MANAGERWRONG“/通过MANAGER是空值的话,返回错误页面。ELSEIFMANAGERGETMANAGERPASSWORDEQUALSHTTPSERVLETREQUESTGETPARAMETER“MANAGERPASSWORD“RETURNACTIONMAPPINGFINDFORWARD“MANAGERWRONG“/查找的值与在JSP页面中的值不一致,返回错误页面。RETURNACTIONMAPPINGFINDFORWARD“MANAGERRIGHT“/查找的值与在JSP页面中的值一致,返回正确页面。5STRUTSCONFIGXML中的配置在这里主要配置FORMBEAN和ACTION动作指向的JSP页面。代码如下/STRUTSCONFIGXML/6管理员登陆JSP页面的说明/MANAGERCHECKJSP/管理员登陆帐号密码52总管理员设置模块设计总管理员在数据库中是惟一的,总管理员的信息在页面中不会显示出来,在此页面中只能修改自己的密码及对普通管理员进行设置。用户单击“总管理员设置”超链接,进入总管理员设置页面。系统首先对用户输入的账户和密码进行核对。因为并不是所有的管理员都能够有这个权利,所以在SQL语句中应体现惟一性的条件,样式层所要调用的类是ACTIONFORM,跟用户登录时调用的ACTIONFORM是同一个类,在这里就不做介绍了。1总管理员的登录操作登录方法主要用于系统管理员进行系统维护时,作为登录后台时密码验证之用。在用户输入用户账号和密码之后,调用该方法即可验证该用户是否合法。单击“总管理员设置”超链接,进入到总管理员设置页面,实现此超链接的JSP代码如下/LEFT_MAINJSP/总管理员设置总管理员页面的运行结果如图9所示。图9总管理员页面运行结果总管理员页面所对应的JSP页面代码如下/ADMINPASSWORDJSP/请输入帐户请输入密码在上面的JSP页面代码中,ACTION触发的是ADMINACTIONDO的方法,它与后台登录的方法相似,只是调用的SQL语句不同。在持久层中查询总管理员的方法的代码如下接口类的方法/MANAGERDAOJAVA/PUBLICMANAGERACTIONFORMADMINCHECKMANAGERACTIONFORMMANAGERACTIONFORM实现接口类的方法/MANAGERDAOIMPLJAVA/PUBLICMANAGERACTIONFORMADMINCHECKMANAGERACTIONFORMMANAGERACTIONFORMMANAGERACTIONFORMMANAGERNULL/初始化对象JDBCONNECTIONCONNECTIONNEWJDBCONNECTIONSTRINGSQL“SELECTFROMTB_MANAGERWHERENAME“MANAGERACTIONFORMGETMANAGERNAME“ANDMARK“MANAGERACTIONFORMGETMANAGERMARK“TRYRESULTSETRSCONNECTIONEXECUTEQUERYSQL/执行查找的方法WHILERSNEXTMANAGERNEWMANAGERACTIONFORMMANAGERSETMANAGERPASSWORDRSGETSTRING3/取出查询的密码CATCHSQLEXCEPTIONEXCONNECTIONCLOSE/关闭数据库RETURNMANAGER在服务层中实现持久层的方法如下接口类的方法/MANAGERFACADEJAVA/PUBLICINTERFACEMANAGERFACADEPUBLICMANAGERACTIONFORMADMINCHECKMANAGERACTIONFORMMANAGERACTIONFORM实现接口类的方法/MANAGERFACADEIMJAVA/PUBLICCLASSMANAGERFACADEIMPLIMPLEMENTSMANAGERFACADEPRIVATEMANAGERDAOMANAGERDAOPUBLICMANAGERFACADEIMPLTHISMANAGERDAONEWMANAGERDAOIMPLPUBLICMANAGERACTIONFORMADMINCHECKMANAGERACTIONFORMMANAGERACTIONFORMRETURNTHISMANAGERDAOADMINCHECKMANAGERACTIONFORM/调用持久层的方法具体在控制层的代码如下/MANAGERDAOIMPLJSP/PACKAGECOMVICTORWEBTIERMANAGERACTIONIMPORTORGAPACHESTRUTSACTIONIMPORTJAVAXSERVLETHTTPIMPORTCOMVICTORDOMAINMANAGERACTIONFORMIMPORTCOMVICTORSERVICEMANAGERFACADEIMPORTCOMVICTORSERVICEMANAGERFACADEIMPL/核对总管理员帐号和密码PUBLICCLASSADMINCHECKACTIONEXTENDSACTIONPRIVATEMANAGERFACADEMANAGERFACADEPUBLICADMINCHECKACTIONTHISMANAGERFACADENEWMANAGERFACADEIMPLPUBLICACTIONFORWARDPERFORMACTIONMAPPINGACTIONMAPPING,ACTIONFORMACTIONFORM,HTTPSERVLETREQUESTHTTPSERVLETREQUEST,HTTPSERVLETRESPONSEHTTPSERVLETRESPONSEMANAGERACTIONFORMMANAGERACTIONFORMMANAGERACTIONFORMACTIONFORMMANAGERACTIONFORMSETMANAGERNAMEHTTPSERVLETREQUESTGETPARAMETER“NAME“/从页面上取值MANAGERACTIONFORMSETMANAGERMARK“总管理员“/取固定的名称MANAGERACTIONFORMMANAGERTHISMANAGERFACADEADMINCHECKMANAGERACTIONFORMIFMANAGERNULL/IF判断,做比较RETURNACTIONMAPPINGFINDFORWARD“ADMINWRONG“ELSEIFMANAGERGETMANAGERPASSWORDEQUALSHTTPSERVLETREQUESTGETPARAMETER“ADMINPASSWORD“RETURNACTIONMAPPINGFINDFORWARD“ADMINWRONG“RETURNACTIONMAPPINGFINDFORWARD“ADMINRIGHT“上面的类文件中加载了MANAGERACTIONFORM类,这个类是属于ACTIONFORM类,相当于JAVABEAN,在这里主要实现进行取值和赋值的功能。STRUTSCONFIGXML的配置的代码如下/STRUTSCONFIGXML/如果用户输入的总管理员的账户和密码不正确,此时JSP页面中将提示用户密码不正确。实现此功能的JSP代码如下/ADMINPASSWORDFAILJSP/ADMINPASSWORDFAIL密码不正确2秒种后从新输入密码2对管理员的查询操作总管理员登录成功后,系统将对除了总管理员以外的所有普通管理员进行查询操作。此时页面运行结果如图10所示。图10总管理员查询功能持久层的查询代码如下接口类的代码/MANAGERDAOJAVA/PACKAGECOMVICTORDAOIMPORTJAVAUTILLISTIMPORTCOMVICTORDOMAINMANAGERACTIONFORMPUBLICINTERFACEMANAGERDAOPUBLICLISTMANAGERSELECTMANAGERACTIONFORMMANAGERACTIONFORM/在接口类的查询方法方法实现接口类的代码/MANAGERDAOIMPLJAVA/查出所有的管理员PUBLICLISTMANAGERSELECTMANAGERACTIONFORMMANAGERACTIONFORMJDBCONNECTIONCONNECTIONNEWJDBCONNECTION/调用连接数据库的方法LISTLISTNEWARRAYLIST/定义一个LIST容器的对象,去实现ARRAYLIST中的方法STRINGSQL“SELECTFROMTB_MANAGERWHEREMARK“MANAGERACTIONFORMGETMANAGERMARK“/有条件的查询语句TRYRESULTSETRSCONNECTIONEXECUTEQUERYSQL/调用JDBCONNECTION查询的方法WHILERSNEXTMANAGERACTIONFORMMANAGERNEWMANAGERACTIONFORMMANAGERSETMANAGERIDINTEGERVALUEOFRSGETSTRING1MANAGERSETMANAGERNAMERSGETSTRING2MANAGERSETMANAGERPASSWORDRSGETSTRING3MANAGERSETMANAGERREALNAMERSGETSTRING4MANAGERSETMANAGERISSUEDATERSGETSTRING5MANAGERSETMANAGERMARKRSGETSTRING6LISTADDMANAGER/L利用对象LIST的ADD方法把查出来的数据放在LIST容器中CONNECTIONCLOSE/关闭数据库CATCHSQLEXCEPTIONEXRETURNLIST/返回值要与方法的类型要一致调用类的方法如图11所示图11调用的方法服务层的查询代码如下接口类的代码/MANAGERFACADEJAVA/PUBLICINTERFACEMANAGERFACADEPUBLICLISTMANAGERSELECTMANAGERACTIONFORMMANAGERACTIONFORM实现接口类的代码/MANAGERFACADEJAVA/PUBLICCLASSMANAGERFACADEIMPLIMPLEMENTSMANAGERFACADEPRIVATEMANAGERDAOMANAGERDAOPUBLICMANAGERFACADEIMPLTHISMANAGERDAONEWMANAGERDAOIMPLPUBLICLISTMANAGERSELECTMANAGERACTIONFORMMANAGERACTIONFORMRETURNTHISMANAGERDAOMANAGERSELECTMANAGERACTIONFORM/利用对象MANAGERDAO调用持久层的方法控制层实现的代码如下/MANAGERFACADEJAVA/PACKAGECOMVICTORWEBTIERMANAGERACTIONIMPORTORGAPACHESTRUTSACTIONIMPORTJAVAXSERVLETHTTPIMPORTCOMVICTORDOMAINMANAGERACTIONFORMIMPORTCOMVICTORSERVICEMANAGERFACADEIMPORTCOMVICTORSERVICEMANAGERFACADEIMPLIMPORTJAVAIOUNSUPPORTEDENCODINGEXCEPTION/加载所需要的类/总管理员全部查看信息PUBLICCLASSADMINSELECTACTIONEXTENDSACTIONPRIVATEMANAGERFACADEMANAGERFACADEPUBLICADMINSELECTACTIONTHISMANAGERFACADENEWMANAGERFACADEIMPLPUBLICACTIONFORWARDPERFORMACTIONMAPPINGACTIONMAPPING,ACTIONFORMACTIONFORM,HTTPSERVLETREQUESTHTTPSERVLETREQUEST,HTTPSERVLETRESPONSEHTTPSERVLETRESPONSEMANAGERACTIONFORMMANAGERACTIONFORMMANAGERACTIONFORMACTIONFORMMANAGERACTIONFORMSETMANAGERMARK“普通管理员“HTTPSERVLETREQUESTSETATTRIBUTE“LISTADMINSELECT“,MANAGERFACADEMANAGERSELECTMANAGERACTIONFORMRETURNACTIONMAPPINGFINDFORWARD“ADMINSELECTACTION“STRUTSCONFIGXML的配置/STRUTSCONFIGXML/管理员查询JSP代码的实现/ADMINSELECTJSP/查看全部信息FUNCTIONPROJECTDELETEDATEIFCONFIRM“是否删除这一组数据吗“WINDOWLOCATION“ADMINDELETEACTIONDOMANAGERID“DATE查看全部信息数据库ID帐号真实姓名注册时间管理员类别操作“修改“删除通过以上的代码就能够实现对所有的管理员的查询功能。总管理员除了具备查询功能外,还可以修改及删除管理员的信息。3修改之前的条件查询操作在执行修改之前首先是对要修改的数据进行查询。样式层所要调用的类是ACTIONFORM,与用户登录调用的ACTIONFORM是同一个类,在这里就不做介绍了,实现的过程如下。具体在持久层的条件查询代码如下接口类的方法的代码/MANAGERDAOJAVA/PUBLICINTERFACEMANAGERDAOPUBLICLISTADMINSELECTONEMANAGERACTIONFORMMANAGERACTIONFORM实现接口类的方法的代码/MANAGERDAOIMPLJAVA/总管理员的单独查找,查找的内容在下一页中显示PUBLICLISTADMINSELECTONEMANAGERACTIONFORMMANAGERACTIONFORMMANAGERACTIONFORMMANAGERNULLLISTLISTNEWARRAYLISTJDBCONNECTIONCONNECTIONNEWJDBCONNECTIONSTRINGSQL“SELECTFROMTB_MANAGERWHEREID“MANAGERACTIONFORMGETMANAGERID“/以数据库中的流水号为条件进行查询RESULTSETRSCONNECTIONEXECUTEQUERYSQL/执行查询的方法TRYWHILERSNEXTMANAGERNEWMANAGERACTIONFORMMANAGERSETMANAGERIDINTEGERVALUEOFRSGETSTRING1MANAGERSETMANAGERNAMERSGETSTRING2MANAGERSETMANAGERPASSWORDRSGETSTRING3MANAGERSETMANAGERREALNAMERSGETSTRING4MANAGERSETMANAGERISSUEDATERSGETSTRING5MANAGERSETMANAGERMARKRSGETSTRING6LISTADDMANAGERCATCHSQLEXCEPTIONEXCONNECTIONCLOSERETURNLIST具体在服务层的条件查询代码如下接口类的方法的代码/MANAGERFACADEJAVA/PUBLICINTERFACEMANAGERFACADEPUBLICLISTADMINSELECTONEMANAGERACTIONFORMMANAGERACTIONFORM实现接口类的方法的代码/MANAGERFACADEIMPLJAVA/PUBLICCLASSMANAGERFACADEIMPLIMPLEMENTSMANAGERFACADEPRIVATEMANAGERDAOMANAGERDAOPUBLICMANAGERFACADEIMPLTHISMANAGERDAONEWMANAGERDAOIMPLPUBLICLISTMANAGERSELECTONEMANAGERACTIONFORMMANAGERACTIONFORMRETURNTHISMANAGERDAOMANAGERSELECTONEMANAGERACTIONFORM/实现持久层的方法控制层实现的代码/例程81MANAGERFACADEIMPLJAVA/PACKAGECOMVICTORWEBTIERMANAGERACTIONIMPORTORGAPACHESTRUTSACTIONIMPORTJAVAXSERVLETHTTPIMPORTCOMVICTORDOMAINMANAGERACTIONFORMIMPORTCOMVICTORSERVICEMANAGERFACADEIMPORTCOMVICTORSERVICEMANAGERFACADEIMPLIMPORTJAVAIOUNSUPPORTEDENCODINGEXCEPTIONIMPORTJAVAUTILLIST/总管理员的单独查找,查找的内容在下一页中显示PUBLICCLASSADMINSELECTONEACTIONEXTENDSACTIONPRIVATEMANAGERFACADEMANAGERFACADEPUBLICADMINSELECTONEACTIONTHISMANAGERFACADENEWMANAGERFACADEIMPLPUBLICACTIONFORWARDPERFORMACTIONMAPPINGACTIONMAPPING,ACTIONFORMACTIONFORM,HTTPSERVLETREQUESTHTTPSERVLETREQUEST,HTTPSERVLETRESPONSEHTTPSERVLETRESPONSEMANAGERACTIONFORMMANAGERACTIONFORMMANAGERACTIONFORMACTIONFORMMANAGERACTIONFORMSETMANAGERIDINTEGERVALUEOFHTTPSERVLETREQUESTGETPARAMETER“ID“LISTADMINSELECTONELISTTHISMANAGERFACADEADMINSELECTONEMANAGERACTIONFORM/执行查找的服务层的代码,并且返回值赋于新的对象。HTTPSERVLETREQUESTSETATTRIBUTE“ADMINSELECTONELIST“,ADMINSELECTONELISTRETURNACTIONMAPPINGFINDFORWARD“ADMINSELECTONEACTION“STRUTSCONFIGXML配置的代码如下/STRUTSCONFIGXML/条件查询执行后的JSP代码实现/ADMINUPDATEJSP/更改管理员的性质更新管理员的性质“帐号“真实姓名“管理员类别“这样执行“ADMINSELECTONEACTIONDO”的方法后,JSP页面如图812所示图812更新管理员的性质总管理员在修改信息之前,可以查看以前的信息,这样可以方便用户进行信息修改。55总结对新闻信息管理的操作,主要应用到添加、删除、修改和查询的功能,在本小节反复的应用到这四种SQL语句,只是条件上的不同,只要读者能够正确的写出SQL语句,在类中的实现过程就简单了。6网站前台主要功能模块设计61今日新闻的显示这个功能就是当天的新闻的查看,主要用到了SQL语句中的SELECT语句,查询的条件是以时间为主,所用到的ACTIONFORM是后台新闻中的样式层的代码。这里就不做介绍了。1持久层的新闻显示方法取系统时间的方法很多,可以通过类中的JAVAUTILDATE的对象取系统时间,也可以通过SQL语句中的GETDATE方法取时间。具体的代码如下接口类/NEWSDAOJAVA/PUBLICINTERFACENEWSDAOPUBLICLISTDATENEWS实现接口类的方法/DELETENEWSACTIONJAVA/PUBLICCLASSNEWSDAOIMPLIMPLEMENTSNEWSDAO/当天新闻的查找PUBLICLISTDATENEWSJDBCONNECTIONCONNECTIONNEWJDBCONNECTIONNEWSACTIONFORMNEWSFORMNULLLISTLISTNEWARRAYLISTJAVAUTILDATEDATETIMENEWJAVAUTILDATEINTYEARDATETIMEGETYEAR1900INTMONTHDATETIMEGETMONTH1STRINGDATE“YEAR“MONTH“DATETIMEGETDATE“00“00“00“STRINGSQL“SELECTFROMTB_NEWSWHEREISSDATEBETWEEN“DATE“ANDGETDATE“RESULTSETRSCONNECTIONEXECUTEQUERYSQL/执行查询的SQL语句,返回到结果集中TRYWHILERSNEXTNEWSFORMNEWNEWSACTIONFORMNEWSFORMSETNEWIDINTEGERVALUEOFRSGETSTRING1NEWSFORMSETNEWTITLERSGETSTRING2NEWSFORMSETNEWCONTENTRSGETSTRING3NEWSFORMSETNEWSTYPERSGETSTRING4NEWSFORMSETNEWSSTYLERSGETSTRING5NEWSFORMSETNEWISSUEDATERSGETSTRING6/按顺序取字段中的数据LISTADDNEWSFORMCATCHNUMBERFORMATEXCEPTIONEXCATCHSQLEXCEPTIONEXRETURNLIST在查询分析器中取系统时间的方法如图19所示图19利用GETDATE方法取系统时间2服务层的新闻显示方法接口类/NEWSFACADEJAVA/PUBLICINTERFACENEWSFACADEPUBLICLISTDATENEWS实现接口类/NEWSFACADEJAVA/PUBLICCLASSNEWSFACADEIMPLIMPLEMENTSNEWSFACADEPRIVATENEWSDAONEWSDAOPUBLICNEWSFACADEIMPLTHISNEWSDAONEWNEWSDAOIMPL/实现的方法PUBLICLISTDATENEWSRETURNTHISNEWSDAODATENEWS/调用持久层的方法3控制层的新闻显示方法/NEWSFACADEJAVA/PACKAGECOMVICTORFRONTSTAGENEWSACTIONIMPORTORGAPACHESTRUTSACTIONIMPORTJAVAXSERVLETHTTPIMPORTCOMVICTORSERVICENEWSFACADEIMPLIMPORTCOMVICTORSERVICENEWSFACADEIMPORTJAVAUTILLISTPUBLICCLASSDATENEWSEXTENDSACTIONPRIVATENEWSFACADENEWSFACADEPUBLICDATENEWSTHISNEWSFACADENEWNEWSFACADEIMPLPUBLICACTIONFORWARDPERFORMACTIONMAPPINGACTIONMAPPING,ACTIONFORMACTIONFORM,HTTPSERVLETREQUESTHTTPSERVLETREQUEST,HTTPSERVLETRESPONSEHTTPSERVLETRESPONSELISTLISTTHISNEWSFACADEDATENEWS/调用服务层的方法HTTPSERVLETREQUESTSETATTRIBUTE“LISTNEW“,LIST/创建SQL值对象RETURNACTIONMAPPINGFINDFORWARD“DATENEWS“4STRUTSCONFIGXML的配置/STRUTSCONFIGXML/通过上述的方法,在JSP页面利用取得对象的名称,在页面中使用即可。62输入新闻的关键字查找新闻关键字查找新闻就是在文本框中输入新闻的相关内容,执行SQL语句,查找相关新闻信息,其中的下拉列表框是一个查询的动作,实现过程与前面的后台新闻相似,这里就不做介绍了。新闻查找运行结果如图20所示。图20关键字查询关键字查找新闻控制层代码实现如下/STRUTSCONFIGXML/PACKAGECOMVICTORFRONTSTAGENEWSACTIONIMPORTORGAPACHESTRUTSACTIONIMPORTJAVAXSERVLETHTTPIMPORTCOMVICTORDOMAINNEWSACTIONFORMIMPORTCOMVICTORSERVICENEWSFACADEIMPORTCOMVICTORSERVICENEWSFACADEIMPLIMPORTCOMVICTORTOOLCHINESEIMPORTJAVAUTILLIST/以新闻类型和新闻题目的模糊查询进行的前台操作PUBLICCLASSKEYNEWSWATCHEXTENDSACTIONPRIVATENEWSFACADENEWSFACADEPUBLICKEYNEWSWATCHTHISNEWSFACADENEWNEWSFACADEIMPLPUBLICACTIONFORWARDPERFORMACTIONMAPPINGACTIONMAPPING,ACTIONFORMACTIONFORM,HTTPSERVLETREQUESTHTTPSERVLETREQUEST,HTTPSERVLETRESPONSEHTTPSERVLETRESPONSECHINESECHINESENEWCHINESENEWSACTIONFORMNEWSACTIONFORMNEWSACTIONFORMACTIONFORMSTRINGKEYCHINESESTRHTTPSERVLETREQUESTGETPARAMETER“KEY“/取得新闻的关键字NEWSACTIONFORMSETNEWSTYPECHINESESTRHTTPSERVLETREQUESTGETPARAMETER“TYPE“/取得新闻的类型LISTLISTTHISNEWSFACADEKEYNEWSWATCHKEY,NEWSACTIONFORMHTTPSERVLETREQUESTSETATTRIBUTE“LISTCONTENT“,LISTRETURNACTIONMAPPINGFINDFORWARD“KEYNEWSWATCH“STRUTSCONFIGXML的配置如下/STRUTSCONFIGXML/通过上述的方法,在JSP页面利用取得对象的名称,在页面中使用即可。7小结一个功能比较完备的新闻发布系统的实例就构建完毕了。由于篇幅的限制,文中只讲解了部分源代码,不过只要理解了这个部分的内容,是完全有能力理解没有讲解的那部分源代码的。附录A参考文献1JSP数据库系统开发完全手册人民邮电出版社2006年3月2DELPHI数据库系统开发完全手册人民邮电出版社2006年3月3VISUALBASIC数据库系统开发完全手册人民邮电出版社2006年3月4VISUALC数据库系统开发完全手册人民邮电出版社2006年3月5JSP信息系统开发实例精选机械工业出版社王国辉、牛强、李南南等2005年7月6VISUALBASIC信息系统开发实例精选机械工业出版社宋坤、赵智勇、刘强等2005年7月7SQLSERVER数据库开发实例解析机械工业出版社宋昆、李严等2006年1月8ACCESS数据库开发实例解析机械工业出版社李俊民、高春燕等2006年1月9VISUALBASIC精彩编程200例机械工业出版社赛奎春、高春艳等2003年1月10ASP数据库开发实例解析机械工业出版社李严、于亚芳、王国辉2004年12月11DELPHI工程应用与项目实践机械工业出版社宋坤、赵智勇等2005年1月12VISUALBASIC工程应用与项目实践机械工业出版社高春艳、李俊民等2005年1月13VISUALC工程应用与项目实践机械工业出版社张雨、阮伟良等5005年1月14JSP工程应用与项目实践机械工业出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论