




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要无纸化办公将人从繁琐、无序、低端的工作中解放出来从事核心事务,整体提高了单位办事效率和对信息的可控性,降低办公成本,提高执行力,使管理趋于完善。基于无纸办公的思想,提出当前的毕业班学生实习在外实习情况无法及时反馈给实习知道老师的问题。设计了本课题的高校专业实习管理系统。本课题,围绕着周报为中心,解决了学生实习的情况的全面记录与跟踪,便于指导老师针对学生遇到的具体问题给予指导以及评定毕业实习成绩。提高了实习生的实习质量,提高了教学的质量。关键词:MVC;RBAC;周报 ;AbstractWe now have a hand in each week is a weekly maintain communication with teachers, etc. conditions. Only in this condition based on the development of this system to help the teacher, without having to manually organize word document, archive space. Paperless office will be from the tedious, disorder, low-end work in the liberation of core business units of the overall improvement of the efficiency and controllability of information, reduce business costs, improve execution, so that the management tends to improve. Thoughts on the paperless office, proposed the current graduating student can not practice outside the Practice of timely feedback to the teacher training that problem. University of the topic designed professional practice management system. The topic centered around weekly to address the situation of students comprehensive training records and track, the instructor for students to facilitate the specific problems encountered in assessing graduation practice guidance and results. Improve the quality of intern training to improve the quality of teaching. Keywords,MVC; RBAC; Weekly目 录前言6第1章系统分析71.1系统设计目的71.2功能简介71.3系统需求71.3.1功能需求71.3.2性能需求:81.4用例分析91.4.1登陆管理用例91.4.2主程序用例:101.4.3规划总结管理用例:111.4.4突发事件管理用例:121.4.5系统管理用例:131.5运行环境131.5.1硬件环境131.5.2软件环境14第2章数据库设计152.1数据库设计分析152.2数据库字典152.2.1实习周报表 weekly_tb152.2.2实习周报内容表 weekly_info_tb162.2.3单位部门表 dept_tb162.2.4数据字典表 dict_tb162.2.5紧急事件通知表 notice_tb172.2.6操作日志表 note_tb172.2.7用户表 operator_tb172.2.8用户权限表 operator_popedom_tb182.2.9角色表 role_tb182.2.10角色权限表 role_popedom_tb18第3章系统架构设计193.1MVC模式分析193.2Java免费开源框架的选择203.3S2SH的整合方案21系统整体模式架构233.4权限模型设计24第4章部分功能实现274.1数据字典管理274.1.1数据字典设计说明294.1.2代码实现(Action层,Service层)304.2权限管理394.2.1权限设计说明394.2.2权限设计实现代码(部分)40第5章性能测试465.1测试说明465.1.1测试平台环境如下:465.1.2主要测试业务:465.2基准测试统计47设计总结48致谢49参考文献506符录51前 言我们现在已经有了“每个周都交上个周报与老师保持沟通等等”的条件。只是在这个条件的基础上开发了这个系统,帮助了老师,不用手动整理word文档,占空间存档.无纸化办公将人从繁琐、无序、低端的工作中解放出来从事核心事务,整体提高了单位办事效率和对信息的可控性,降低办公成本,提高执行力,使管理趋于完善。基于无纸办公的思想,提出当前的毕业班学生实习在外实习情况无法及时反馈给实习知道老师的问题。设计了本课题的高校专业实习管理系统。本课题,围绕着周报为中心,解决了学生实习的情况的全面记录与跟踪,便于指导老师针对学生遇到的具体问题给予指导以及评定毕业实习成绩。提高了实习生的实习质量,提高了教学的质量。 第1章 系统分析1.1 系统设计目的解决了学生实习的情况的全面记录与跟踪,便于指导老师针对学生遇到的具体问题给予指导以及评定毕业实习成绩。提高了实习生的实习质量,提高了教学的质量。1.2 功能简介规划总结管理:个人周报(周报的增删改查)信息查询:检索周报(按条件检索周报) 日常管理:审查周报(审批周报)突发事件管理:通告管理(通告的增删改查)系统维护:日志管理(日志增删改查),数据字典管理(数据字典增删改查)用户管理:用户角色权限管理部门管理:部门管理1.3 系统需求.1 功能需求 内容管理需求:a) 周报管理:发表周报、修改周报、删除周报、查看周报、审批周报。b) 通告管理:发布通告、修改通告、删除通告、更改通过、审批通告。 c) 用户管理:用户增加、用户修改、用户删除、用户查看、角色分配d) 部门管理:部门增加、部门修改、部门删除、部门查看e) 角色管理:角色增加、角色修改、角色删除、角色查看f) 功能管理:功能增加、功能修改、功能删除、功能查看g) 日志管理:日志增加、日志修改、日志删除、角色查看h) 数据字典管理:字典增加、字典修改、字典删除、字典查看1.3.2 性能需求: 响应时间与内存使用量:忽略网络环境因素、主题模板及功能插件运作的因素,以本地测试为准。数据库安装响应:时间2秒内,内存使用量最高上限8,000,000 bytes。前台浏览响应时间:时间0.8秒,内存使用量最高上限9,000,000 bytes。后台操作响应时间:时间0.9秒,内存使用量最高上限9,000,000 bytes。 数据库的优化、备份:提供所有数据表的SQL语句备份,SQL语句的查询数据备份。MySQL数据库的优化处理。 安全性:后台的界面访问、路径访问、操作执行的前后,均受登陆会话管理和用户权限管理的控制。1.4 用例分析1.4.1 登陆管理用例所有用户登陆管理修改密码注销登陆图表 11 登陆管理用例图本用例允许用户登陆管理相关的内容,进行登陆、注销、修改密码等基本操作。1.4.2 主程序用例:规划总结管理管理突发事件管理系统管理用户管理验证权限主程序用例图管理员图表 12 主程序一级用例图用户进行登陆认证后,在进行规划总结管理,突发事件管理,系统管理,用户管理等方面前验证用户权限,才能执行相关操作。1.4.3 规划总结管理用例:周报管理者检索周报审批周报查看周报周报管理图表 13 文章管理用例图周报使用者周报填写a) 周报管理者(指导老师可以审批,指导老师的上一级都可以查看但不得审批,指导老师的同级管理者不得查看)b) 周报每周填一次。c) 一旦周报审批通过,实习学生不得修改删除该篇周报。1.4.4 突发事件管理用例:通告管理者通告发布者发布紧急通告通过发布修改通告状态删除通告通告管理图表 14 评论管理用例图a) 通告发布1.4.5 系统管理用例:系统维护管理者系统管理功能管理部门管理角色管理用户管理操作日志管理 数据字典管理 图表 15 系统管理用例图a) 系统管理者包含(用户管理者,日常操作管理者,系统维护管理着), b) 用户管理者管理用户角色功能部门c) 日常管理者维护日常操作日志和数据字典。1.5 运行环境1.5.1 硬件环境a) 服务器端:服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的性能往往不尽人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本网络系统服务器端的配置如下:处理器:Inter Pentium(Celeron) 4 2.4GHz 或更高。内存:512MB硬盘空间:60G显卡:SVGA显示适配器b) 客户端:因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面的配置:处理器:Inter Pentium(Celeron) 4 1.6GHz 或更高。内存:32MB硬盘空间:1GB显卡:SVGA显示适配器1.5.2 软件环境a) 服务器端:操作系统:Windows NT/2000/2003/XP professional或Linux 2.6.4 .etc网站服务器:tomcat数据库管理系统:MySQL5.xb) 用户端:操作系统:Windows NT/2000/2003/XP professional或Linux 2.6.4 .etc第2章 数据库设计2.1 数据库设计分析各数据表描述数据表描述weekly_tb实习周报表weekly_info_tb实习周报内容表notice_tb紧急事件通告表operator_tb用户表operator_popedom_tb用户权限表role_tb角色表role_popedom_tb角色权限表menu_tb菜单表dept_tb部门表note_tb操作日志表表格21 数据表描述名词和符号定义1.*:主关键字符号;2.PK:主关键字缩写;3.+:外关键字符号;4.FK:外关键字缩写;5.&:复合关键字符号;6.CPK:复合关键字缩写;7.UNIQUE:唯一索引;2.2 数据库字典122.2.1 实习周报表 weekly_tb字段名类型描述备注*weekly_idint周报IDPK+op_idint填表人IDFK_week_datedatetime周报所在日期weekint周报所在周isDeptPlanvarchar(1)是否部门计划op_Timedatetime维护时间supervisor_idint指导老师idsupervisor_nidvarchar(50)抄送audit_descvarchar(1024)审核描述audit_namevarchar(30)审核人员audit_datedatetime审核时间statusvarchar(10)审核状态表格 22 weekly_tb表2.2.2 实习周报内容表 weekly_info_tb字段名类型描述备注* weekly_info_idint周报内容IDPK+ weekly_idint周报IDFK: weekly_info_tbinfo_typedatetime内容类型info_dateint内容时间info_contentvarchar(1)周报内容isKeydatetime是否关键内容resultint结果spend_timevarchar(50)花费时间info_exvarchar(1024)备用表格 23 weekly_info_tb表2.2.3 单位部门表 dept_tb字段名类型描述备注* dept_idint单位IDPK+parent_idint父结点FK: dept_tbisParentint类型dept_navarchar(30)单位名称dept_descvarchar(30)描述dept_ordervarchar(30)排列顺序op_Nameint维护人员op_Timedatetime维护时间表格 24 dept_tb表2.2.4 数据字典表 dict_tb字段名类型描述备注* dict_idint字典IDPK+parent_idint父结点FK:dict_tbisParentdatetime类型dict_orderdatetime排列顺序op_Nameint维护人员op_Timevarchar(50)维护时间表格 25 dict_tb表2.2.5 紧急事件通知表 notice_tb字段名类型描述备注* notice_idint通告idPK+dept_idint发布单位IDFK_weekly_info_tbtitlevarchar(100)通告名称contenttext通告内容notice_datedatetime通告时间keyWordvarchar(50)关键词audit_descvarchar(1024)审核描述audit_namevarchar(30)审核人员audit_datedatetime审核时间statusvarchar(10)审核状态op_Namevarchar(30)发布人员op_Timedatetime维护时间表格 26 notice_tb表2.2.6 操作日志表 note_tb字段名类型描述备注* idintidPK+op_idvarchar(20)操作idFK:operator_tbop_namevarchar(30)操作员op_timedatetime操作时间op_descvarchar(1024)操作内容op_ipvarchar(20)地址表格 27 note_tb表2.2.7 用户表 operator_tb字段名类型描述备注* op_idint操作员IDPK+role_idint角色idFK: role_tb+dept_idint部门IDFK: dept_tbsupervisor_idint直属主管idreg_idvarchar(20)登录idopNamevarchar(30)姓名passwordvarchar(100)密码sexvarchar(2)性别idCardvarchar(18)身份证号码phonevarchar(15)联系电话addrvarchar(100)住址mobilevarchar(15)手机emailvarchar(50)电邮educationvarchar(10)教育程度professionalvarchar(30)专业imgvarchar(100)学生图片op_Namevarchar(30)维护人员op_Timedatetime维护时间表格 28 operator_tb表2.2.8 用户权限表 operator_popedom_tb字段名类型描述备注* idintIDPK+menu_idint菜单IDFK: menu_tb+op_idint操作员IDFK: operator_tb表格 29 operator_popedom_tb表2.2.9 角色表 role_tb字段名类型描述备注* role_idint角色idPKrole_namevarchar(30)角色名称role_descriptvarchar(30)描述op_Namevarchar(30)维护人员op_Timedatetime维护时间表格 210 role_tb表2.2.10 角色权限表 role_popedom_tb字段名类型描述备注* idintIDPK+role_idint角色IDFK: role_tb+menu_idint菜单IDFK: menu_tb表格 211 role_popedom_tb表第3章 系统架构设计3.1 MVC模式分析使用像ASP,PHP,或者CFML这样的基于过程化开发的语言来开发一般的Web应用程序,它们的输入、处理和输出都不能很好的进行分离,因而很难体现出业务模型和业务重用性,以至于代码难以结构混乱和难以维护。虽然有经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。MVC是一种将应用程序的逻辑层和表现层进行分离的方法。Codeigniter(后简称CI)是基于模型-视图-控制器这一设计模式的。本系统采用CI框架下的MVC开发模式。 模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。 视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在 CI中,一个视图也可以是一个页面片段,如页头、页尾。 控制器(Controller)是模型、视图以及其它任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。MVC三层模式的好处显而易见,首当其冲就是模型重性能很好地发挥,因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松偶合的构件。MVC有它的优点同时,我对MVC的模式开发有自己的一点看法,由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。同时在抽象出业务处理的模型时,虽然能够屏蔽掉其它层次不相关的处理细节,但也限制了与之相关的功能扩展。或者可以根据MVC分离式设计,经由修改内部代码来扩展功能和业务,但好的扩展性是体现在添加而不是修改上。需求总是会变的,若要扩展业务或功能时,开放人员就不得不重新在模型里面添加代码甚至改变内部结构以适应新的需求。3.2 Java免费开源框架的选择Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。STRUCTS Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。JqueryJquery是继prototype之后又一个优秀的Javascrpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。3.3 S2SH的整合方案1.首先创建一个web工程,2.向工程加入hibernate支持,这里我们使用的是hibernate 3.2图3-1 加入Hibernate工程3.向工程加入spring支持,这里我们使用的是spring3.0 图3-2 加入Spring工程选中这5个库包: Spring 3.0 AOP Libraries Spring 3.0 Core Libraries Spring 3.0 Persistence Core Libraries Spring 3.0 Persistence JDBC Libraries Spring 3.0 Web Libraries 也不要忘记将jar包加入到/WebRoot/WEB-INF/lib。 4.加入struts2支持 图3-3 加入Struts工程系统整体模式架构图3-4 MVC-Struts、Spring、Hibernate框架图图3-5 S2SH整合框架图3.4 权限模型设计RBAC支持三个著名的安全原则:最小权限原则,责任分离原则和数据抽象原则。最小权限原则之所以被RBAC所支持,是因为RBAC可以将其角色配置成其完成任务所需要的最小的权限集。责任分离原则可以通过调用相互独立互斥的角色来共同完成敏感的任务而体现,比如要求一个计帐员和财务管理员共参与同一过帐。数据抽象可以通过权限的抽象来体现,如财务操作用借款、存款等抽象权限,而不用操作系统提供的典型的读、写、执行权限。然而这些原则必须通过RBAC各部件的详细配置才能得以体现。 RBAC有许多部件,这使得RBAC的管理多面化。尤其是,我们要分割这些问题来讨论:用户与角色的指派;角色与权限的指派;为定义角色的继承进行的角色与角色的指派。这些活动都要求把用户和权限联系起来。然而在很多情况下它们最好由不同的管理员或管理角色来做。对角色指派权限是典型的应用管理者的职责。银行应用中,把借款、存款操作权限指派给出纳角色,把批准贷款操作权限指派给经理角色。而将具体人员指派给相应的出纳角色和管理者角色是人事管理的范畴。角色与角色的指派包含用户与角色的指派、角色与权限的指派的一些特点。更一般来说,角色与角色的关系体现了更广泛的策略。(1)用户、角色、许可基于角色访问控制的要素包括用户、角色、许可等基本定义。在RBAC中,用户就是一个可以独立访问计算机系统中的数据或者用数据表示的其他资源的主体。角色是指一个组织或任务中的工作或者位置,它代表了一种权利、资格和责任。许可(特权)就是允许对一个或多个客体执行的操作。一个用户可经授权而拥有多个角色,一个角色可由多个用户构成;每个角色可拥有多种许可,每个许可也可授权给多个不同的角色。每个操作可施加于多个客体(受控对象),每个客体也可以接受多个操作。图8.3 用户、角色、许可的关系用户表(USERS)包括用户标识、用户姓名、用户登录密码。用户表是系统中的个体用户集,随用户的添加与删除动态变化。角色表(ROLES)包括角色标识、角色名称、角色基数、角色可用标识。角色表是系统角色集,由系统管理员定义角色。客体表(OBJECTS)包括对象标识、对象名称。客体表是系统中所有受控对象的集合。操作算子表(OPERATIONS)包括操作标识、操作算子名称。系统中所有受控对象的操作算子构成操作算子表。许可表(PERMISSIONS)包括许可标识、许可名称、受控对象、操作标识。许可表给出了受控对象与操作算子的对应关系。角色/许可授权表包括角色标识、许可标识。系统管理员通过为角色分配或取消许可管理角色/许可授权表。RBAC的基本思想是:授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。RBAC中许可被授权给角色,角色被授权给用户,用户不直接与许可关联。RBAC对访问权限的授权由管理员统一管理,RBAC根据用户在组织内所处的角色作出访问授权与控制,授权规定是强加给用户的,用户不能自主地将访问权限传给他人,这是一种非自主型集中式访问控制方式。例如,在医院里,医生这个角色可以开处方,但他无权将开处方的权力传给护士。在RBAC中,用户标识对于身份认证以及审计记录是十分有用的;但真正决定访问权限的是用户对应的角色标识。用户能够对一客体执行访问操作的必要条件是,该用户被授权了一定的角色,其中有一个在当前时刻处于活跃状态,而且这个角色对客体拥有相应的访问权限。即RBAC以角色作为访问控制的主体,用户以什么样的角色对资源进行访问,决定了用户可执行何种操作。ACL直接将主体和受控客体相联系,而RBAC在中间加入了角色,通过角色沟通主体与客体。分层的优点是当主体发生变化时,只需修改主体与角色之间的关联而不必修改角色与客体的关联。(2)角色继承为了提高效率,避免相同权限的重复设置,RBAC采用了“角色继承”的概念。定义了这样的一些角色,它们有自己的属性,但可能还继承其他角色的许可。角色继承把角色组织起来,能够很自然地反映组织内部人员之间的职权、责任关系。角色继承可以用祖先关系来表示。如图所示,角色2是角色1的“父亲”,它包含角色1的许可。在角色继承关系图中,处于最上面的角色拥有最大的访问权限,越下端的角色拥有的权限越小。图8.4角色继承的实例角色层次表包括上一级角色标识、下一级角色标识。上一级角色能够继承下一级角色的许可。(3)角色分配与授权用户/角色分配表包括用户标识、角色标识。系统管理员通过为用户分配角色、取消用户的某个角色等操作管理用户/角色分配表。用户/角色授权表包括用户标识、角色标识、可用性。我们称一个角色r授权给一个用户u要么是角色r分配给用户u,要么是角色r通过一个分配给用户u的角色继承而来。用户/角色授权表记录了用户通过用户/角色分配表以及角色继承而取得的所有角色。可用性为真时,用户才真正可以使用该角色赋予的许可。(4)角色限制角色限制包括角色互斥与角色基数限制。对于某些特定的操作集,某一个用户不可能同时独立地完成所有这些操作。角色互斥可以有静态和动态两种实现方式。静态角色互斥:只有当一个角色与用户所属的其他角色彼此不互斥时,这个角色才能授权给该用户。动态角色互斥:只有当一个角色与一主体的任何一个当前活跃角色都不互斥时,该角色才能成为该主体的另一个活跃角色。静态互斥角色表包括角色标识1、角色标识2。系统管理员为用户添加角色时参考。动态互斥角色表包括角色标识1、角色标识2。在用户创建会话选择活跃角色集时参考。角色基数限制是指在创建角色时,要指定角色的基数。在一个特定的时间段内,有一些角色只能由一定人数的用户占用。(5)角色激活用户是一个静态的概念,会话则是一个动态的概念。一次会话是用户的一个活跃进程,它代表用户与系统交互。用户与会话是一对多关系,一个用户可同时打开多个会话。一个会话构成一个用户到多个角色的映射,即会话激活了用户授权角色集的某个子集,这个子集称为活跃角色集。活跃角色集决定了本次会话的许可集。会话表包括会话标识、用户标识。会话的活跃角色表包括会话标识、角色标识。1.4第4章 部分功能实现12344.1 数据字典管理图表 41 数据字典4.1.1 数据字典设计说明图表 42 添加数据字典输入条件:选择父节点,不选则默认为顶级。名称必填,排序必填。图表 43 修改数据字典数据字典的用途数据字典最重要的用途是作为分析阶段的工具。在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户之间的通信,因此将消除许多可能的误解。对数据的这一系列严密一致的定义也有助于改进在不同的开发人员或不同的开发小组之间的通信。如果要求所有开发人员都根据公共的数据字典描述数据和设计模块,则能避免许多麻烦的接口问题。数据字典中包含的每个数据元素的控制信息是很有价值的。因为列出了使用一个给定的数据元素的所有程序(或模块),所以很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块作出相应的改变。数据字典数据库结构设计:采用树结构设计。可灵活定义各种数据约束4.1.2 代码实现(Action层,Service层)Action:package org.novitiate.action;import java.sql.Timestamp;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import erceptor.ServletRequestAware;import erceptor.ServletResponseAware; import org.novitiate.base.BaseAction;import org.novitiate.pojo.DictTb;import org.novitiate.pojo.MenuTb;import org.novitiate.pojo.NoteTb;import org.novitiate.pojo.OperatorTb;import org.novitiate.service.AdminService;import org.novitiate.service.DictService;import org.novitiate.service.MenuService;import org.novitiate.service.NoteService;import org.novitiate.util.Page;import com.opensymphony.xwork2.ActionSupport; import mons.beanutils.BeanComparator;public class DictAction extends ActionSupport implements BaseAction,ServletRequestAware,ServletResponseAware /formprivate String dname;private Integer parentId;private Integer dictOrder;private Integer did;private String pageNo;/serviceprivate DictService dictService; private NoteService noteService;private AdminService adminService;private MenuService menuService;/httpprivate HttpServletRequest request;private HttpServletResponse response;/outputOverridepublic String delete() String str1=request.getParameter(ids);/System.out.println(ids:+str1);Integer ids=null;OperatorTb user=(OperatorTb) request.getSession().getAttribute(user);if(str1.indexOf(,)-1)String str=str1.split(,);for (int i = 0; i str.length; i+) ids=Integer.decode(stri);DictTb role=(DictTb) dictService.getId(ids);List list=dictService.getParent(ids);if(list=null)try dictService.delete(role);NoteTb note=new NoteTb();note.setOpIp(request.getRemoteAddr();note.setOpDesc(删除字典,字典名称:+role.getDictName()+编号:+ids);note.setOpId(user.getRegId();note.setOpName(user.getOpName();note.setOpTime(new Timestamp(System.currentTimeMillis();noteService.save(note); catch (RuntimeException e) / TODO Auto-generated catch blocke.printStackTrace();elserequest.setAttribute(dictstr,alert(数据已经被引?););elseids=Integer.decode(str1);DictTb role=(DictTb) dictService.getId(ids);List list=dictService.getParent(ids);if(list=null)try dictService.delete(role); catch (RuntimeException e) / TODO Auto-generated catch blocke.printStackTrace();NoteTb note=new NoteTb();note.setOpIp(request.getRemoteAddr();note.setOpDesc(删除数据字典,字典名称:+role.getDictName()+编号:+ids);note.setOpId(user.getRegId();note.setOpName(user.getOpName();note.setOpTime(new Timestamp(System.currentTimeMillis();noteServic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医疗器械管理师资格考试试卷及答案
- 2025年外科医生资格考试试题及答案
- Scyphostatin-生命科学试剂-MCE
- Agmatine-sulfate-Standard-生命科学试剂-MCE
- 2025年人民币汇率波动影响分析考试试卷及答案
- 2025年农作物育种学期末考试试题及答案
- 2025年社会心理学专业知识考试题及答案
- 2025年基础工程与施工管理考试试题及答案
- 2025年教师资格考试重点复习试卷及答案
- 2025年酒店管理专业实务考试题及答案
- 2025年广东省万阅大湾区百校联盟中考二模语文试题(含答案)
- 护士理论考试试题及答案
- 2024-2025学年天津市八年级下期末数学模拟试卷(附答案解析)
- 2025年继续教育公需科目网络考试试题及答案
- 福建省厦门市2023-2024学年高一下学期期末质量检测历史试题(解析版)
- 油漆工包工合同协议书
- 2025高考终极押题范文6篇与题目
- 工程项目经理竞聘演讲稿
- 基于“学-教-评”一体化理念下的高中古诗词教学策略研究
- 天津水务集团有限公司招聘考试真题2024
- 统编版(2024)七年级下册历史期末专题复习课件40张
评论
0/150
提交评论