毕业设计基于Struts2的都市供求信息网的设计与实现_第1页
毕业设计基于Struts2的都市供求信息网的设计与实现_第2页
毕业设计基于Struts2的都市供求信息网的设计与实现_第3页
毕业设计基于Struts2的都市供求信息网的设计与实现_第4页
毕业设计基于Struts2的都市供求信息网的设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、 本科毕业设计(论文)题 目: 基于struts2的都市供求信息网的设计与实现 院 系: 计算机科学系 专 业: 计算机科学与技术 姓 名: 学 号: 指导教师: 教师职称: 填写日期: 年 月 日摘 要在全球知识经济和信息化高速发展的今天,无论是在生活、工作还是学习方面,信息都是决定成败的关键。小到生活中的需求,大到企业的发展,特别是对企业实现跨地区、跨行业、跨国经营,信息都是起着至关重要的作用。而电子商务作为一种崭新的商务运作模式,越来越受到企业的重视。课题的主要工作是通过struts2.0+sql server2005开发一个流行的电子商务网站都市供求信息网,实现为用户提供信息服务,并尽

2、可能多地提供各类信息,例如求职、招聘、培训、招商、房屋、车辆、出售、求购等信息。课题主要设计并实现了信息显示、信息查询、信息发布、信息删除、信息审核以及付费设置等模块,课题发布后,可以为用户生活、工作和学习提供便利,同时提高企业知名度,为企业产品宣传节约大量成本。论文首先分析了用户需求,对完整系统功能进行规划。其次,采用sqlserver2005数据库实现信息实体、信息类别实体以及管理员实体的存取。利用struts2.0框架和tomcat服务器完成了各个模块的设计。论文所实现的系统功能满足额对城市供求信息网对信息显示、查询、发布以及后台进行信息审核、信息删除的相关功能的需求,软件界面美观,操作

3、方便具有易维护性和易操作性。关键词:供求信息;商务网站;tomcat服务器;struts2技术;信息发布abstractin the global knowledge economy and the rapid development of information technology today, whether in the life, work and study, information is critical to the success of the decision. small life needs, to the development of enterprises, esp

4、ecially for the enterprise implementation to cross a region, cross a trade, transnational management, information is plays a vital role in. electronic commerce as a new business mode of operation, enterprises pay more and more attention.the main work is through the struts2.0+sql server2005developmen

5、t of a popular electronic commerce website - urban supply and demand information network, for the users to provide information services, and as much as possible to provide all kinds of information, such as job search, recruitment, training, investment, housing, cars, sell, buy and other information.

6、 main subject of the design and realization of the information display, information inquiry, information, delete information, information auditing and payment settings module, task after release, users can live, work and learning is facilitated, and improve business visibility, product promotion for

7、 enterprises save a lot of cost.based on the analysis of the user demand, the complete system function planning. secondly, using the sql server2005 database information entities, categories of entity and entity information administrator access. the use of struts2.0framework and tomcat server has com

8、pleted the design of each module.the article realizes the system function to meet the amount to city information network of supply and demand for information display, query, and background information audit, information deleting related functional requirements, software interface beautiful, operatio

9、n is convenient with easy operation and easy maintenance.keywords:supply and demand information; business website server; tomcat; struts2 technology; information publishing目 录摘 要iabstractii第一章 前言1第一节 课题的研究目的和意义1第二节 国内外发展状况1一、国内方面1二、国外方面1第三节 研究内容及目标2一、主要任务及要求2二、预期目标2第二章 开发方法及关键技术简介3第一节 开发工具与运行环境3一、开发

10、工具3二、运行环境3第二节 关键技术简介3一、struts技术3二、数据库技术4第三章 总体设计5第一节 总体设计5一、都市供求信息网前台总体设计5二、都市供求信息网后台总体设计5第二节 业务流程图6第三节 功能设计8第四节 数据库设计8一、各实体的e-r图8二、表的设计10第四章 系统的设计与实现12第一节 公共类设计12一、数据库连接及操作类12二、业务处理类12三、分页类14第二节 前台页面设计15一、前台页面概述15二、 前台页面的实现过程16第三节 前台信息显示设计16一、首页信息的列表显示16二、某类别中所有信息的列表显示17三、某信息详细内容的显示18四、信息列表显示中的分页技术

