基于SSH框架的文档管理系统设计的开发与实现.doc_第1页
基于SSH框架的文档管理系统设计的开发与实现.doc_第2页
基于SSH框架的文档管理系统设计的开发与实现.doc_第3页
基于SSH框架的文档管理系统设计的开发与实现.doc_第4页
基于SSH框架的文档管理系统设计的开发与实现.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 设 计基于Struts、Hibernate的文档管理系统设计题目学 院专 业年 级姓 名指导教师职 称(200 年 月) 目 录摘要. IABSTRUCT.II1. 概述11.1 国内外研究动态11.2 开发工具及硬软件要求11.3 文档管理系统特点21.4方案选择及开发技术介绍21.5发框架介绍42. 系统分析52.1 需求分析52.2 可行性分析63. 系统设计73.1 系统目标73.2 系统体系结构设计73.3 系统功能模块说明83.4 业务流程图84. 数据库设计94.1 数据库概要说明94.2 数据抽象与局部视图设计104.3 数据库逻辑结构设计115. 系统详细设计与实现125.1 登录模块设计125.1.1页面设计125.1.2功能实现145.2 主页面模块设计175.2.1 会员主页面模块概述175.2.2 界面模块的设计与实现185.3 管理员管理模块设计265.3.1 管理员管理模块概述265.3.2 管理员管理模块的设计276. 系统的测试与分析277. 在文档管理系统的完善与改进298. 结论29参考文献30致 谢31附 录32摘 要本系统是一个用Struts和Hibernate技术、基于B/S架构开发的网上文档管理系统。系统用户分为三类:管理员、会员和普通用户。系统管理员能管理系统内的所有文档和会员,会员能查看系统内的文章并能上传一些有独特见解的文章供其它员工查阅,普通用户能查看系统内的文章但不能上传文档。本系统的业务逻辑层由struts实现,数据持久层由Hibernate实现,视图层由JSP实现。本系统还采用比较成熟的M-V-C模式来开发整个系统,大大提高了本系统的可维护性和可扩展性。关键词: B/S架构;struts;Hibernate;文档管理系统AbstractThis system is a technology with Struts and Hibernate, based on B / S architecture developed online document management system. Users of the system is divided into three categories: administrators, members and general users. System administrators can manage all documents within the system and members, members can view articles within the system and can upload the article some unique insight for other employees access to, ordinary users can view the articles within the system but can not upload the document.The systems business logic to achieve by the struts, the data from the Hibernate persistence layer implemented by the JSP view layer implementation. The system also uses a more mature MVC pattern to develop the system, greatly improved the systems maintainability and scalability.Key words:B/S structure system;Struts; Hibernate; Documents management system1. 概述1.1 国内外研究动态计算机语言日新月异,随着Internet和信息技术的不断发展, 让越来越多的公司和组织机构逐渐开始体验到了一种“成长的烦恼”。企业信息应用化成为内外沟通的根本所在,如ERP、CRM、PDM等各种应用系统的建立使得企业可以轻松管理各种表单等结构化的数据,而调查显示,这些结构化的数据一般只占到整个企业数据的20%,所以,剩余80%的企业数据如何更有效的管理就成了企业不得不面对的又一个问题,这时,借助文档管理系统,无疑成为提高工作效率,解决工作协调性的必经之路,文档管理逐渐走入了企业的视野。传统纸质的商业策划书、客户档案、设计图纸、性能测试报告等都实现了数字化。企业内容管理(Enterprise Content Management,ECM)目前在国内外非常热门,市场发展迅速。近几年,ECM市场发生了很多重组和兼并的重大事件。Interwoven公司完成了自己的收购目标,完善了自己的ECM产品线。这一系列的行业并购将更多的技术和应用吸纳到ECM范畴中,使得ECM产品和市场越来越成熟,而越来越多的行业巨头进入该领域,也说明了文档管理系统市场的未来的广阔前景。1.2 开发工具及硬软件要求 1) 开发工具 本系统是采用windows操作系统,以MyEclipse为开发工具,用中文版的Oracle作为后台数据库来实现的。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, JavaScript, SQL, Hibernate。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。2) 硬软件要求 硬件需求: 内存1G以上,硬盘空间视文档资料的多少而定,要求为文档管理系统分配足够的数据库磁盘空间; 操作系统需求: windows( 推荐 )或linux操作系统; 数据库软件需求: Oracle 9i/10g ( 推荐 ) ,也可以使用 SQL Server 2000 或MySQL数据库; 中间件软件需求:Apache Tomcat系列服务器。1.3 文档管理系统特点随着Internet/Intranet的迅速发展和广泛普及,以网络为基础的资源共享成为现代共享资源的一种重要方式。Internet技术的发展使得信息传播的方式和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得信息的传播突破了时间和空间的限制。基于Internet的文档管理系统正成为人们的研究热点之一。与传统的信息共享传播方式相比,网上资源共享具有无可比拟的优越性,它可以将传统的以纸为传播信息的方式改为用网络这种看不见摸不着不占地方且花费又少的这种东西来传播信息,大大节省了人力和物力,还给管理带来了很大的方便。l 系统特点: 1) 系统架构采用M-V-C三层结构、B/S模式开发,安全可靠、灵活高效。系统基于 J2EE,采用三层结构、B/S 模式开发,使系统具有高度的安全性与可靠性;普通用户通过浏览器即可登录系统,会员则有更多的权限,灵活高效。2) 多种搜索方式能满足各种用户快速地全面的搜索要求。如:按发布者搜索,按文档名搜索,按发布时间搜索,按点击率搜索等。3) 分类设置账户身份,实现应用逻辑的分离。系统将用户分为管理员、会员、普通用户,不同身份的用户对应不同的权限和操作,实现了应用逻辑的分离。4) 本系统支持会员发表文档功能。5) 操作灵活,简单。系统功能强大,在操作风格方面也进行了统一,各个功能模块的操作界面基本是相同的,而且操作也比较简单。 1.4方案选择及开发技术介绍开发文档管理系统,提出以下解决方案:选择ORACLE 10g作为后台的数据库,选择JAVA、JSP、JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。l JAVA简介Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统1。 l Web应用程序开发环境JSP技术JSP的全称是Java Server Pages,它是Sun推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点: 1)将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容; 2)能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务; 3)组件的开发和使用很方便:如ASP的组件是由C+,VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开发的,可以直接使用; 4)一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括一次书写到处运行.l Tomcat应用服务器目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个开源的免费的Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。 Tomcat是一个Servlet容器,在Tomcat中,应用程序的部署很简单,只需将整个项目或项目压缩成的WAR文件放到Tomcat的webapps目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快,若不修改JSP页面则原来的Servlet文件不会再次编译2。Tomcat一样具有传统的Web服务器的功能:处理Html页面。但是与Apache相比。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理JSP和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。l Oracle 10g Oracle是全球公认最好的数据库提供商,在8i之前支持1024p,9i之后没有限制。Oracle 具有如下特性: 1) 其数据库引擎提供完整的 XML 支持2) 一个数据库引擎可以在不同的平台上使用3) 其关系数据库引擎支持当今苛刻的数据处理环境所需的功能。4) 一系列管理和开发工具,是其系统容易安装 、部署、管理和使用。5) 有析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具3 。l B/S 开发模式伴随着Internet的迅速发展,计算机技术正在由基于C/S(Client/ Server)模式的应用系统转变为基于B/S(Browser/ Server)模式的应用系统。过去,网络软件的开发都采用C/S(Client/ Server)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题: 1)系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。 2)在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患 4 。l B/S模式带来了巨大的好处: 1)开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。 2)良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。1.5发框架介绍本两种框架相结合,可以让开发过程更加便利,逻辑性更强系统采用了目前非常流行的Struts+Hibernate框架。l Struts开发框架简介Struts是一个专门为开发基于模型层 (Model) 视图层 (View) 控制器层 (Controller) (MVC) 模式的应用架构的开源框架,是利用Servlet,JSP和struts标签库构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从JSP/Servlet中分离出来,而使用表现层框架则可以将JSP中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库中的标签(Taglib)实现,不同框架有不同的标签库,Struts是应用比较广泛的一种表现层框架5。l Hibernate持久化数据工具简介Hibernate是O/R Mapping的一种实现,是目前在JAVA界使用非常广泛的O/R Mapping框架,可以实现关系型数据库和对象之间的映射。用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方向:直接自己编写JDBC等SQL语句(如Ibatis);使用O/R Mapping技术实现的Hibernate和JDO技术;当然还有EJB中的实体Bean技术。Hibernate的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和Hibernate提供的一 些基本类,就可以达到使用数据库的目的。例如,使用Hibernate框架的查询,可以直接返回包含某个值对象的列表(List),而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。Hibernate提供的HQL是一种类SQL语言,是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL6。2. 系统分析2.1 需求分析 经过调查,我国的网络事业发展得较晚,虽然现在网络的利用已经比以前大了很多,但是目前像网上以图书馆,网上文档管理系统这样的强大有力管理系统为管理工具的还不多。在此方式下,不利于信息的快速传播,所以大家都希望使用类似于网上图书馆这样的基于网络的管理系统来管理这些共享资源以方便他们快速方便的查找资料。 对于用户来说他们希望系统的搜索功能很强大能很方便的满足他们的快速准确的搜索要求比如说:按类型搜索,按点击率搜索,按作者搜索,按发表时间搜索,按文档名搜索等。经过这么一细化用户就能很快且准确的定位自己想要的资料以满足自己的需要。本系统主要是搜集各个方面的资料供员工查看。为方便广大用户快速找到自己想要的资料,本系统将搜索分为:查看所有文档、查看热门文档、按点击率查看文档、按发布者查看文档。这样用户就能快速的查找到自己需要的资料。同时本系统还为会员保存个人信息,为会员提供发布文档服务,内容上它能满足用户的需求也是可行的。其结构如下图2-1: 图 2-1 文档管理系统结构图 MIS系统(Management Information System信息管理系统)的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于MIS系统基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。本文档管理系统的使用者主要有企业内部成员和管理员使用,从用户的角度来说,由于存储在数据库中的内容较多,本系统解决了用户常常为了找到自己需要的文档而花费大量时间的问题。用户只要在客户端前输入自己的需要查找文档的部分信息即可搜索要找到的文档,大大缩短了查找时间。从管理员的角度来说,要管理大量的阅读者和文档资料同样是节省了大量的工作量,网上进行文档发布能大幅度的减少管理员的工作量,减少错误的发生几率。作为管理员,也只要通过自己的电脑来操作即可。以MIS系统的构建思想来实现文章管理系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。2.2 可行性分析l 经济可行性在信息时代的今天,大多数地方已经拥有丰富的网络资源,因此本系统的实施条件已具备。通过对将来资金的收益来分析,本系统可以在实施后能明显降低文档管理人员的工作量,并能减少资源的消耗。由于网络是虚拟的更方便对资源文档的管理。因此,本系统在经济上是可行的。l 技术可行性从技术上分析研究,本系统的开发主要是对数据库中的相关数据进行操作,考虑到系统的功能要求,开发语言采用Java,数据库则采用Oracle,二者相结合其灵活性,安全性和易用性为系统的开发提供了良好的条件。同时,本系统采用B/S架构,在投入使用后,后期维护比较容易。l 法律上可行性由于本系统的开发主要采用开源的以Java为基础的框架体系,服务器则采用开源免费的Tomcat,除Oracle数据库需要购买使用外,不存在法律及版权的限制,所以,本系统的开发在法律上是可行的。3. 系统设计3.1 系统目标建立网上文档管理系统的目的:就是采用以计算机为主的现代化设备方便用户能在网络上快速的找到自己想要的资料。从而为广大用户节约宝贵的时间。3.2 系统体系结构设计 本系统包含的用户分为: 1) 普通用户:只拥有查看文档权限。 2) 会员:会员能查看所有文档,修改个人信息, 发表文档,删除自己发布过的文档。 管理员分为: 1) 管理员:能创建和删除用户,修改个人信息, 查看或删除所有文档,还能发布文档。 本系统体系设计如3-1所示: 图 3-1 结构设计3.3 系统功能模块说明 文档管理系统主要由以下功能模块组成:l 管理员 管理员管理模块:管理员对自己的信息进行修改,发布文档, 创建/删除用户,管理所有文档(删除用户上传 的不合法的文档)。 系统管理模块:可安全登陆和退出系统。l 会员 上传模块:允许会员发表文档。 搜索模块:可方便快速的搜索想要的资源。 自管理模块:允许会员查看或删除自己发布的文档。 个人信息模块:主要是学生对自己的信息进行修改。 系统管理模块:可安全登陆和退出系统。l 用户 搜索模块:可方便快速的搜索想要的资源。3.4 业务流程图 根据文档管理系统的特点和实际情况,用户和管理员流程图如下所示: 1) 普通用户没有上传和下载权限只能查看文档其业务流程图如3-2所示: 图 3-2 普通用户业务流程图 2)会员拥有发布文档并查看所有文档,因为是会员所以还能修改个人信息,修改自己发表过的文档其业务流程图如3-3所示: 图 3-3 会员业务流程图 3)管理员拥有管理会员和管理所有文档的权限,还能修改个人信息其工作流程图如3-4所示: 图 3-4 管理员业务流程图4. 数据库设计 4.1 数据库概要说明 根据文档管理业务情况,本系统共建了4个数据表和4个队列。数据表树型结构图包含系统中所有的数据表。如4-1图所示:图4-1 数据表树型结构图4.2 数据抽象与局部视图设计利用数据抽象的方法可以对现实世界抽象得出概念模型的子集及属性,概念结构设计是利用抽象机制对需求分析阶段悼念到的数据进行分类、组织(聚集),形成实体集、属性和码,确定实体集之间的联系类型,进而设计分E-R图,下面是文档管理系统中主要实体的E-R图。文档管理系统主要实体E-R图如4-2所示:图4-2 文档管理系统主要实体E-R图 文档与会员之间是N:1关系。一个会员可以发表多份文档,但同一份文档只能由一个会员发表。 管理员与会员之间是管理关系。一个管理员可以同时管理多个会员,一个会员不能同时被多个管理员管理。 管理员与文档之间是管理关系。一个管理员可以同时管理多份文档,一份文档不能同时被多个管理员管理。4.3 数据库逻辑结构设计根据设计好的实体E-R图,在数据库中创建各数据表。下面是文档管理系统中主要数据表的结构7。文档信息表用来保存的相关信息。主要包含字段及各字段说明如表4-1所示:表4-1 文档信息(article)结构表 字段名称 数据类型 字段大小 是否主键 说明 id number 是 id topic varchar2 30 标题 type varchar2 30 类型 sendDate Date 发布时间 content varchar2 50 内容的路径 hits number 点击率 User_id number 外键权限表用来记录权限的种类,主要包含字段及各字段说明如表4-2所示: 表4-2 权限表 字段名称 数据类型 字段大小 是否主键 说明 id number 是 主键盘ID rightName Varchar2 40 权限名会员信息表用来会员的信息。主要包含字段及各字段说明如表4-3所示:表4-3 会员信息(articleUser)结构表 字段名称 数据类型 字段大小 是否主键 说明 id number 是 id name varchar2 30 用户名 password varchar2 30 密码 question Varchar2 50 问题 answer varchar2 30 答案 rigths_id number 权限外键 email varchar2 30 邮箱 RegisterDate Date 注册时间 state number 在线状态 phone varchar2 30 电话 gender varchar2 10 姓别管理员信息表用来保存管理员信息。主要包含字段及各字段说明如表4-4所示:表4-4 管理员信息表(manager)结构表 字段名称 数据类型 字段大小 是否主键 说明 id number 是 id name varchar2 30 用户名 password varchar2 30 密码 question Varchar2 50 问题 answer varchar2 30 答案 rigths_id number 权限外键 email varchar2 30 邮箱 5. 系统详细设计与实现5.1 登录模块设计登录模块是文档管理系统会员或管理员使用的功能。下面将分别介绍系统首页和登录的页面设计和功能实现。5.1.1页面设计非会员可进入的系统首面 在首页中用户可以根据左边的链接快速查找自己想要的资料并可查看,其页面5-1所示: 图 5-1 非会员首页 在系统登录(只有会员或管理员能使用)模块的页面设计中,采用了一个表格。运行效果如图5-2所示:图5-2 登录模块页面运行效果图 在系统登录模块的页面设计过程中,要求当用户选择是否为管理员时,action里面的逻辑实现部分会根据此选项是否被选中作出判断,然后到不同的数据库表中查找登陆者的信息再根据登陆者的信息判断进入不同的工作界面8 。5.1.2功能实现 用户选择用户类型及填写用户名和密码后,提交数据到服务器端进行登录验证,当用户存在于数据库中且登录密码正确时登录成功,系统根据用户类型跳转到不同的页面。 在服务器端,LoginAction接收到用户提交的数据,然后根据用户类型调用对应的service方法进行登录验证。 用户提交的数据由哪个Action来处理以及登录成功后跳转到哪个页面是在配置文件struts.xml中来配置的,部分代码如下所示: /login.jsp /register.jsp /admin/login1.jsp /user/login2.jsp /login.jsp /user/listAllArticle.jsp /user/login2.jsp /user/topArticle.jsp /user/login2.jsp /user/searchArticle.jsp /user/login2.jsp 在service层,处理登录的相关service方法的主要代码如下所示(由于篇幅所限,只列举登录service方法中的主要代码):package web.action;import service.IUser_adminService;import service.impl.User_adminServiceimpl;import common.BeanFactory;import common.MD5;import bean.Admin;import bean.User;/登陆页面处理action(会员和管理员用)public class LoginAction private String loginName;private String passwd;private String manager;public String getLoginName() return loginName;public void setLoginName(String loginName) this.loginName = loginName;public String getPasswd() return passwd;public void setPasswd(String passwd) this.passwd = passwd;public String getManager() return manager;public void setManager(String manager) this.manager = manager; /action执行方法public String execute() Map map=ActionContext.getContext.getSession();User user=null;Admin admin=null;IUser_adminService service=(IUser_adminService) BeanFactory.getBean(user_adminService);if(on.equals(manager)try admin=service.findAdminByName(loginName);if(admin=null) map.Put(messages,该用户不存在!);else if(admin.getPassword().equals(MD5.getMD5Str(passwd)else map.Put(messages,密码错误!);return fail; catch (Exception e) e.printStackTrace();return fail;return success1;elsetry user=service.login(loginName,passwd);if(user!=null)return success2; catch (Exception e) e.printStackTrace();return fail;return fail;为防止未登录用户通过地址访问系统页面,系统采用了拦截器。其主要实现机制是拦截用户通过地址栏的所有访问,先从session中获取用户对象,如果所获取的用户对象是null,说明用户没有登录,跳转到登录界面。这样就可以防止用户通过地址栏的非法访问。5.2 主页面模块设计主页面设计的好与坏将会影响到整体应用程序的形象,因此应该首先将应用程序的主页面设计得美观一些。同时,主页面也是一个应用程序控制的核心,应用程序的所有功能调用都要通过主页面来实现。本系统主要面向三种类型的用户,因此主页面有三个,但是其设计都是类似的,下面主要介绍会员主页面的设计,其余的非会员和管理员主页面设计就没写了。5.2.1 会员主页面模块概述系统主页面是操作应用程序的入口,会员可以通过操作主页面来控制和调用其他子页面的运行。在主页面中单击左侧的功能,即可在页面的右侧显示其对应的子页面,用户通过操作子页面完成系统的各项功能。会员登录成功后主页面运行效果如图5-3所示:图5-3 会员主页面运行效果图修改个人信息链接到modifyuser.jsp页面查看所有文章链接到allArticle.action让其进行搜索处理查看热门文章链接到hotArtcile.action让其进行搜索处理按条件查询链接到searchArticle.jsp页面发表文章链接到sendArticle.jsp页面查看自己的文章链接到selfArticle.action让其进行搜索处理5.2.2 主界面模块的设计与实现l 主界面的技术分析 左侧的树形菜单主要通过超级链接来实现。当用户点击菜单时,经过拦截器后,若通过则触发相应的action来处理相应的请求,若用户选择按条件查询则会进入如下图5-4的界面: 图 5-4 按条件搜索文档结果界面 实现按条件搜索的部分代码如下: package web.action;import java.util.*;import com.opensymphony.xwork2.ActionContext;import common.BeanFactory;import service.*;/按条件搜索的actionpublic class SelectArticleAction private String type; /文档类型private String author; /文档的发布者private Date startDate; private Date endDate;private int hits; /文档的点击率private String topic; /文档的标题private int currentpage=1; /当前页private int pages; /总共页数private int max=10; /一页最多显示的条数public int getCurrentpage() return currentpage;public void setCurrentpage(int currentpage) this.currentpage = currentpage;public int getPages() return pages;public void setPages(int pages) this.pages = pages;public int getMax() return max;public void setMax(int max) this.max = max;public String getTopic() return topic;public void setTopic(String topic) this.topic = topic;public String getType() return type;public void setType(String type) this.type = type;public String getAuthor() return author;public void setAuthor(String author) this.author = author;public Date getStartDate() return startDate;public void setStartDate(Date startDate) this.startDate = startDate;public Date getEndDate() return endDate;public void setEndDate(Date endDate) this.endDate = endDate;public int getHits() return hits;public void setHits(int hits) this.hits = hits;public String execute()Map map=ActionContext.getContext().getSession();IArticleService service=(IArticleService) BeanFactory.getBean(articleService);List list=null;List list2=(List) map.get(list2);try if(author!=null&topic!=null)/按条件搜索文档 list2=service.selectArticle(author.trim(),type,startDate,endDate,hits,topic.trim(); map.put(list2,list2); /判断并获得将要转到的JSP页面所要的文档if(list2!=null)pages=(int)(list2.size()+max-1)/max);if(currentpage=pages)if(list2.size()max*currentpage)list=list2.subList(max*(currentpage-1),max*currentpage);/将JSP需要的变量放入session范围里map.put(currentpage,currentpag

温馨提示

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

评论

0/150

提交评论