基于SSH的员工管理系统架构_第1页
基于SSH的员工管理系统架构_第2页
基于SSH的员工管理系统架构_第3页
基于SSH的员工管理系统架构_第4页
基于SSH的员工管理系统架构_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

成绩课程设计报告〔2023至2023学年度第一学期〕设计题目基于SSH的员工管理系统架构课程名称信息管理建模综合实验专业班级信息管理与信息系统2023级1班学号20230702123姓名强伟伟任课教师张旭东信息工程学院2023年11月一需求分析随着计算机和网络的普及,在各项工作中,计算机和网络带给人们越来越多的方便和快捷。针对于各个企事业单位,人力资源部都需要对各自单位或公司的人员情况进行统一管理。随着各个企事业单位规模的扩大和管理质量需求的提高,以往的纸质管理资料已经远远不能满足企事业管理的需求。因此,一个在线员工管理系统对许多单位来说,不仅可以实现对所有员工有序、统一的管理,还可以大大提高管理的效率和质量,减少相关工作人员的工作负担。二系统功能该系统基于B/S结构,具体功能是由计算机来代替人工执行一系列诸如增加新员工信息、修改员工信息、删除离职员工信息、查询员工、查询部门、参加新部门等操作。这样就可以使办公人员轻松快捷地完成企事业单位员工信息管理的任务,使员工管理工作系统化、标准化、自动化,从而到达提高企业管理效率的目的。三环境说明本工程以跨平台的java语言做为开发语言,以目前主流的Struts2、spring、hibernate框架为根底,利用各个框架的优势〔struts2的视图和逻辑控制、spring的Ioc和AOP机制、hibernate的对数据库操作的封装等〕,将此三大框架整合〔即SSH〕,在此根底上实现具体的控制逻辑,以完成后期的业务处理。具体的环境如下:系统环境:windows7开发语言:java开发工具:MyEclipse8.6、MySql-Front数据库:mysql效劳器:Tomcat6.0浏览器:IE/FileFox四详细设计1、数据库设计:数据库名称:manager表设计:(1).dept表(2).emp表2、程序框架构建(1)、翻开MyEclipse;(2)、新建一个webproject,起名为manager;(3)、右击该工程,选择MyEclipse—AddSpringCapabilities,对该工程添加对Spring框架的支持,如下列图:(4)、翻开MyEclipseDatabaseExplorer,新建一个数据源,如下:(5)、重复步骤3,选择AddHibernateCapabilities,对该工程添加对Hibernate支持,如下:(6)、重复步骤3,选择AddStrutsCapabilities,对该工程添加对Struts框架的支持,如下:(7)、修改主配置文件web.xml,代码如下:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="://java.sun/xml/ns/javaee"xmlns:xsi=":///2001/XMLSchema-instance"xsi:schemaLocation= ://java.sun/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>welcome.jsp</welcome-file></welcome-file-list><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:spring.xml</param-value></context-param><listener><listener-class></listener-class></listener><filter><filter-name>struts2</filter-name><filter-class></filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.action</url-pattern></filter-mapping><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping></web-app>(8)、在manager下创立如下工程结构:目录结构说明:〔1〕src目录:com.action:存放用于接收用户请求并作出响应的Action类;com.dao:存放数据访问对象类及其接口;com.pojo:存放javaBean;com.service:存放业务逻辑实现类〔2〕WebRoot目录:根目录下存放公共的jsp文件;css:存放css样式文件;dept:存放与部门相关的jsp文件;emp:存放与员工相关的jsp文件;img:存放工程中用到的图片(9)、翻开MyEclipseDatabaseExplorer,选择步骤4中创立的数据源,翻开table项,选中DEPT和EMP表,右击选HibernateReverseEngineering,将两张表逆向到com.pojo包中,那么在此包下可以看到emp和dept的vo对象及其hibernate的配置文件;(10)、数据访问对象DAO的实现:10-1DaoImpl.javapackagecom.dao;importjava.io.Serializable;importjava.util.List;importorg.hibernate.criterion.DetachedCriteria;importorg.springframework.dao.DataAccessException;importorg.springframework.orm.hibernate3.HibernateTemplate;publicclassDaoImplimplementsDao{ HibernateTemplatehibernateTemplate;publicvoidsetHibernateTemplate(HibernateTemplatehibernateTemplate){this.hibernateTemplate=hibernateTemplate; }publicvoidsave(Objectentity)throwsDataAccessException{hibernateTemplate.save(entity); }publicvoidmerge(Objectentity)throwsDataAccessException{hibernateTemplate.merge(entity); }publicvoidsaveOrUpdate(Objectentity)throwsDataAccessException{hibernateTemplate.saveOrUpdate(entity); }publicvoidupdate(Objectentity)throwsDataAccessException{hibernateTemplate.update(entity); }publicvoiddelete(Objectentity)throwsDataAccessException{hibernateTemplate.delete(entity); }publicListfindByDetachedCriteria(DetachedCriteriadc)throwsDataAccessException{returnhibernateTemplate.findByCriteria(dc); }publicListfindById(Classclazz,Serializableid)throwsDataAccessException{returnhibernateTemplate.get(clazz,id); }publicListfindByExample(Objectentity){returnhibernateTemplate.findByExample(entity); }}10-2Dao.javapackagecom.dao;importjava.io.Serializable;importjava.util.List;importorg.hibernate.criterion.DetachedCriteria;importorg.springframework.dao.DataAccessException;publicinterfaceDao{ publicabstractvoidsave(Objectentity)throwsDataAccessException; publicabstractvoidmerge(Objectentity)throwsDataAccessException; publicabstractvoidsaveOrUpdate(Objectentity)throwsDataAccessException; publicabstractvoidupdate(Objectentity)throwsDataAccessException; publicabstractvoiddelete(Objectentity)throwsDataAccessException; publicabstractListfindByDetachedCriteria(DetachedCriteriadc) throwsDataAccessException; publicabstractListfindById(Classclazz,Serializableid) throwsDataAccessException; publicabstractListfindByExample(Objectentity);}(11)、业务逻辑Service的实现:11-1DeptServiceImpl.javapackagecom.service;importjava.util.List;importorg.hibernate.criterion.DetachedCriteria;importorg.springframework.dao.DataAccessException;importcom.dao.Dao;importcom.pojo.Dept;publicclassDeptServiceImplimplementsDeptService{ Daodao; publicvoidsetDao(Daodao){ this.dao=dao; } publicStringsave(Deptdept){ Stringflag="error"; try{ dao.save(dept); flag="success"; }catch(DataAccessExceptione){ flag="error"; e.printStackTrace(); } returnflag; } publicStringupdate(Deptdept){ Stringflag="error"; try{ dao.update(dept); flag="success"; }catch(DataAccessExceptione){ flag="error"; e.printStackTrace(); } returnflag; } publicStringdelete(Deptdept){ Stringflag="error"; try{ dao.delete(dept); flag="success"; }catch(DataAccessExceptione){ flag="error"; e.printStackTrace(); } returnflag; } publicDeptgetDept(Deptdept){ return(Dept)dao.findById(Dept.class,dept.getId()); } publicList<Dept>findAll(){ DetachedCriteriadc=DetachedCriteria.forClass(Dept.class); returndao.findByDetachedCriteria(dc); }}11-2DeptService.javapackagecom.service;importjava.util.List;importcom.pojo.Dept;publicinterfaceDeptService{ publicabstractStringsave(Deptdept); publicabstractStringupdate(Deptdept); publicabstractStringdelete(Deptdept); publicabstractDeptgetDept(Deptdept); publicabstractList<Dept>findAll();}注:EmpServiceImpl.java和EmpService.java的实现与上类似,在此省略。(12)控制跳转Action的实现:12-1DeptAction.javapackagecom.action;importjava.util.List;importcom.pojo.Dept;importcom.service.DeptService;publicclassDeptAction{ DeptServicedeptService; Deptdept; List<Dept>deptList; publicvoidsetDeptService(DeptServicedeptService){ this.deptService=deptService; } publicDeptgetDept(){ returndept; } publicvoidsetDept(Deptdept){ this.dept=dept; } publicList<Dept>getDeptList(){ returndeptList; } publicvoidsetDeptList(List<Dept>deptList){ this.deptList=deptList; } publicDeptServicegetDeptService(){ returndeptService; } publicStringfind(){ deptList=deptService.findAll(); return"ok"; }}注:EmpAction.java的实现与上类似,在此省略。(13)、struts.xml的配置:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN"":///dtds/struts-2.1.dtd"><struts><packagename="dept"extends="struts-default"><actionname="findDept"class="deptAction"method="find"><resultname="ok">/dept/searchdept.jsp</result><resultname="input">/error.jsp</result></action><actionname="addDept"class="deptAction"method="add"><resultname="success"type="redirect">findDept.action</result><resultname="input">/error.jsp</result></action></package></struts>(14)、写完这些类后,需要在spring.xml中对每个java类进行管理,spring.xml配置文件的内容如下:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns=":///schema/beans"xmlns:xsi=":///2001/XMLSchema-instance"xmlns:p=":///schema/p"xsi:schemaLocation=":///schema/beans:///schema/beans/spring-beans-3.0.xsd"><beanid="dataSource"class="org.apachemons.dbcp.BasicDataSource"><propertyname="driverClassName"value="com.mysql.jdbc.Driver"></property><propertyname="url"value="jdbc:mysql://localhost:3306/manager"></property><propertyname="username"value="root"></property><propertyname="password"value="root"></property></bean><beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="dataSource"><refbean="dataSource"/></property><propertyname="hibernateProperties"><props><propkey="hibernate.dialect"></prop><propkey="hibernate.show_sql"> true</prop><propkey="hibernate.format_sql"> true</prop><propkey="hibernate.hbm2ddl.auto"> update</prop></props></property><propertyname="mappingResources"><list><value>com/pojo</value><value>com/pojo</value></list></property></bean><beanid="hibernateTemplate"class="org.springframework.orm.hibernate3.HibernateTemplate"><propertyname="sessionFactory"ref="sessi

温馨提示

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

评论

0/150

提交评论