11、19第四节 信息发布模块设计20一、信息发布模块概述20二、信息发布模块的表单验证21三、信息发布模块的实现过程22第五节 后台登陆模块设计23一、后台登陆模块功能概述23二、后台登陆模块程序实现23第六节 后台页面设计25一、后台页面概述25二、后台信息管理功能概述26三、信息显示模块27四、信息审核模块28五、信息删除模块28六、信息付费设置模块29第五章 软件测试30结论31致谢32参考文献33第一章 前言第一节 课题的研究目的和意义电子商务网站能够为企业用户提供综合信息服务,满足人们在生活、工作和学习方面的需求,同时对企业实现跨地区、跨行业、跨国经营发挥了重要的作用。本课题的实现需要对

12、电子商务网站概念、作用、功能和特点进行了较详细的了解,并且对b2c及c2c两种商务网站建设的交易模式进行较全面的研究。目前,面临全球经济衰退,全球化的经济危机令很多企业遭遇困境,大量的国外企业倒闭或者裁员,因此如何获得信息成为人们和企业都需要解决的一大问题。面临困境的企业和失业的人们都纷纷涌至网上寻求契机,企业需要人才,人们需要工作,对于开发一个能够为企业和用户提供综合信息服务的电子商务网站无疑是一个发展良机。面对目前的经济形式,为了满足现代城市企业和城市居民的生活,工作以及学习的需求,有必要开发一个都市供求信息网络平台,一方面都市供求信息网能够为企业节省大量人力资源,企业不再需要大量的业务人

13、员出去跑市场,从而间接为企业节约了成本;另一方面,都市供求信息网能够收集大量的供求信息,将会有大量用户访问网站,有助于提高企业知名度,同时缓解城市就业压力,因此具有十分重要的意义。第二节 国内外发展状况一、国内方面我国在计算机拥有量、互联网用户、网站数等方面飞速增长,同时推动了信息网站的发展。信息网站的交易模式也呈现出多样化。现在我过的b2b、b2c和c2c都已经比较成熟,而且都有几个比较突出的代表。b2b主要是进行企业间的产品批发业务,代表网站有阿里巴巴。b2c主要是电子商务零售业,顾客直接与商家接触。代表网站有当当网和卓越网。c2c主要是用户对用户的商业模式,通过为买卖双方提供一个在线交易

14、平台,是卖方可以主动提供商品上网拍卖,而买方可以自行选择商品进行竞价。代表网站有易趣网和淘宝网。二、国外方面供求信息网站是不受国界限制的全球性网络internet为运行平台的,这一快捷的贸易方式可以安全的为全社会服务。目前,从世界范围的角度来看,信息化电子商务网络的成功应用大多是在发达国家,尤其是美国和欧洲。世界各国都在大力发展信息基础设施的建设,更新全国通讯网络,建立和完善网上商店的供货共享系统,加强信息网站技术的研究,推动信息网站的标准化。美国是信息网站开展较早的国家,在许多领域处于全球领先水平,成为其他国家开展信息网络的示范,目前占全球电子商务市场的79.1%。目前国际贸易形势发生了很大

15、变化,信息网络的发展势头强劲,风促进了国际贸易经济的发展。第三节 研究内容及目标一、主要任务及要求(一)应用struts框架开发一个流行的电子商务网站都市供求信息网。(二)网站要求为用户有偿或无偿提供尽可能全面的信息,涵盖生活、工作和学习各方面,如求职、招聘、家教、招商、房屋、车辆、出售、求购等信息。(三)一方面为用户的生活、工作提供方便,另一方面提高企业知名度,为企业产品宣传节约大量成本。(四)根据用户的需求,网站中发布的信息要准确、有效、全面。对一些非法、不健康的信息要及时删除。应加强网站的安全性,避免遭受到有意或无意的破坏时,导致系统瘫痪,造成严重损失。二、预期目标界面友好、美观。在首页

