{$cfg_webname}
主页 > 计算机 > 论文 >

人力资源管理系统毕业论文设计范文(JSP)(6)

来源:56doc.com  资料编号:5D4541 资料等级:★★★★★ %E8%B5%84%E6%96%99%E7%BC%96%E5%8F%B7%EF%BC%9A5D4541
资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用. 帮助
资料介绍

 public String getYhm() {
  return yhm;
 }
 public void setYhm(String yhm) {
  this.yhm = yhm;
 }
 public String getJsbh() {
  return jsbh;
 }
 public void setJsbh(String jsbh) {
  this.jsbh = jsbh;
 }
}
(3)通过DAO操作数据库。
DAO是一个对DTO持久化类操作的接口,其中定义了query(String pk)方法、update(DTO dto)方法、add(DTO dto)方法、delete(String pk)方法、List<DTO> queryAll()方法。其中DAO中有数据库链接的Connection 、分页(Pagination)属性。
query(String pk)方法:查询数据库中PK用户信息;
update(DTO dto)方法:更新数据库中域对象的状态;
add(DTO dto)方法:增加数据库中域对象的状态;
delete(String pk)方法:删除数据库域对象的状态;
List<DTO> queryAll()方法:查询数据库中所有的域对象状态;
系统中都是运用DAO实现的数据库操作,在这以权限管理模块为例:
query(String pk)方法代码如下:
public  DTO query(String pk) {
  Hr_jsbDTO jsDTO = null;
  try {
   PreparedStatement pstmt = conn.prepareStatement(SQL_SELECT);
   pstmt.setString(1, pk);
   ResultSet rs = pstmt.executeQuery();
   if (rs != null && rs.next()) {
    jsDTO = new Hr_jsbDTO();
    jsDTO.setJsbh(rs.getString("jsbh"));
    jsDTO.setJsm(rs.getString("jsm"));
    jsDTO.setJsms(rs.getString("jsms"));
   }
   rs.close();
   pstmt.close();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return jsDTO;
 }
update(DTO dto)方法代码如下:
public int update(DTO dto) {
  Hr_jsbDTO jsDTO = (Hr_jsbDTO) dto;
  int flag = 0;
  try {
   PreparedStatement pstmt = conn.prepareStatement(SQL_UPDATE);
   pstmt.setString(1, jsDTO.getJsm());
   pstmt.setString(2, jsDTO.getJsms());
   pstmt.setString(3, jsDTO.getJsbh());
   flag = pstmt.executeUpdate();
   pstmt.close();
  } catch (SQLException e) {
   flag = 0;
   e.printStackTrace();
  }
  return flag;
 }
}
add(DTO dto)方法代码如下:
public int add(DTO dto) {
Hr_jsbDTO jsDTO = (Hr_jsbDTO) dto;
  int flag;
  try {
 PreparedStatement pstmt = conn.prepareStatement(SQL_ADD);
   pstmt.setString(1, jsDTO.getJsbh());
   pstmt.setString(2, jsDTO.getJsm());
   pstmt.setString(3, jsDTO.getJsms());
   flag = pstmt.executeUpdate();
   pstmt.close();
  } catch (SQLException e) {
   flag = 0;
   e.printStackTrace();
  }
  return flag;
 }
