资产管理系统毕业论文.doc_第1页
资产管理系统毕业论文.doc_第2页
资产管理系统毕业论文.doc_第3页
资产管理系统毕业论文.doc_第4页
资产管理系统毕业论文.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计 论文 毕业设计 论文 题 目 资产管理系统 摘要 摘要 现代企业管理越来越强调利用有形资产来提供优质服务的能力 即通过资产管理 来确保有形资产物尽其用 安全运行 在希望的时间和地点提供需要的设备 同时尽可能 地降低运行和维护成本 资产管理系统为企业提供全面 迅速的资产信息 方便管理者了 解和操作企业内部的资产管理 本系统是基于 B S 的多层 Web 应用 在 windows 7 操作系统下 本系统选择了 Myeclipse8 6 开发环境 Mysql 数据库和 JSP Struts Spring Hibernate AJAX 技术 利用 MVC 设计模式将业务逻辑和表示逻辑分离 在表示逻辑层利用 JSP 技术实现了页面制作 利用 AJAX 实现无刷新技术 在业务逻辑层 利用 Struts Spring 技术实现了系统设置 资 产管理以及分类统计三个主要模块的开发 后台使用 Mysql 进行数据库的开发 并利用 Hibernate 技术完成对数据库的封装映射 实现了数据查询 修改 增加 删除等功能 关键词 资产管理 JSP SSH MySQL 设计模式 目录目录 毕业设计 论文 毕业设计 论文 1 第一章第一章 绪论绪论 4 1 1 选题背景 4 1 2 问题的提出 4 1 3 系统的开发目标 4 第二章第二章 系统概要设计系统概要设计 5 2 1 系统分析 5 2 2 系统的可行性分析 5 2 2 1 技术可行性 5 2 2 2 经济可行性 5 2 2 3 管理可行性 6 2 2 4 系统功能结构图 6 第三章第三章 开发环境的说明与安装开发环境的说明与安装 6 3 1 开发语言的选择 6 3 2 数据库的选择 7 3 3 开发工具的选择 8 3 4 系统所涉及的关键技术 9 第四章第四章 系统设计系统设计 11 第五章第五章 数据库设计数据库设计 17 5 1 资产管理系统数据库表结构说明 17 第六章第六章 主要编码实现主要编码实现 19 6 1 公共类设计 19 6 2 系统的实现 21 第七章第七章 参考文献参考文献 30 第八章第八章 致谢致谢 30 第一章第一章 绪论绪论 1 1 选题背景选题背景 随着 internet 技术的不断发展 应用软件迅速普及 大到厂矿校企 小到图书 餐 饮行业 无不应用了信息技术 实现了现代化管理 目前我国中小企业运用信息化等手段 开展现代化治理已经具备良好的基础 但是发展不平衡 从企业规模看 大型企业的信息 化水平远远高于小型企业 尤其是采购 生产 库存和销售的信息化程度这四项指标尤为 突出 中小企业的差距也最为明显 因此加快信息化建设 实现现代化管理是中小企业的 必然选择 企业资产管理的着眼点是帮助企业管理好有形资产 使之物尽其用 而且要使企业资 产的投资回报最大化 原始的企业资产管理体制 采用人力管理浪费大量的时间 人力和 物力 并且数据准确性低 数据汇总速度慢 企业资产管理之所以非常重要 是因为良好 的资产管理能够减少设备的故障率 缩短维修响应和维修工作时间 延长设备寿命 提高 仓库备件储存水平的合理性 提高采购的科学性 1 2 问题的提出问题的提出 现代企业管理越来越强调利用有形资产来提供优质服务的能力 即通过资产管理来确 保有形资产物尽其用 安全运行 在希望的时间和地点提供需要的设备 同时尽可能地降 低运行和维护成本 资产管理系统为企业提供全面 迅速的资产信息 方便管理者了解和 操作企业内部的资产管理 1 3 系统的开发目标系统的开发目标 开发资产管理系统目的在于解决企业资产管理过程中不必要的人力 物力的浪费 提 高数据汇总速度 从而提高资产管理的合理性和科学性 资产管理系统具有三大功能 系统设置 可以对资产管理系统的管理员 用户 部门 类别以及个人信息设置 即 增删 改 查的操作 资产管理 企业的资产的增加 资产信息 使用人员及部门的修改 资产的送修 资 产的删除等管理操作 分类统计 按照指定的日期区间查找出指定的资产进行操作 第二章第二章 系统系统概要设计概要设计 2 1 系统分析系统分析 为了保证系统能够长期 安全 稳定 可靠 高效的运行 系统应该满足以下的性能需求 1 系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能 在系 统设计和开发过程中 要充分考虑系统当前和将来可能承受的工作量 使系统的处理能力 和响应时间能够满足教师的操作以及和学生之间的快速交互的需求 2 系统的开放性和系统的可扩充性 系统在开发过程中 应该充分考虑以后的可扩充 性 例如数据表中用户选择字段方式的改变 用户查询的需求也会不断的更新和完善 所 有这些 都要求系统提供足够的手段进行功能的调整和扩充 而要实现这一点 应通过系 统的开放性来完成 既系统应是一个开放系统 只要符合一定的规范 可以简单的加入和 减少系统的模块 配置系统的硬件 通过软件的修补 替换完成系统的升级和更新换代 3 系统的易用性和易维护性 要实现这一点 就要求系统应该尽量使用用户熟悉的术 语和中文信息的界面 针对用户可能出现的使用问题 要提供足够的在线帮助 缩短用户 对系统熟悉的过程 4 系统的数据要求 1 数据录入和处理的准确性和实时性 2 数据的一致性与完整性 3 数据的共享与独立性 4 对于系统中一些不予以公布的系统 系统每个用户有保密的权利 2 2 系统的可行性分析系统的可行性分析 2 2 1 技术可行性技术可行性 运用 Sun 公司开发的 J2EE 体系结构 采用 MVC 三层架构的模式 在设计模式上 使用当前流行的 SSH 框架 采用 Hibernate 作为 ORM 框架 J2EE 是一种利用 Java 2 平台来 简化企业解决方案的开发 部署和管理相关的复杂问题的体系结构 J2EE 技术的基础就是 核心 Java 平台 J2EE 不仅巩固了标准版中的许多优点 同时还提供了对 Java Servlet API JSP Java Server Pages 以及 XML 技术的全面支持 开发过程中运用 MyEclipse8 6 开发工具 该开发工具是 Eclipse 的一个插件 Eclipse 本身就是一个功能非常强大的开发工具 而 MyEclipse 在功能上与 Tomcat 进行了集成 并且能做到自动打包 并将包自动部署到服务器上 这从很大程度上提高了开发的效率 节约了开发的时间 2 2 2 经济可行性经济可行性 系统在硬件和软件方面需求都不是很大 数据库目前采用 mysql 数据库 在维护方 面非常便捷 如果以后数据量很大的情况下 可以转移为 Oracle 数据库替代 mysql 系统 只需设置一个服务器 使用者通过 IE 浏览器登陆系统 操作赋予自己的系统操作功能 总 体上经济不会超过 5000 元 所以说在经济上本系统完全可行 2 2 3 管理可行性管理可行性 本系统只有 2 个角色可以登录进行操作 管理员与超级管理员 系统中有用户这个角色 此角色不能登录到系统 仅仅作为资产拥有者而存在 用户 的信息由管理员录入 管理员可以管理用户 部门 类别 资产 超级管理员除了拥有管理员的权限外 还可以管理管理员 2 2 4 系统功能结构图系统功能结构图 资产管理系统 系统管理 资产管理分类统计 分 类 统 计 资 产 管 理 资 产 送 修 个 人 设 置 用 户 设 置 管 理 员 设 置 部 门 设 置 类 别 设 置 第三章第三章 开发环境的说明与安装开发环境的说明与安装 3 1 开发语言的选择开发语言的选择 Java 是一种简单的 面向对象的 分布式的 解释型的 健壮安全的 结构中立的 可移植的 性能优异 多线程的动态语言 1 Java 语言是简单的 Java 语言的语法与 C 语言和 C 语言很接近 使得大多数程序员 很容易学习和使用 Java 另一方面 Java 丢弃了 C 中很少使用的 很难理解的 令人迷 惑的那些特性 如操作符重载 多继承 自动的强制类型转换 特别地 Java 语言不使用 指针 并提供了自动的废料收集 使得程序员不必为内存管理而担忧 2 Java 语言是一个面向对象的 Java 语言提供类 接口和继承等原语 为了简单起见 只支持类之间的单继承 但支持接口之间的多继承 并支持类与接口之间的实现机制 关 键字为 implements Java 语言全面支持动态绑定 而 C 语言只对虚函数使用动态绑定 总之 Java 语言是一个纯的面向对象程序设计语言 3 Java 语言是分布式的 Java 语言支持 Internet 应用的开发 在基本的 Java 应用编程接 口中有一个网络应用编程接口 它提供了用于网络应用编程的类库 包括 URL URLConnection Socket ServerSocket 等 Java 的 RMI 远程方法激活 机制也是开 发分布式应用的重要手段 4 Java 语言是健壮的 Java 的强类型机制 异常处理 废料的自动收集等是 Java 程序 健壮性的重要保证 对指针的丢弃是 Java 的明智选择 Java 的安全检查机制使得 Java 更具 健壮性 5 Java 语言是安全的 Java 通常被用在网络环境中 为此 Java 提供了一个安全机制以 防恶意代码的攻击 除了 Java 语言具有的许多安全特性以外 Java 对通过网络下载的类具 有一个安全防范机制 类 ClassLoader 如分配不同的名字空间以防替代本地的同名类 字节代码检查 并提供安全管理机制 类 SecurityManager 让 Java 应用设置安全哨兵 软件开发网 6 Java 语言是体系结构中立的 Java 程序 后缀为 java 的文件 在 Java 平台上被编译 为体系结构中立的字节码格式 后缀为 class 的文件 然后可以在实现这个 Java 平台的任 何系统中运行 这种途径适合于异构的网络环境和软件的分发 7 Java 语言是可移植的 这种可移植性来源于体系结构中立性 另外 Java 还严格规定 了各个基本数据类型的长度 Java 系统本身也具有很强的可移植性 Java 编译器是用 Java 实现的 Java 的运行环境是用 ANSI C 实现的 8 Java 语言是解释型的 如前所述 Java 程序在 Java 平台上被编译为字节码格式 然 后可以在实现这个 Java 平台的任何系统中运行 在运行时 Java 平台中的 Java 解释器对这 些字节码进行解释执行 执行过程中需要的类在联接阶段被载入到运行环境中 9 Java 是高性能的 与那些解释型的高级脚本语言相比 Java 的确是高性能的 事实上 Java 的运行速度随着 JIT Just In Time 编译器技术的发展越来越接近于 C 10 Java 语言是多线程的 在 Java 语言中 线程是一种特殊的对象 它必须由 Thread 类或其子 孙 类来创建 通常有两种方法来创建线程 其一 使用型构为 Thread Runnable 的构造子将一个实现了 Runnable 接口的对象包装成一个线程 其二 从 Thread 类派生出子类并重写 run 方法 使用该子类创建的对象即为线程 值得注意的是 Thread 类已经实现了 Runnable 接口 因此 任何一个线程均有它的 run 方法 而 run 方法 中包含了线程所要运行的代码 线程的活动由一组方法来控制 Java 语言支持多个线程的 同时执行 并提供多线程之间的同步机制 关键字为 synchronized 11 Java 语言是动态的 Java 语言的设计目标之一是适应于动态变化的环境 Java 程序 需要的类能够动态地被载入到运行环境 也可以通过网络来载入所需要的类 这也有利于 软件的升级 另外 Java 中的类有一个运行时刻的表示 能进行运行时刻的类型检查 本系采用 Java 语言 结合当今比较主流的 SSH struts2 hibernate3 spring 5 框架 Ajax jQuery JavaScript CSS spring2 5 注解 dwr 等技术 开发语言采用 JSP 语言 3 2 数据库的选择数据库的选择 本系统采用MySQL 小型数据库 如果以后系统数据量大以及需要大量维护 可以转移 到 Oracle 大型数据库上 MySQL 是一个真正的多用户 多线程 SQL 数据库服务器 SQL 结构化查询语言 是 世界上最流行的和标准化的数据库语言 MySQL 是以一个客户机 服务器结构的实现 它由 一个服务器守护程序 mysqld 和很多不同的客户程序和库组成 SQL 是一种标准化的语言 它使得存储 更新和存取信息更容易 例如 你能用 SQL 语言为一个网站检索产品信息及存储顾客信息 同时 MySQL 也足够快和灵活以允许你存储 记录文件和图像 MySQL 主要目标是快速 健壮和易用 最初是因为我们需要这样一个 SQL 服务器 它 能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库 但速 度更快 MySQL 就开发出来 自 1996 年以来 我们一直都在使用 MySQL 其环境有超过 40 个数据库 包含 10 000 个表 其中 500 多个表超过 7 百万行 这大约有 100 个吉字节 GB 的关键应用数据 MySQL 建立的基础是业已用在高要求的生产环境多年的一套实用例程 尽管 MySQL 仍 在开发中 但它已经提供一个丰富和极其有用的功能集 接下来我将对两个数据库作简单的比较 1 安全性 不管是 MySQL 还是 MySQL 在外部网络中 都受到相当大的威胁 相比 而言 MySQL 受到的威胁甚至要更大些 最近 2 年来 MySQL 暴露出了多个远程溢出漏洞 如果配置的比较好的话 我认为 Oracle 要比 MySQL 安全一些 因为随时会爆发的新溢出 漏洞是防不胜防的 而且能够执行系统命令的 sql 注入攻击也非常可怕 2 易用性 毫无疑问 Oracle 和 MySQL 的易用性比较差 入门的门槛高了点 特别是 Oracle MySQL 相对比较容易 微软的东西不管性能怎么样 易用性都做得不错 3 开发环境 Eclipse 和 Tomcat 本身对数据库都没有什么要求 只要你有 JDBC 驱动 连接都差不多 稳定性和性能也没多大区别 从开发的角度来讲 中小型项目 Oracle 和 MySQL 都是不错的选择 3 3 开发工具的选择开发工具的选择 IDE 工具 MyEclipse8 6 MyEclipse 是在 IBM 开发的 IDE 工具 Eclipse 基础上集合了一系列插件的代码编写工具 利用它我们可以在数据库和 J2EE 的开发 发布 以及应用程序服务器的整合方面极大的提 高工作效率 它是功能丰富的 J2EE 集成开发环境 包括了完备的编码 调试 测试和发布 功能 完整支持 HTML Struts JSF CSS Javascript SQL Hibernate 数据库可视化操作工具 SQLyog Enterprise SQLyog 是业界著名的 Webyog 公司出品的一款简洁高效 功能强大的图形化 MySQL 数 据库管理工具 使用 SQLyog 可以快速直观地让您从世界的任何角落通过网络来维护远端的 MySQL 数据库 它具有易用的数据库 数据表备份与还原功能 支持导入与导出 XML HTML CSV 等多种格式的数据 直接运行批量 SQL 脚本文件 速度极快等优点 WEB 容器 Tomcat6 0 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器 也是一个小型的轻量级 应用服务器 在中小型系统和并发访问用户不是很多的场合下被普遍使用 是开发和调试 JSP 程序的首选 对于一个初学者来说 可以这样认为 当在一台机器上配置好 Apache 服务器 可利用它响应对 HTML 页面的访问请求 实际上 Tomcat 部分是 Apache 服务器 的扩展 但它是独立运行的 所以当你运行 tomcat 时 它实际上作为一个与 Apache 独立 的进程单独运行的 3 4 系统所涉及的关键技术系统所涉及的关键技术 MVC Model View Controller 模式 视图 控制器 模式的结构由以下三种部分组 成 模型 Model 视图 View 和控制器 Controller 如下图所示 通知变化状态变化 通知变化 用户请求 查看变化 MVC 模式的功能示意图 模型层中的模型就是指业务逻辑模型和数据模型 模型接收视图请求的数据 并返 回最终的处理结果 这里只所以把模型层单独抽取出来 是为了应对业务规则的变化 模型 视图控制器 也是判断开发人员是否优秀的设计依据 MVC 并没有提供模型的设计方法 而只告 诉开发人员应该组织管理这些模型 以便于模型的重构和提高重用性 视图层主要是用来展现用户所需要的数据 它是用户和系统进行交互的界面 可以采用 HTML XML Servlet 等技术 一般来说 视图只接收来自模型的数据并显 示给用户 以及将用户界面的输入数据和请求传递给控制和模型 6 7 MVC 设计模式对 于视图的处理仅限于视图上数据的采集和处理 以及用户的请求 而不包括在视图上业 务流程的处理 业务流程的处理和状态的改变则交给模型层处理 视图部分的大致处理 流程是 页面模板定义页面布局 页面配置文件定义视图标签的具体内容 由页面布局 策略类初始化并加载页面 每个用户部件根据自己的配置进行初始化 加载校验器并设 置参数 以及事件的委托等 用户提交后 通过了表示层的校验 用户部件把数据自动 提交给业务实体即模型 控制层就像一个中转站 它从用户那里接收请求 并根据用户的请求 将模型与视 图匹配在一起 共同完成用户的请求 在实现上 为了能够控制和协调每个用户跨越多个 请求的处理 控制机制应该以集中的方式进行管理 8 用户提交一个表单或者单击一个链 接 控制层接收请求后 它本身并不处理业务信息 而是根据用户的请求类型 把用户的 信息传递给相对应的模型 告诉模型做什么 等模型处理完毕后 再把模型处理后的数据 选择符合要求的视图返回给用户 通过将模型 视图和控制器分离 使得一个模型可以对应多个视图 一个视图可能 对应多个模型 如果用户通过某个视图的控制改变了模型的数据 所有其他依赖于这些 数据的视图都反映到这些变化 因此 无论何时发生了何种数据变化 控制器都会将变 化通知多有的视图 导致显示的更新 Struts 是一个 MVC 框架 Framework 能够实现 JavaWeb 应用的快速开发 Struts 实 现的重点在 C Controller 包括 ActionServlet RequestProcessor 和我们定制的 Action 也为 V View 提供了一系列定制标签 CustomTag 但 Struts 几乎没有涉及 M Model 所以 Struts 可以采用 JAVA 实现的任何形式的商业逻辑 Spring 是一个轻型容器 light weightcontainer 其核心是 Bean 工厂 BeanFactory 用以构造我们所需要 的 M Model 在此基础之上 Spring 提供了 AOP Aspect OrientedProgramming 面向层面的编程 的实现 用它来提供非管理环境下申明方式的事务 安全等服务 对 Bean 工厂的扩展 ApplicationContext 更加方便我们实现 J2EE 的应用 WebMVC 和 SpringWeb 提供了 JavaWeb 应用的框架或与其他流行的 Web 框架进行集成 就是说可将两者一起使用 达到将两者自 身的特点进行互补 Hibernate 是一个和 JDBC 密切关联的框架 是 JDBC 的轻量级的对象封装 所以 Hibernate 的兼容性和 JDBC 驱动 和数据库都有一定的关系 但是和使用它的 Java 程序 和 App Server 没有任何关系 也不存在兼容性问题 Hibernate 是一个独立的对象持久层框 架 和 App Server 和 EJB 没有什么必然的联系 Hibernate 可以用在任何 JDBC 可以使用的 场合 例如 Java 应用程序的数据库访问代码 DAO 接口的实现类 甚至可以是 BMP 里面 的访问数据库的代码 从这个意义上来说 Hibernate 和 EB 不是一个范畴的东西 也不存 在非此即彼的关系 本系统的设计方案采用 MVC 设计模式下的 Struts Spring Hibernate 的架构 SSH 架构 是典型的 J2EE 三层结构 分为表现层 业务逻辑层和数据持久层 三层体系将业务规则 数据访问及合法性校验等工作放在中间层处理 客户端不直接与数据库交互 而是通过组 件与中间层建立连接 再由中间层与数据库交互 具体架构如图 3 2 所示 Service locatorDAO SSH 架构图 表示层 Struts MVC ActionServlet Struts Action JSP XML 业务逻辑层 Spring IoC Business Service Class Hibernate 会话管理 数据持久层 Hibernate 连接池 查询语言支持和 其他 Hibernate 服 务 第四章第四章 系统设计系统设计 4 1 部分序列图部分序列图 1 登录 用户在登陆界面输入账号 密码 选择角色登陆成功跳转到主页面 home jsp 登录 则返回 index jsp 页面 2 个人设置 管理员登录成功之后可以修改个人详细信息以及密码信息 页面通过 AJAX 显示服务器 传递回来的信息 3 添加用户 管理员登录成功之后可以添加用户 用户只是资产的拥有者 并不具有登录系统的权 限 4 修改用户 管理员登录成功之后可以对用户详细信息修改 如 Email 联系方式 部门等 5 部门添加 管理员登录成功之后添加部门 6 部门信息修改 管理员登录成功之后可以修改部门信息 如部门名 部门描述等 7 资产添加 管理员登录成功之后可以添加资产 管理员可以填写资产编号 资产名 资产类别 生产日期 购买日期是否折旧等 系统根据管理员选择的使用情况选项自动增加或删除使 用部门与使用人员两项 8 资产查询 管理员登录成功之后可以查询资产 查询完毕之后可以对资产进行修改 删除 送修 操作 也可以点击资产名查看资产的详细信息 9 资产送修 管理员登录成功之后可以对需要送修的资产进行送修操作 管理员需要填写送修日期 花费 送修人员等信息 10 资产修改 管理员登录成功之后可以修改资产的详细信息以及使用人员 11 分类统计 管理员登录成功之后可以按照日期区间来查询资产 第五章第五章 数据库设计数据库设计 5 1 资产管理系统数据库表结构说明资产管理系统数据库表结构说明 Assets 资产 属性属性类型类型是否为空是否为空自动生成自动生成描述描述 idIntNot nullAuto主键 aidVarcharNot null编号 assetnameVarcharNot null名称 typeIntNot null类别 versionVarchar型号 manufacturerVarchar生产厂家 manufacturedateDatetime生产日期 buydateDatetimeNot null购买日期 priceDoubleNot null价格 usestateIntNot null使用情况 deprecitionIntNot null折旧 departmentInt所属部门 userInt所属用户 admin 管理员 属性属性类型类型是否为空是否为空自动生成自动生成描述描述 idIntNot nullAuto主键 usernameVarcharNot null用户名 passwordVarcharNot null密码 nameIntNot null姓名 logincountIntNot null登录次数 departmentIntNot null所属部门 emailDatetime邮箱 workphoneVarchar电话 mobilephoneVarchar手机 permissionIntNot null权限 lasttimeDatetimeNot null最后登录时间 bsend 送修记录 属性属性类型类型是否为空是否为空自动生成自动生成描述描述 idIntNot nullAuto主键 aidIntNot null资产 ID bSenddateDatetimeNot null送修日期 costDoubleNot null花费 stateIntNot null状态 bSendpersonIntNot null送修人员 descriptionText描述 User 用户 属性属性类型类型是否为空是否为空自动生成自动生成描述描述 idIntNot nullAuto主键 nameVarcharNot null姓名 departmentIntNot null所属部门 emailVarchar邮箱 workphoneVarchar电话 mobilephoneVarchar手机 department 部门 属性属性类型类型是否为空是否为空自动生成自动生成描述描述 idIntNot nullAuto主键 dpnameVarcharNot null部门名 descriptionText描述 Type 类别 属性属性类型类型是否为空是否为空自动生成自动生成描述描述 idIntNot nullAuto主键 typenameVarcharNot null类别名 descriptionText描述 第六章第六章 主要编码实现主要编码实现 6 1 公共类设计公共类设计 6 1 1 数据库操作工具类数据库操作工具类 HibernateUtil java Service Transactional public class HibernateUtil Resource private SessionFactory sessionFactory 获取Session public Session getSession return sessionFactory openSession 添加一条数据 public void add Object obj sessionFactory getCurrentSession save obj 更新一条数据 public void update Object obj sessionFactory getCurrentSession update obj 删除多个数据 public void delete Object objs for Object obj objs sessionFactory getCurrentSession delete obj 根据ID获取一条数据 Transactional propagation Propagation NOT SUPPORTED public Object get Class clazz Serializable id return sessionFactory openSession get clazz id 获取Query public Query getQuery String hql return sessionFactory openSession createQuery hql 6 1 2 Struts 拦截器拦截器 验证是否登录验证是否登录 CheckLoginInterceptor java Controller public class CheckLoginInterceptor extends AbstractInterceptor private static final long serialVersionUID 1L SuppressWarnings unchecked public String intercept ActionInvocation ai throws Exception Object action ai getAction 如果是loginAction 则拦截器不生效 if action instanceof LoginAction return ai invoke Map session ai getInvocationContext getSession Object admin session get admin 如果用户没有登录 则返回到登录界面 if admin null return ai invoke else return login 6 1 3 Struts 拦截器拦截器 验证权限验证权限 CheckPermissionInterceptor java Controller public class CheckPermissionInterceptor extends AbstractInterceptor private static final long serialVersionUID 1L SuppressWarnings unchecked public String intercept ActionInvocation ai throws Exception Map session ai getInvocationContext getSession if session get admin null return login Admin admin Admin session get admin if admin getPermission 0 return ai invoke else return permission 6 2 系统的实现系统的实现 6 2 1 登录登录 LoginDao java Service public class LoginDao Resource private HibernateUtil util public Admin login Admin admin Session session util getSession Criteria criteria session createCriteria Admin class criteria add Restrictions eq username admin getUsername criteria add Restrictions eq password admin getPassword Admin u Admin criteria uniqueResult return u 设置登录次数以及最后登录时间 public void update Admin admin admin setLogincount admin getLogincount 1 admin setLasttime new Timestamp System currentTimeMillis util update admin 6 2 2 个人设置个人设置 PersonDao java Service public class PersonDao Resource private HibernateUtil util 修改密码 public void update Admin admin util update admin 修改个人信息 public Admin update Integer dp String email String wp String mp Admin admin admin setEmail email admin setWorkphone wp admin setMobilephone mp Department depart Department util get Department class dp admin setDepartment depart util update admin return admin 6 2 3 部门设置部门设置 DepartmentDao java Service public class DepartmentDao Resource private HibernateUtil util 添加新部门 public void add Department dp util add dp 删除部门 public void delete Integer id util delete util get Department class id 修改部门 public void update Department dp util update dp 查询部门 SuppressWarnings unchecked public List search String str String hql from Department d where d dpname like Session session util getSession Query query session createQuery hql query setString 0 str return query list 6 2 4 类别设置类别设置 TypeDao java Service public class TypeDao Resource private HibernateUtil util 增加类别 public void add Type tp util add tp 删除类别 public void delete Integer id util delete util get Type class id 修改类别 public void update Type tp util update tp 查询类别 SuppressWarnings unchecked public List search String str String hql from Type t where t typename like Session session util getSession Query query session createQuery hql query setString 0 str return query list 6 2 5 用户设置用户设置 UserDao java Service public class UserDao Resource private HibernateUtil util 添加用户 public void add User user Integer did user setDepartment Department util get Department class did util add user 删除用户 public void delete Integer id util delete util get User class id 修改用户 public void update User user Integer did user setDepartment Department util get Department class did util update user SuppressWarnings unchecked 按姓名查找用户 public List searchByName String str1 String str2 String hql from User u where u name like and u department if str2 null str2 equals str2 equals 0 hql from User u where u name like return this search hql str1 str2 SuppressWarnings unchecked 按姓名邮箱地址用户 public List searchByEmail String str1 String str2 String hql from User u where u email like and u department if str2 null str2 equals str2 equals 0 hql from User u where u email like return this search hql str1 str2 SuppressWarnings unchecked public List search String hql String str1 String str2 Session session util getSession Query query session createQuery hql query setString 0 str1 if hql split length 1 query setInteger 1 Integer valueOf str2 return query list 6 2 6 管理员设置管理员设置 AdminDao java Service public class AdminDao Resource private HibernateUtil util 添加管理员 public void add Admin admin Integer did admin setDepartment Department util get Department class did util add admin 删除管理员 public void delete Integer id util delete util get Admin class id 按姓名查找管理员 SuppressWarnings unchecked public List searchByName String str1 String str2 String hql from Admin a where a name like and a department if str2 null str2 equals str2 equals 0 hql from Admin a where a name like return this search hql str1 str2 按邮箱地址查找管理员 SuppressWarnings unchecked public List searchByEmail String str1 String str2 String hql from Admin a where a email like and a department if str2 null str2 equals str2 equals 0 hql from Admin a where a email like return this search hql str1 str2 SuppressWarnings unchecked public List search String hql String str1 String str2 Session session util getSession Query query session createQuery hql query setString 0 str1 if hql split length 1 query setInteger 1 Integer valueOf str2 return query list 6 2 7 资产设置资产设置 AssetDao java Service public class AssetDao Resource private HibernateUtil util 按 id 获取资产 public Assets get Integer id return Assets util get Assets class id 资产送修 public void bsend Integer id Bsend bsend Integer uid Assets asset Assets util get Assets class id bsend setAssets asset bsend setBsendperson uid bsend setState 1 asset setUsestate 3 util update asset util add bsend 删除一个资产 public void delete Integer id util delete util get Assets class id 送修完毕 SuppressWarnings unchecked public void sxwb Integer id Session session util getSession Assets asset Assets util get Assets class id Query query session createQuery from Bsend b where b assets query setEntity 0 asset List list query list Bsend bsend Bsend list get list size 1 bsend setState 2 if asset getDepartment null else asset setUsestate 1 util update asset util update bsend 添加一个资产 public void add Assets asset Integer typeid Integer did Integer uid if did 0 asset setUser User util get User class uid asset setType Type util get Type class typeid util add asset 修改资产信息 public void update Assets asset Integer typeid Integer did Integer uid asset setDepartment null asset setUser null if did 0 asset setUser User util get User class uid asset setType Type util get Type class typeid util update asset 获得最近一个月增加的资产 SuppressWarnings unchecked public List getNewAssets String hql from Assets a where TO DAYS NOW TO DAYS a buydate 30 Session session util getSession Query query session createQuery

温馨提示

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

评论

0/150

提交评论