16、中提供预览信息的功能,并且信息分类明确。用户能够方便地查看某类别中的所有信息和信息的详细内容。能够实现站内信息搜索,如定位查询、模糊查询。对用户输入的数据,能够进行严格的数据检验,并给予信息提示。具有操作方便、功能强大的后台信息审核功能。具有操作方便的后台付费设置功能第二章 开发方法及关键技术简介第一节 开发工具与运行环境一、开发工具根据整个课题的开发计划,采用的工具是myeclipse8.5,并采用tomcat6.0作为web服务器,采用sqlserver 2005数据库,应用struts2.0开发框架。myeclipse开发工具是对eclipse ide的扩展,利用它我们可以在数据库和j2

17、ee的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的j2ee集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持html,struts,jsf,css,javascript,sql,hibernate。本课题利用myeclipse开发工具进行java web开发,myeclipse中支持tomcat插件,可以方便的控制tomcat应用服务器的状态1。tomcat是小型的轻量级应用服务器,tomcat服务器除了能够运行servlet和jsp,还提供了作为web服务器了一些特有的功能,如tomcat管理和控制平台,安全域管理和tomcat阀等2。tomcat和

18、iis、apache等web服务器一样,具有处理html页面的功能。本课题利用tomcat服务器相应对html页面的访问请求,tomcat作为servlet容器负责处理客户请求,把请求传送给servlet并把结果返回给客户。二、运行环境(一)软件环境web服务器:tomcat6.0。web开发框架:struts2.0。java开发包:jdk1.6。数据库:sql server2005。浏览器:ie6.0以上。操作系统:windows xp(二)硬件环境对硬件环境无具体要求。第二节 关键技术简介一、struts技术本课题采用struts框架结构设计并实现了一个基于struts的都市供求信息网站。

19、它提供了一套框架用来方便地构建web应用。struts是建立在当前动态网站设计领域中jsp、servlet、xml等相关开发技术基础之上的一种主流开发框架,具有组件模块化、灵活性和重用性的优点,同时极大的简化了web应用程序的开发。它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性。struts2.0是从struts1.0发展而来,但实际上他们在框架的设计思想上面有很大的区别,struts2.0是以webwork的设计为核心,因此,可以说struts2.0是webwork框架的升级版本3。struts2.0的简单处理流程如下:(一)浏览器

20、发送请求。(二)中心处理器根据struts.xml文件查找对应的处理请求的action类。(三)webwork的拦截器链自动对请求应用通用功能。(四)如果struts.xml文件中配置method参数,则调用method参数对应的actiom类中的method方法,否则调用通用的execute方法来处理用户请求。(五)将action类中的对应方法返回的结果响应给浏览器。二、数据库技术数据库的设计在本课题中起着至关重要的作用,它决定了在后面的开发中如何进行程序编码。一个合理、有效的数据库设计可降低程序的复杂性,使程序开发的过程更为容易。本课题是一个中型的供求信息网站,考虑到开发成本、用户信息量及

21、客户需求等问题,采用sql server 2005作为项目的数据库。sql server 是一种客户/服务器模式的关系型数据库,它具有很强的数据完整性、可伸缩性、可管理性、可编程性;具有均衡与完备的功能;具有较高的性价比。它提供了复制服务、数据转换服务、报表服务,并支持xml语言。使用sql server数据库可以大容量的存储数据,并对数据进行合理的逻辑布局,应用数据库对象可以对数据进行复杂的操作。sql server 2005 也提供了jdbc编程接口,这样可以非常方便的应用java来操作数据库4。第三章 总体设计第一节 总体设计都市供求信息网分为前、后台两部分设计。用户可以通过前台进行信息