delete(String pk)方法代码如下:
public int delete(String pk) {
  int flag = 0;
  try {
PreparedStatement pstmt = conn.prepareStatement(SQL_DELETE);
   pstmt.setString(1, pk);
   flag = pstmt.executeUpdate();
   pstmt.close();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return flag;
}
List<DTO> queryAll()方法部分代码如下:
public List<DTO> queryAll() {
  List<DTO> yhList = new ArrayList<DTO>();
PreparedStatement pstmt = conn.prepareStatement(SQL_SELECT_ALL,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   ResultSet rs = pstmt.executeQuery();
   this.setStartRow(rs);
   while (rs != null && rs.next()) {
 if(this.isPagination&&rs.getRow()>pagination.getEndRow())break;
    Hr_jsbDTO jsDTO = new Hr_jsbDTO();
    jsDTO.setJsbh(rs.getString("jsbh"));
    jsDTO.setJsm(rs.getString("jsm"));
    jsDTO.setJsms(rs.getString("jsms"));
    yhList.add(jsDTO);
   }
   rs.close();
   pstmt.close();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return yhList;
 }
6.4控制层的实现
控制层负责接收用户请求、更新模型,以及选择合适的视图组件返回给用户,在本系统的实现中控制层是实现对一个抽象类Action的继承来实现,通过继承Action中的execute(HttpServletRequest request, HttpServletResponse response)的方法,另外还有一个ActionServlet类继承了HttpServlet并对action-config.xml文件进行加载并解析。Action负责处理一项具体的业务,它是用户请求和业务逻辑之间的桥梁,每个Action充当客户的一项业务代理。Action的主要功能是接收页面中的一些数据,然后根据action-config.xml实例包含的映射信息决定将当前的请求转发给哪个Action。Action的工作就是通过访问HTTP会话、HTTP请求和表单参数等调用业务逻辑,最后把响应映射到以持久化类形式存在的模型上,来完成特定的功能。最后,Action返回的结果会通过配置文件映射到JsP页面上,JSP会渲染视图并显示给用户,以下是Action类部分代码:
public abstract class Action {
 protected final String SUCCESS="success";
 protected final String FAILURE="failure";
 protected ActionMessage message=new ActionMessage();
 protected Connection con;
public String process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  request.setAttribute("message", message);
  return execute(request, response);
 }
public void setConn(Connection conn){
  this.conn=conn;
 }
6.5系统WEB层实现
本系统的WEB层的实现主要是jsp技术结合JSTL标签来实现。Jsp技术主要是用于显示用户界面,发送Action请求和接收响应完成交互,做到了视图与业务逻辑层的解耦。JSTL标签库为表示层提供了大量丰富的标签库,有利于JSP项目迁移到别的项目中、扩展页面功能和易于维护的优势。本系统每个显示页面都是由两部分组成:头页面,主页面。头页面做成了一个jsp文件,在每一个显示页面中只要将这两个文件include进来就可以。这样使得系统页面的整体风格一致,同时也避免了代码重复编写,程序员只需为每个页面实现其中间的主体部分。本系统除index.jsp页面外所有的显示页面都由action转发过来,在action中将页面所需要的数据封装成对象,jsp页面直接从容器中获取数据,通过这种数据传递方式避免了在页面写入java代码,从而使得显示层和逻辑层耦合性大大降低。
6.6系统部署
    本系统的系统部署如6-12图:
 
图6-1系统部署图
5.7系统界面介绍
登陆页面如图6-2,为本系统的入口,用户输入正确的用户名和密码才能进入系统主页:
 
图6-2登陆页面
系统主页页面如图6-3:系统主页主要是系统的功能结构,相应的权限用户可以双击进入相应的模块进行操作,中间左部分系统默认显示的是招聘管理内容。
 
   图6-3系统主页

   人事管理页面如图6-4:
 
图6-4人事管理页面
考勤管理页面如图6-5:
 
图6-5考勤管理页面
系统设置管理页面图6-6:
 
图6-6系统设置页面

 

第7章 总结
本系统的设计实现基本上满足了用户需求,性能需求,比较容易维护;开发框架松散耦合度高、可扩展且高效;代码重用性较高,利于调试和测试。
    对本系统的开发大致总结如下:
1.人力资源管理系统用MVC框架扩展开发,使得层次之间达到一定的松散耦合。在开发过程中各个层与层之间的工作是相对独立的,不同的业务逻辑可以基于模块开发,有利于团队协同开发。业务规则、输入校验存在于中间控制层,因此当业务规则发生改变或增加时,只需要更改或增加相应业务处理逻辑,在很短的时间内就能完成系统开发和部署,而客户端应用程序不需要做任何逻辑处理,能很好的满足了各个部门快速多变的业务需求,从而拥有了很好的可扩展性和可维护性。

推荐资料