《基于Struts2的外企会议管理系统设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Struts2的外企会议管理系统设计与实现毕业论文.doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、南京工业大学本科生毕业设计(论文)毕业设计(论文) 学生姓名: 学 号: 所在学院: 专 业: 设计(论文)题目: 基于Struts2.0的外企会议管理系统 指导教师: 2014 年 6 月 III基于Struts2的外企会议管理系统设计与实现摘 要外企会议管理系统主要是基于外企内部快速高效的工作节奏以及工作的需求,应用计算机互联网技术,实现企业对会议方面进行管理的系统。系统分为管理员、经理和普通员工三种不同的用户权限。所有权限都可以查看和修改个人资料。管理员需要做的就是将数据输入到系统的数据库中去,可以进行用户管理和会议室的添加、修改、删除、审批以及设备的添加、修改、删除、审批。经理可以进行
2、会议室的预定、归还,设备的预定和归还,发布会议,查看会议,查看留言和会议图片的操作。普通员工可以进行查看会议,留言和会议图片的功能。系统简洁、大方,容易上手,适合大部分企业使用。系统开发采用了J2EE技术,使用MyEclipse+Tomcat+MySQL开发环境,系统前台使用JSP配合Jquery网页技术,通过ajax与Struts2实现了与后台的数据交互,对数据库的访问则使用了Hibernate技术,而Spring则是用来对Struts2和Hibernate进行管理。另外,MySQL数据库为系统开发提供强大完善的数据库支持环境。关键词:会议 浏览器/服务器架构 数据库 IWith the i
3、mplementation of foreign conference management system design based on Struts2AbstractForeign meeting management system is mainly based on the fast work and efficient internal rhythms of foreign and the needs of work, we will use the computer Internet technology, to realize the meeting management sys
4、tem. System is divided into administrators, managers and employees of three different user permissions. All privileges can view and modify personal data. Administrators need to do is to enter data into a database system go, you can do the user management and modify, delete, add, and approval, modify
5、, delete and approval meeting rooms. Managers can be scheduled conference room, restitution, scheduled and return the equipment, publishing conference, view the meeting, view picture messages and conference operations. General staff have the power of view the meeting, pictures,messages and so on. Sy
6、stem is simple, elegant, easy to use, suitable for most business use.System development use the J2EE technology in the MyEclipse + Tomcat + MySQL development environment. The foreground of the system is developped with Jquery JSP web technology, and use Struts2 and ajax achieved through interaction
7、with the background data, using the Hibernate technology to access the database, and use the Spring to manage Struts2 and Hibernate. In addition, MySQL database system provides a powerful development environment with the complete database support.Keywords: meeting;The Browser/Server architecture; da
8、tabase目 录摘 要IABSTRACTII第一章 前言11.1课题研究背景11.2课题研究意义1第二章 系统开发的平台与技术介绍32.1 开发环境32.1.1 J2EE32.1.2 TOMCAT32.1.3 MySql32.2 开发技术42.2.1 Jquery42.2.2 Ajax42.2.3 JavaScript42.2.4 Struts242.2.5 Spring42.2.6 Hibernate52.3 开发工具52.3.1 MyEclipse1052.3.2 FireBug5第三章 系统概要设计63.1系统功能需求63.2系统介绍83.2.1 系统总体框架83.2.2 系统总体设计
9、83.2.3 系统总体特点93.3系统功能说明9第四章 数据库设计114.1数据库分析114.2 数据库表设计14第五章 系统详细设计及实现185.1登录注册模块设计及实现185.1.1职位的获取185.1.2登录功能的实现195.1.3注册功能的实现215.2个人信息模块的设计与实现235.2.1登录状态的保存和拦截235.2.2个人信息的查看与修改255.3管理员模块的设计与实现265.3.1用户管理功能的实现265.3.2会议室管理功能的实现295.3.3设备管理功能的实现305.4经理模块的设计与实现315.4.1会议室管理功能的实现315.4.2设备管理功能的实现325.4.3发布会
10、议管理功能的实现325.5普通员工模块的设计与实现355.5.1查看会议功能355.5.2留言板功能365.5.3会议图片功能37结束语40参考文献41致谢42III 第一章 前言1.1课题研究背景外企会议管理系统是外企管理人员为了让会议信息快速地传达给参会人员,大幅度地提高开会的效率。传统的传播会议的途径主要以口头通知为主,信息传输途中很容易出现信息的错误,以及信息不能及时的传达给相关人员。企业的管理者也很难掌控关于会议的各种信息。所以,在日新月异的今天,传统的会议管理的方式已经很难适应外企发展的新要求,要想让外企对开会的效率有所提高,实现一个外企会议管理系统是很有必要的。1.2课题研究意义
11、外企会议与国企有很大区别。在国内的大多数企业中,他们在开会的时候,都是人进了会场后才知道会议的目的,内容。所以在会议现场,经常会出现与会人员一边听会议内容,一边看材料的情况,严重影响开会的效率。而在外企的会议里面,会议组织人员会事先准备好会议材料,如果材料的阅读量比较大,会预先另外准备一份会议摘要,将提前准备好的资料中的重点、需要讨论的重要部分进行标注,使与会人员能很清楚地知道会议的要点。已经准备好的会议上需要的材料,相关人员会在会议召开的前几天以各种形式发送到参与会议人员的手中,以确保在会议开始时,与会人员能及时到场并知晓会议的大体内容。如果会议的目的是布置各类人员的工作,那么在开会之前,会
12、议组织者就已经为所有的参加会议的人员安排好会上的任务、职权的划分和角色的扮演。所以所有人到了会议室后,都很清晰知道自己的任务以及什么事可以做什么事不能做。随着外企规模的扩大,业务量上升,会议对于一个企业来说变得尤为重要。传统的对会议管理方法不仅效率低下,而且且占用了大量的人力物力甚至还有财力,已经远远不能够适应现代企业对会议的的需求,其主要缺陷如下所示:1.传统通知会议延迟较高,很可能到了会议时间有关会议的信息还没有传递给员工。2.传统会议方式使得员工在会议开始时,对会议的相关信息了解不清,目的性不明确,使得会议的效率大打折扣。3.传统会议在开完会缺乏管理,很难对会后的信息进行很好的统计。为了
13、弥解决这些缺陷,提高外企开会的效率,以及会后的善后工作,会议管理系统就此诞生。它带来的好处有:1.信息传递交流顺畅员工只要登录到系统就可以很快速的查看到与自己相关的会议信息。2.对会议前的准备更加充分。用户管理模块,和会议室管理模块的建立,极大地简化了会议前的准备工作。3.会议信息发布和接收更加方便、快捷。发布会议和查看会议模块使得管理人员发布会议变得非常简单,再也不需要额外增加人员去通知,其他人对会议信息的了解变得快速,也更加全面。4.会后的讨论和留念也变得方便会议留言板的功能使得参与会议的人员之间的讨论更加方便,不再需要专门走到当事人面前进行交流,只需要轻轻动一动鼠标和键盘就可以实现。会议
14、图片的功能也让与会人员回忆起开会时的分氛围,具有很好的留念效果。1第二章 系统开发的平台与技术介绍系统使用J2EE开发、WEB容器为TOMCAT7.0,使用Struts2的框架配合Spring、Hibernate实现交互。页面展示使用js和jquery。数据库使用MySql5.5。开发工具使用MyEclipse10,、使用Firebug对页面进行调试。2.1 开发环境2.1.1 J2EEJ2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition)的缩写,主要是一组技术规范和指南,包含了各种各样的组件、应用程序服务架构以及技术层次,但它们都有共同的标准和
15、规格。J2EE具有良好的机制:1. 保留现有的IT资产:J2EE开发产品能在多种操作系统、硬件资源上配置运行,可以节省开发成本。2. 高效开发:J2EE开发人员不需要顾及服务器端繁琐的工作机制,只需将精力集中在创建业务逻辑上,这大大缩短了开发周期。3.异构环境的支持:J2EE开发的产品可移植好。4.编写简单:基于J2EE开发的应用程序,因其业务逻辑被封装成可复用的组件 ,并且好多web服务器和容器都为J2EE环境应用程序提供了内在支持,运行部署也还很方便。2.1.2 TOMCATTomcat是由Sun公司、Apache和其他一些公司共同开发完成的。由于有了Sun 公司的加入并且提供了技术支持,
16、所以在最新的Tomcat中,Servlet 和JSP 都变得更加规范和实用。由于具有Tomcat性能稳定、技术先进等特点,而且是完全免费的,所以许多的Java开发爱好者都非常的喜欢Tomcat,同时Tomcat也得到了部分软件开发商的认可。Tomcat成为时下很流行的Web 应用服务器。2.1.3 MySqlMySQL是由MySQL AB开发、发布和支持的一个开源类型的关系型数据库管理系统,它作为一个SQL数据库服务器拥有多用户、速度快、多线程、和稳定性高等特点,同时它还拥有高性能、成本低廉、可靠性强的特点,已经是当前互联网中最为流行的开源数据库,也因为这些特点,MySQL被广泛地应用在Int
17、ernet上的中小型网站中。 2.2 开发技术2.2.1 JqueryJquery是一个优秀的javaScript框架,兼容大部分的浏览器。拥有以下优点:1.轻量级:只需要引入200k左右js就可以完成很多工作。2.强大的选择器:Jquery选择器主要分为四类:基本选择器,层次选择器,过滤选择器,表单选择器。3.出色的浏览器兼容性:Jquery几乎支持目前市面上的所有浏览器。2.2.2 AjaxAJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。ajax其在浏览器上使用的是异步数据传输请求(HTTP 请求)与外部服务器之间进行通
18、信,这样的做法可以使得网页从服务器请求少量的信息,就能获得想要的信息,从而增强网页的动态交互性。2.2.3 JavaScriptJavaScript是基于事件和对象的一种驱动,作为客户端脚本语言,它具有相当高的安全性。它不需要服务器通道,作为一种解释型语言,可以及时响应客户端在文档页面的事件,并且能够灵活处理各个对象的各种属性和方法,具有较好的实时性和动态性。2.2.4 Struts2 Struts2是Struts的下一代产品,它是建立在 WebWork的技术基础上,完成的一个全新MVC框架,有较高的性能和良好的稳定性,因此经常会被应用到J2EE项目中。Struts让业务逻辑与前台进行分离,大
19、幅度提高了代码重用率,减少了应用操作的耦合度、数据表达和数据描述。 它的工作流程大致为:客户端向Web服务器发送请求,将被Struts2核心控制器FilterDispatcher拦截,接着FilterDispatcher通过读取struts.xml文件,决定将客户端请求转发给响应的业务逻辑控制器Action进行处理,最后Action将处理结果输出给客户端。2.2.5 SpringSpring是一个开源框架,它由Rod Johnson创建。它的出现可以轻松的解决企业应用开发过程中的繁琐和复杂有效地降低了代码量。Spring将数据封装到JavaBean中,完美实现了以前由EJB开发的事情。Spri
20、ng的面向切面技术支持将一些类似的任务像安全管理、事务管理、日志管理等任务集中起来进行管理,这样可以使代码更好的复用。2.2.6 HibernateHIbernate作为一个优秀的持久层框架,充分体现了ORM的设计理念,提供了高效的对象到关系型数据库的持久化服务。他将持久化服务从软件业务层中完全抽取出来,让业务逻辑的处理更加简单,程序之间的各种业务并非紧密耦合,更加有利于高效的开发与维护。开发人员在程序中可以利用面向对象的思想对关系型数据进行持久化操作,为关系型数据库和对象型数据打造一个便捷的高速公路。2.3 开发工具2.3.1 MyEclipse10MyEclipse是Genuitec在原来
21、Eclipse的基础上添加了自己的插件,利用它,我们可以极大的提高在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面的工作效率。它的JavaEE集成开发环境功能丰富,包含了完备的编码、调试、测试和发布功能,完整支持HTML、CSS、Javascript、JSP、Struts、Spring、MySQL、Hibernate。MyEclipse所拥有的智能提示的功能,可以加快代码的编写速度,对有些不太熟悉的Java类,它会弹出相应的对象以及对象的返回值,省去了查询api的功夫。在MyEclipse中,对Java类进行重命名时,它会智能地对类中的类名进行修改,很是方便。2.3.2 Fire
22、BugFirebug是火狐旗下子公司开发的一个插件,能够调试所有网站语言,它可以查看和编辑HTML、用控制台输出Javascript的错误信息、监视网络状况查看请求信息和出错情况,很好的帮助开发人员开发和调试JavaScript、CSS、HTML甚至是Ajax。但FireBug最厉害的,我觉得的就是调试javascript的功能。因为javascript不能在MyEclipse调试,而且firebug的js调试功能使用起来非常方便。除此之外,其他功能还很强大,比如html,css,dom的查看与调试,网站整体分析等等。总之就是一整套完整而强大的 WEB开发工具。再有就是其为开源的软件。第三章
23、系统概要设计3.1系统功能需求 系统开发要求开发者熟悉外企会议的流程,实现结果要求界面友好,健壮性强,功能完善。参照任务书,及需求设计文档,拟定系统的功能结构图如3-1所示。系统管理员经理普通员工个人信息修改个人信息会议管理发布会议查看会议上传资料个人信息留言板会议图片修改个人信息留言查看留言上传图片查看图片设备管理会议室管理会议室管理会议室管理设备管理会议室管理会议室审批设备审批设备管理下载会议资料查看会议会议室归还会议室申请设备申请设备归还图3-1系统结构图本系统操作主要分三种用户:普通员工,部门经理和总经理。面对普通员工,系统提供的功能主要有:查看会议,留言板,图片管理。普通员工的功能用
24、例图如3-2所示。图3-2普通员工用例图面对经理,系统提供的功能除了普通员工具有的功能外,还包括发布会议和会议室管理中的会议室申请和归还。经理的功能用例图如图3-3所示。图3-3经理用例图面对管理员,系统提供的功能有个人信息,用户管理和会议室管理中的添加会议室,和审批会议室。用例图如图3-4所示。 图3-4管理员用例图3.2系统介绍3.2.1 系统总体框架本系统采用的是基本的B/S结构模式开发,其具体的框架,如图3-5所示。3.2.2 系统总体设计本系统的用户通过首页,进入登录界面,通过用户身份验证(用户权限登级)进入不同的管理页面,用户通过管理页面进行具体的操作。系统操作流程图如图3-6所示
25、。图3-5系统框架3.2.3 系统总体特点1.界面友好:使用css对界面进行了美化,拥有良好的视觉效果。2.交互性强:使用Ajax技术实现异步请求。具有以上特点,系统简洁友好,交互性强,用户操作简单,方便。3.3系统功能说明开 始输入用户名,密码,选择权限。判断用户名,密码和权限管理员查看个人信息,用户管理,会议室添加、审批,设备添加审批。经理查看个人信息,发布会议,查看会议,上传会议资料,会议室预订和退回,设备预定和退回,留言板功能,图片查看图片、上传图片。普通员工查看个人信息,查看会议,下载会议资料,留言板查看留言及发布留言,图片管理查看图片、上传图片。退出登录结 束1.发布会议:权限为经
26、理的用户才可以发布会议信息。包括会议主题,会议类型,会议时间,会议组织者,会议参与者(从文本文件中导入),会议室信息(已经审批通过的),会议描述,会议目的。 否 是 图3-6系统流程图2.个人信息:点击个人信息可显示当前登录的用户信息,包括用户名,密码,性别,生日,职位和邮箱信息,同时可以修改当前的信息。3.查看会议:用户可以查询当前与自己相关的会议,上传会议资料,下载会议资料,并且可以按会议主题进行模糊查询。4.用户管理:权限为管理员的用户可以对用户进行管理,包括对用户名的模糊查询,修改和删除。5.会议室的管理:权限为管理员的用户可以对会议室进行添加,修改和删除操作,并对已预订的会议室进行审
27、批和退回。权限为经理的用户可以查询可用会议室,预定会议室和归还会议室。 6.会议设备的管理:权限为管理员的用户可以对会议设备进行添加,修改和删除操作,并对已预订的会议设备进行审批和退回。权限为经理的用户可以查询可用会议设备,预定会议设备和归还会议设备。7.留言板:权限为经理和普通员工的用户可以根据会议主题查看留言和留言及回复。8.图片管理:权限为经理和普通员工的用户可以根据会议主题上传会议中的精彩图片,浏览已上传的图片,并对会议图片进行放大、缩小和旋转的操作。 第四章 数据库设计4.1数据库分析根据系统的功能需求,详细设计了数据库及数据库表项。本系统包括部门、组、职位、用户、共享类型、共享文件
28、、考勤时间、考勤信息等多个实体,以下是各个实体的E-R图。1.职位的E-R图有职位编号,职位名称,具体如图4-1所示:图4-1部门E-R图2.用户的E-R图有用户编号,用户名,密码,性别,生日,职位编号和邮箱,具体如图4-2所示。图4-2 用户 E-R图3.会议室的E-R图主要包括会议室号码,会议室名称,会议室容量,会议室描述,会议室状态(是否可借),会议室申请状态,会议申请人,具体如图4-3所示:图4-3 会议室E-R图4.设备的E-R图主要包括设备编号、设备类型、设备状态和设备设备申请者,具体如图4-4所示:图4-4 设备E-R图5.会议的E-R图主要包括会议编号、会议主题、会议类型、会议
29、时间、会议组织者、会议参与者、会议室、会议描述、会议目的,附件路径,具体如图4-5所示。图4-5会议E-R图6.留言板的E-R图包括留言编号,留言内容,留言时间,留言者,所属会议编号,具体如图4-6所示。图4-6 留言板E-R图7.会议图片的E-R图包括图片编号、图片名称、图片上传者、图片描述、所属会议编号,具体如图4-7所示。图4-7 会议图片E-R图4.2 数据库表设计在4.1节中详细的介绍了系统中所有实体的信息及其属性,其中每个实体在数据库中都对应着一张表,所以本系统的数据库共有7张表,下面将这些表进行详细的设计及说明。1.职位信息表(job):主要包括职位编号,职位名称。各字段的具体信
30、息如表4-1所示:表4-1职位信息表(job)主键字段名称类型允许为空字段说明主键j_idint否职位编号j_namechar(20)是职位名称2.用户信息表(users):主要包括用户编号,用户名,密码,性别,生日,职位编号和邮箱。各字段的具体信息如表4-2所示:表4-2 用户信息表(users)主键或外键字段名称类型允许为空字段说明主键u_idint否用户编号u_namechar(50)是用户名u_passwordchar(20)是密码续表4-2 用户信息表(users)u_genderchar(2)是性别u_birthdaydate是生日外键u_jobidint否职位编号mailint是
31、邮箱3.会议室信息表(meetingroom):主要包括会议室编号,会议室名称,会议室容量,会议室描述,会议室状态(是否可借),会议室申请状态,申请人。各字段的具体信息如表4-3所示:表4-3 会议室信息表(meetingroom)主键或外键字段名称类型允许为空字段说明主键r_idint否会议室编号r_namechar(20)是部门编号r_capacityint是会议室容量r_stateint是会议室状态r_descriptionchar(50)是会议室描述r_reserveint是申请状态r_appliychar(50)是申请人4.设备信息表(equipment):主要包括设备编号、设备类型
32、、设备状态、设备申请者。各字段的具体信息,如表4-4所示:表4-4 设备信息表(equipment)主键或外键字段名称类型允许为空字段说明主键e_idint否设备编号e_namechar(50)是设备类型e_stateint是设备状态e_applierchar(255)是申请人5.会议信息表(meeting):主要包括会议的编号、会议主题、会议的类型、会议开始时间、会议组织者、会议参与者、会议状态、会议室、会议描述、会议目的,附件路径,会议设备各字段的具体信息如表4-5所示:表4-5 会议信息表(meeting)主键或外键字段名称类型允许为空字段说明主键m_idint否会议编号m_themec
33、har(20)是会议主题m_typechar(10)是会议类型m_timedate是会议时间外键m_organizerint是会议组织者m_joinerchar(150)是会议参与者m_stateint是会议状态m_roomint是会议室编号m_descriptionchar(100)是会议描述m_dutychar(50)是会议目的m_pathchar(100)是会议材料下载地址m_equipmentchar(150)是会议设备6.留言信息表(note):主要包括留言编号,留言内容,留言时间,留言者,所属会议编号。各字段的具体信息如表4-6所示:表4-6留言信息表(note)主键或外键字段名称
34、类型允许为空字段说明外键n_idint否留言编号n_assesschar(150)是留言内容n_Attendancechar(150)是发言人n_Summarychar(150)是发言时间n_meetingidint是所属会议编号7.图片信息表(photo):主要包括图片编号、图片名称、图片上传者、图片描述、所属会议编号。各字段的具体信息如表4-7所示:表4-7图片信息表(photo)主键或外键字段名称类型允许为空字段说明主键p_idint否图片编号p_namechar(100)是图片名称p_userchar(50)是上传者p_descriptionchar(150)是图片描述p_m_idin
35、t是所属会议编号39 第五章 系统详细设计及实现5.1登录注册模块设计及实现本登录模块采用了ajax异步提交的方式,设计时只要创建input对象和select对象,其中用户名那一栏属性为type,密码属性为password,登录和注册按钮的属性为button,职位的选择使用select对象,然后使用表格对控件进行排版并在页面中添加背景图片,对这些控件使用css进行美化,实现效果如图5-1:图5-1登录模块效果图5.1.1职位的获取页面加载时,会发送一个Ajax请求,调用JobAction中的findJob方法,请求的action需要在struts.xml进行配置,配置代码为:查询数据库中职位的
36、信息,在findJob中调用JobService中的findJob方法,然后JobService中调用jobDAO中的findAll方法,即可查询到在数据库中job的值,将查询到的值,以list的形式存放到result中,然后在ajax的success中取得存放在result中的值,用select中的option存放并显示出来,具体实现代码为:前台ajax请求和数据处理:jobAction中findJob:jobDAO中findAll:5.1.2登录功能的实现在实现登录功能,首先为登录按钮绑定click事件,然后在事件中发送Ajax请求(需在struts.xml中配置),并将用户名,密码以及职
37、位的信息以post的方式发送到LoginAction中,调用action的login()方法,其中用户名,密码的头名字须和users类中一致,这样Struts就可以将数据封装到对象中,发送请求的js代码为:在login()方法中,因为从前台传过去的数据名与Users对象中的字段名以及类型相同,struts2可以直接对其进行封装,所以用方式来获取用户名和密码。而职位信息,因为数据库中包含外键,数据类型不一样,用以上方式获取不到,所以要用request来获取,代码为:拿到值之后,根据用户名查询它的密码和职位编号进行判断,如果用户名或密码为空或者错误,则提示用户错误信息,实现效果如图5-2所示,如果
38、用户名和密码输入正确,则显示登录成功。实现效果如图5-3,其中查询时要将用户名传到UsersDAO中,在调用UsersDAO中的findByUName方法,而在findByUName的方法中调用了findByProperty方法,其中findByProperty的具体实现使用的就是hibernate的query查询,具体代码为:图5-2登录失败图5-3登录成功5.1.3注册功能的实现注册功能,首先跟跟登录一样为button绑定click事件,当点击注册按钮的时候,就会弹出一个modalDialog对话框,在modalDialog中引用了register.jsp,弹出界面如图5-4所示,在页面中
39、的控件跟登录界面类似,不再重复叙述。其中的生日框绑定了一个日期插件。具体实现方法为:在register.jsp页面中引入jquery1.10.2、jquery.ui.datepicker.js、jquery.ui.core.js三个js的文件,然后用JavaScript调用插件的接口,这样就可以完整的为填写生日的控件绑定了日期插件,具体的实现代码为:引入插件绑定插件实现效果如图5-5。图5-4初始登录界面图5-5日期插件显示点击提交后,调用Login.jsp中的register方法,具体实现跟登录类似。因为在数据库中生日字段是date类型的,所以需要在register方法中对前台取得的Stri
40、ng类型的生日进行转换,调用simpleDateFormate中的方法转换。具体实现代码如下:日期转换在对对象中的值设置好后调用userService中的saveUser方法,然后调用usersDAO中save方法就可实现注册功能。其中,在useDAO中的save方法执行了hibernate中的hql查询,具体代码如下:实现效果如图5-6所示。图5-6注册效果5.2个人信息模块的设计与实现5.2.1登录状态的保存和拦截用户登录成功后,需要将用户的信息保存到session中,具体方法为:定义一个map类型的session对象,设置它的set和get方法,然后就可以将user对象放到session
41、中,具体实现代码为:将users对象放到session中:在页面中,将session中的user对象信息从session中取出来放到页面上,方法为:实现效果如图5-7所示,图5-7用户登录信息对于登录状态的拦截,即为当用户没有登录时,即使访问main.jsp页面,系统也会直接跳到login.jsp页面上,实现方法为:在web.xml文件中配置下sessionFilter拦截器,拦截所有的.jsp页面,一旦访问jsp页面sessionFilter就会拦截。然后创建一个sessionFilter类,让他实现filter接口,重写其中的dofilter方法,获取session对象,判断当sessio
42、n对象中有值或者页面为register.jsp时,拦截器不工作,其他情况下都跳转到login.jsp页面。实现代码为:web.xml中:sessionFilter中:5.2.2个人信息的查看与修改在个人信息查看页面myInfo.jsp中,加载页面时立即发送ajax请求,访问LoginAction中得findUserByName方法,并调用了UsersService中的findUserByName方法,一直到UsersDAO中的findByProperty方法,与登录时调用的一致,然后得到list型的Users对象,然后在LoginAction中获取list型的Users对象中的第一个值并赋给r
43、esult1返回给前台。具体代码为:在前台通过设置控件的值将查询到的数据附给相应的控件,是查询的数据在页面上显示出来,因部分代码实现与前面类似,就不再重复,实现代码为:实现效果如图5-8所示:图5-8个人信息修改修改功能其实与查看相反,取得控件上的信息,通过ajax请求,发送到updateUsers方法中,通过userService调用userDAO中的update方法完成修改功能。5.3管理员模块的设计与实现5.3.1用户管理功能的实现加载用户管理界面时,默认查询出所有的用户信息,可通过用户名对用户进行查询,表格中修改和删除则是根据用户id进行管理的。大体的实现过程如下:首先加载页面时,发送
44、ajax请求获取session中存储的user对象的值,判断user的职位,只有职位为管理员的才可以进入用户信息管理页面。查询关键代码为:判断职位的相关代码:在Action中的:前台js代码:进入页面时发送请求调用findAllUsers方法,查询数据库中所有用户的信息,存放到result2中,在前台得到信息后,遍历查询到的信息并放置到表格中,当使用查询功能时,获取查询框中的值,并传输到后台action中,然后对获取的值进行处理,放到sql进行查询。具体实现代码为:查询表格中的数据时,发送请求,调用findAllUsers方法,在findAllUsers方法中调用userService中的findUsers方法,在调用usersDAO中的findAll方法,将查询到的信息存放到list型的result中,返回到前台。在前台将数据遍历到string字符串中,然后引用jquery的表格,将数据存放到表格中。在引用