22、浏览,信息搜索、信息发布。管理员可以通过前台的“登录”超链接进入后台。一、都市供求信息网前台总体设计前台主要实现信息的显示、搜索与发布功能。其中信息的显示包括列表显示与详细内容显示,搜索功能主要包括定位搜索和模糊搜索。都市供求信息网前台总体功能结构如图3-1所示。都市信息网前台信息显示信息发布信息搜索列表显示详细显示定位搜索模糊搜索首页信息列表显示类别下信息列表显示搜索结果列表显示图3-1 都市供求信息网前台总体功能结构二、都市供求信息网后台总体设计后台主要实现的功能为信息显示、信息管理、信息审核、信息删除、付费设置、退出登录。其中信息显示功能分为列表显示与详细内容显示。都市供求信息网后台总体

23、功能结构如图3-2所示。都市供求信息网后台信息发布列表显示详细显示退出系统付费设置信息审核信息删除图3-2都市供求信息网后台总体功能结构第二节 业务流程图都市供求信息网的业务流程图如下图所示:用户访问前台首页查看某类别下信息查看详细内容信息搜索显示发布填写信息内容用户访问后台首页查看某种状态信息填写信息id值显示查询显示审核信息删除信息删除信息付费设置图3-3都市供求信息网的业务流程图第三节 功能设计都市供求信息网前台主要实现信息的显示、搜索与发布功能。后台主要实现的功能为信息显示、信息审核、信息删除、付费设置与退出登录。一、 信息显示,主要将列表显示给用户已付费信息和分类显示免费信息,通过单

24、击导航栏中的信息类别超链接,将显示该类别下的所有详细信息。二、 信息搜索,用户可以通过该模块对网站内信息进行定位搜索和模糊搜索。三、 信息发布,用户可以通过此页面发布信息,在页面中用户需要选择要发布信息的类别,然后填写信息内容和联系方式等;在后台信息显示页面中,管理员可删除信息,并通过单击“审核”或信息标题超链接进入信息审核页面审核信息。四、 进入后台,管理员可以通过登录模块进入后台管理供求信息。五、 为了防止任意用户进入后台,进行非法操作,所以设置登录功能。管理员可登录后台进行删除信息,并通过单击“审核”或信息标题超链接进入信息审核页面审核信息,并对信息进行付费设置以及退出登录。(一)后台登

25、录功能,用户通过单击前台页面顶部的“进入后台”超链接,进入后台登录页面。当用户没有输入用户名和密码,或输入了错误的用户名和密码进行登录时,会返回登录页面显示相应的提示信息。(二)信息删除功能,信息删除用来删除一些发布的无效信息,在每条信息在操作栏中都提供了一个“删除”超链接。(三)信息审核功能,用户发布信息后,不能直接显示在页面中,需要管理员来审核信息是否可以发布。(四)付费设置功能,付费管理员可以将信息设置为“已付费”状态。对于已付费的信息在前台页面显示时,始终显示在页面的顶部位置,以便第一时间被浏览。第四节 数据库设计本系统是个中型的供求信息网站,可以采用microsoft sql ser

26、ver 2005 作为系统中的数据库。首先,规划出本课题所使用的数据库实体,他们分别为供求信息实体、信息类别实体和管理员实体。供求信息实体包括信息编号、所属类型、信息标题、信息内容、联系人、联系电话、e-mail、发布时间、审核状态和付费状态属性。其中审核状态与付费状态属性分别用来标识信息是否审核与付费,1表示“是”,0表示“否”。信息类别实体包括类别编号、类别标识、类别名称和类别介绍属性。信息类别实体属性图如下:管理员实体包括编号、用户名和密码属性。一、各实体的e-r图(一)供求信息实体。供求信息所属类型发布时间信息标题信息内容联系人联系电话e-mail审核状态付费状态信息编号图3-4供求信

27、息e_r图(二)信息类别实体信息类别类别编号类别标识类别名称类别介绍图3-5 信息类别实体e_r图(三)管理员实体管理员编号用户名密码图3-6 管理员实体e_r图二、表的设计创建与实体对应的数据表,它们为数据表tb_info、tb_type和tb_user,分别对应着供求信息实体,信息类别实体和管理员实体。其中数据表tb_info与tb_type之间相互关联。供求信息表用来保存发布的所有类别的信息,该表的结构如表3-1所示。表3-1tb_info表的结构字段名数据类型是否为空是否主键默认值描述idint(2)noyesid(自动编号)info_typeint(2)yesnull信息类别info

28、_titlevarchar(80)yesnull信息标题info_contentvarchar(1000)yesnull信息内容info_linkmanvarchar(50)yesnull联系人info_phonevarchar(50)yesnull联系电话info_emailvarchar(100)yesnulle-mail地址info_datevarchar(8)yesnull发布时间info_statevarchar(1)yes0审核状态info_payforvarchar(1)yes0付费状态其中info_type字段表示信息所属类别,它与info_type表中的type_sign字段

29、相关联。info_state字段和info_payfor 字段分别用来表示信息的审核状态与付费状态,取值为1表示“已通过审核”或“已付费”状态,取值为0表示“未通过审核”或“未付费”状态。信息类别表用来保存信息所属的类别,如招聘信息、求职信息等,该表的结构如表3-2所示:表3-2 tb_type表的结构字段名数据类型是否为空是否主键默认值描述idint(2)noid(自动编号)type_signint(2)yesyesnull类别标识type_namevarchar(20)yesnull类别名称type_introvarchar(20)yesnull类别介绍管理员表用来保存管理员信息,该表的结

30、构如表3-3所示:表 3-3 tb_user表的结构字段名数据类型是否为空是否主键默认值描述idint(2)noyesid自动编号user_namevarchar(20)yesnull管理员名称user_passwordvarchar(10)yesnull密码第4章 系统的设计与实现第一节 公共类设计在本课题中,经常需要在不同的方法中进行相同处理,例如数据库连接和字符串处理等,为了避免重复编码,所以讲这些处理封装到单独的公共类中。在本课题中,用到的公共类有数据库连接及操作类、分页类、和字符串处理类3个公共类。一、数据库连接及操作类(一)、功能描述db类主要是对数据库的操作,如连接、关闭数据库及

31、执行sql语句操作数据库。每一种操作对应一个方法,如getcon()方法用来获取数据库连接,closed()方法用来关闭数据库连接,而对数据库的增删改查等操作都是dopstm()方法中实现的5。(二)、程序实现首先,导入所需的类包并声明类的属性然后赋值。主要代码如下:private connection con; /表示连接到数据库的连接private preparedstatement pstm; /用来执行sql语句private string user=sa; /登录数据库的默认用户名private string password=031215; /登录数据库的密码private str

32、ing classname=com.microsoft.jdbc.sqlserver.sqlserverdriver;private string url=jdbc:microsofr:sqlserver;/localhost:1433;datebasename=text; /数据库url然后,在覆盖默认操作符实例化构造方法中使用class.forname(classname)语句实现数据库驱动的加载。通过new操作符实例化一个db类的同时,就会加载数据库驱动。完成数据库驱动的加载后,创建获取数据库连接的方法getcon(),在方法中使用drivermanager类的getconnection

33、()方法获取一个connection类实例,建立连接到url指定的数据库,并制定数据库的用户名和密码,代码如下。con=drivermanager.getconnetion(url,user,password);最后,创建对数据库进行增删改查操作的dopstm()方法,方法中首先调用getcon()方法获取数据库连接,然后使用preparedstatement类对象的execute方法来执行sql语句。若执行查询的sql语句,则调用getresultset()方法返回resultset结果集对象。若执行更新的sql语句,则调用getupdatecount()方法返回影响的记录数。二、业务处理类

34、(一)功能描述业务处理类opdb类实现了处理本课题中用户请求的所有业务的操作,包括信息显示、信息发布、管理员登录、信息审核、信息删除等。每一个用户请求的业务,在opdb类中都对应着一个方法,具有相同性质的业务可在一个方法中实现。在这些方法中,通过调用db类中的dopstm()方法来对数据库进行操作6。(二)程序实现opgetlistbox()方法opgetlistbox()方法用来获取所有信息类别,实现前台页面中的导航菜单项与后台的“信息类别”下拉列表框中的选项。方法中首先调用db类的dopstm()方法查询tb_type数据表中的所有记录,然后依次取出每条记录中的type_sign与type

35、_intro字段内容,并分别作为treemap对象的key值与value值进行保存,最后返回map对象。opgetlistbox()方法在处理用户访问前台首页请求的action类中被调用,在该action类中将返回的treemap对象保存在session范围内,在请求返回jsp页面后,可通过struts 2.0标签获取该tree.map对象,实现导航菜单或下拉列表。opgetlistbox()方法opgetlistbox()方法用来实现具有列表显示信息功能的业务,例如搜索信息、查看某类别下的所有信息等,在方法中首先调用db类的dopstm()方法查询数据库,接着调用getrs()方法获取查询后

36、的结果集,然后依次将结果集中的记录封装到infosingle类对象中,并将该对象保存到list集合中,最后返回该list集合对象。opsingleshow()方法opsingleshow()方法实现了查看信息详细内容的业务,如在前台查看某信息的详细内容、在后台进行信息审核与付费设置时用来显示被操作信息的详细内容。方法中首先查询数据库,获取指定条件的记录,然后将记录封装到infosingle类对象中,最后放回该对象。opupdate()方法本系统的信息发布、信息审核、信息删除和付费设置业务具有相同的性质,都是根据指定的sql语句来更新数据库,opupdate()方法用来实现该业务,方法中首先调用

37、db类的dopstm()方法更新数据库,接着调用getcount()方法获取更新操作所影响的记录数,最后返回该记录数。opupdate()方法的关键代码如下:public int opupdate(string sql,object params)int i=-1;mydb.dopstm(sql,params); /调用db类的dopstm()方法更新数据库i=mydb.getcount(); /获取更新操作所影响的记录数return i;logon()方法logon()方法用来实现管理员登录操作的身份验证业务,该方法通过查询数据库来判断请求登录的用户是否存在,若存在则返回true,否则返回f

38、alse。logon()方法的关键代码如下:public boolean logon(string sql,object params)mydb.dopstm(sql,params); /查询数据库resultset rs=mydb.getrs(); /获取结果集boolcan mark=(rs=null!rs.next()?false:true); /判断用户是否存在return mark;opcreatepage()方法opcreatepage()方法用来设置分页信息,这些信息包括总记录数、总页数、当前页、分页状态和分页导航链接等。opcreatepage()方法主要就是将分页信息封装到c

39、reatepage类对象中,然后返回createpage对象,在createpage类中定义了存储分页信息的属性,并且创建了对应的setxxx()与getxxx()方法来存取这些属性。三、分页类(一)功能描述createpage类用来封装分页信息,这些信息都保存在createpage类的相应属性中。(二)程序实现首先在createpage类的构造方法中为这些属性赋初始值。代码如下:public creatpage()currentp=1; /设置当前页码为1allp=1; /设置总页数为1allr=0; /设置总记录数为0perr=3; /设置每页显示3条记录pagelink=; /分页导航栏

40、信息pageinfo= /分页状态显示信息总页数需要获得总记录数后与每页显示的记录数计算得到,其算法为:“总页数=(总记录数%每页显示记录=0)?(总记录数/每页显示记录):(总记录数/每页显示记录+1)”,所以要先设置总记录数,然后再来设置总页数。createpage类中用来设置总页数的方法如下:public void setallp()allp(allp%perr=0)?(allr/perr):(allp/perr+1);在设置当前页码时,要判断由参数传递的当前页码是否有效,例如传递的值是否为数字形式、是否小于1、是否大于总页数等,对这些情况要进行相应的处理。可以调用设置分页状态显示信息的

41、方法来设置分页状态显示信息7。该方法的代码如下:public void setpageinfo()if(allp1)pageinfo=;pageinfo+=每页显示:+perr+/+allr+条记录!;pageinfo+=当前页:+currentp+/+allp+页!;pageinfo+=;第二节 前台页面设计都市供求信息网分为前后台的设计,其中前台主要实现信息显示、信息搜索与信息发布功能。一、前台页面概述本系统中所有的前台页面都采用一种页面框架,该页面框架采用二分栏结构,分为4个区域,即页头、侧栏、页尾和内容显示区。都市供求信息网的前台首页运行效果如图4-1所示。图4-1 都市供求信息网的前

42、台首页实现前台页面框架的jsp文件为indextemp.jsp。本课题中,对前台用户所有请求的响应都通过该框架页面进行显示。在indextemp.jsp文件中主要采用include动作和include指令来包含各区域所对应的jsp文件。因为页头、页尾和侧栏是不变的,所以可以在框架页面中实现指定;而对于内容显示区中的内容则应根据用户的操作来显示,所以该区域要实现的页面是动态改变的,可通过一个存储在request范围的属性值指定。例如,对用户访问网站首页的请求,可在处理该请求的类中向request中注册一个属性,并设置其值为default.jsp,这样当响应放回到框架页面后,可在页面中获取该值,根

43、据该值加载相应页面;若用户触发了“发布信息”请求,则设置该属性值为addinfo.jsp,此时在indextemp.jsp中就会显示信息发布的页面8。二、 前台页面的实现过程根据以上的页面概述以及分析,需要分别创建实现各区域的jsp文件,包括实现页头的top.jsp、实现侧栏的left.jsp、页尾文件end.jsp和首页中需要在内容显示区显示的default.jsp等jsp文件。在框架页面indextemp.jsp中通过html标识设置当前路径,这样,在该页面中的所有的url,都是相对于basepath指定的路径9。通过html标识包含外部css样式文件的代码如下:其中type属性用来指定文

44、件类型,rel指定连接的元素是一个样式表文件,href属性用来指定文件位置。第三节 前台信息显示设计信息显示是本系统要实现的主要功能之一,根据需求分许与系统设计,在前台要实现3种显示方式首页面的信息显示列表、某类别中所有信息的列表显示和某信息详细内容显示。一、首页信息的列表显示(一)首页信息的列表显示概述该显示实现的效果是:以超链接方式显示信息的标题,单击这些超链接可查看该信息的详细内容。该显示方式将付费信息与免费信息进行分类显示。对于所有类别的付费信息按照信息的发布时间降序排列显示。如图4-2所示:图4-2 付费信息的列表显示对与免费信息,进行归类显示,并且每一类中按照信息的发布时间降序排列

45、显示前5条信息记录。如图4-3所示:图4-3 免费信息的列表显示(二)首页信息的列表显示技术分析首页信息显示又分为付费信息的显示与免费信息的显示。实现付费信息显示该功能要实现的是以超链接形式显示出数据库中所有已付费信息的标题。要实现这样的一个目的,按照用户访问、程序处理、页面显示这样的程序流程进行设计。首先,在jsp页面中输出信息。将要显示的已付费信息都存在一个list集合对象中,则在页面中可通过struts 2.0的iterator标签遍历这个集合,然后再使用property标签输出信息,实现信息的列表显示。然后,在程序中生成list集合对象,因为信息都以记录形式保存在数据库中,要在页面中显

46、示信息,就必须先查询数据库获取符合已付费条件的记录,然后一次将每条记录封装到对应的javabean中,最后创建一个list集合对象存储这些javabean10。这个过程实际上就是将信息从以记录存储的形式转换为通过javabean进行封装的过程。实现免费信息显示该功能要实现的是以超链接形式显示出每个类别中最新发布的前5条免费信息的标题。同样可采用实现付费信息实现的技术分析。二、某类别中所有信息的列表显示(1) 某类别中所有信息的列表显示概述该显示实现的效果是:显示出该类别中所有信息的详细内容。该显示方式同样将付费信息与免费信息进行分类显示。如图所示图4-4某类别下信息的显示(2) 某类别中所有信

47、息的列表显示技术分析该功能要实现的是列表显示该类别下所有已通过审核的信息的详细内容。它与首页付费信息显示技术的实现是相同的,只不过在页面中进行显示时,显示的是信息的详细内容,这只需要通过property标签输出javabean中所有属性值即可实现。三、某信息详细内容的显示(一)某信息详细内容的显示该显示方式的实现效果是:显示选择的某信息的详细内容。当用户单击信息标题超链接后,就会显示该信息的详细内容。图4-5信息的详细内容(二)某信息详细内容显示技术分析该功能要是实现的是显示被选中信息的详细内容,与之前实现列表显示技术不同的是,这里不需要list集合对象,因为只显示一条记录,可直接将查询到的信

48、息封装到javabean对象中后,在响应的页面中通过property标签输出。此时property标签的应用与前面列表显示中property标签的使用是不同的,主要体现在标签的value属性值的设置上。四、信息列表显示中的分页技术本课题是通过数据库分页查询的方法实现分页的。通过查询语句从数据库中查询出某页所要显示的数据。若数据表中有10调记录,以每页4条记录来进行显示,要显示第2页信息,则只需要查询从第5条开始到第8条的所有记录。数据表存在一个名称为id的字段。将其设置为自动编号,这样数据表中的记录就会以该字段递增排列。对该表进行分页查询,可使用如下查询语句,查询出只在当前页中需要显示的所有记

49、录。select top m*from tb_table where id(select max(id) from(select top(n-1)*m(id) from tb_table) as maxid)其中,n为当前页码;m为每页显示的记录数;id是一个被设为自动递增的字段名;select top(n-1)*m(id) from tb_table 子查询语句表示从tb_table表中查询出第n页面的所有记录;select max(id) from(子查询语句1)as maxid表示从子查询语句1中查询出字段id中的最大值。所以整个sql语句表示:在tb_table表中,以id字段的内容大

50、于一个指定值的记录为起点,查询出前m条记录,该指定值为前n-1页中id字段内容中的最大值。本课题是按照信息的发布时间来显示信息的,最新发布的信息显示在最顶部,所以对查询出的记录要按照发布时间进行降序排列。此时分页查询的sql语句应使用信息的发布时间来作为分页的条件,而不能再使用设为自动编号的字段了。第四节 信息发布模块设计一、信息发布模块概述单击页面顶部的“发布信息”超链接,将进入信息发布页面。在该页面中,用户 可从下拉列表中选择一种信息类别(共包括 11 个信息类别:公寓信息、招聘信 息、求职信息、培训信息、家教信息、房屋信息、车辆信息、求购信息、出售信 息、招商引资、寻找启示),然后输入其

51、他信息。信息录入完整后,单击“发布”按钮,即可发布信息。此时,程序会先验证用户 是否输入了信息,若验证失败,则返回信息发布页面,进行相应提示;若验证成功,则会继续验证输入的“联系电话”和 e-mail 格式是否正确;若该验证成功,则向数据库中插入记录,完成发布操作;信息发布成功后,返回给用户信息的id 值。发布的信息还需要管理员进行审核,只有审核成功的信息才能显示在前台页面中。图片4-6信息发布二、信息发布模块的表单验证本课题采用 action 类中的验证方法来对表单数据进行验证。action 类中的验证方法的命名规则为validatexxx(),其中 xxx 表示 action 类中用来处理

52、请求的某个方法名称。当请求被转发给 action类时,该action会根 据用户请求来调用相应的方法处理请求,若在这之前需要进行表单数据验证,则可实现与该方法对应的 validatexxx()验证方法进行验证。 本课题中用来处理前台操作的action类中的add()方法用来处理信息发布的请 求,在 add()方法中需要编写向数据表中插入记录的代码,所以在这之前需要验证 用户输入的表单数据是否为空,可在action类中实现validateadd()方法进行验证,验证成功后,会自动调用 add()方法。 validatexxx()验证方法不需要返回值,在方法中可将提示信息通过 addfielderror()方法进行保存,这样,返回验证失败的提示页面后,就可通过fielderror标签输出提示信息。

温馨提示

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

评论

0/150

提交评论