Open Nav

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

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.仅供学习参考之用.
   帮助中心
资料介绍:

 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)方法代码如下:

[来源:http://Doc163.com]


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; [资料来源:www.doc163.com]
  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()); [资料来源:https://www.doc163.com]
   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); [资料来源:http://www.doc163.com]
   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类部分代码:
[资料来源:https://www.doc163.com]

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代码,从而使得显示层和逻辑层耦合性大大降低。 [资料来源:www.doc163.com]
6.6系统部署
    本系统的系统部署如6-12图:
 
图6-1系统部署图
5.7系统界面介绍
登陆页面如图6-2,为本系统的入口,用户输入正确的用户名和密码才能进入系统主页:
 
图6-2登陆页面
系统主页页面如图6-3:系统主页主要是系统的功能结构,相应的权限用户可以双击进入相应的模块进行操作,中间左部分系统默认显示的是招聘管理内容。
 
   图6-3系统主页 [资料来源:Doc163.com]

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

[资料来源:http://www.doc163.com]

  [版权所有:http://DOC163.com]

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

  • 关于资料
    提供的资料属本站所有,真实可靠,确保下载的内容与网页资料介绍一致.
  • 如何下载
    提供下载链接或发送至您的邮箱,资料可重复发送,若未收到请联系客服.
  • 疑难帮助
    下载后提供一定的帮助,收到资料后若有疑难问题,可联系客服提供帮助.
  • 关于服务
    确保下载的资料和介绍一致,如核实与资料介绍不符,可申请售后.
  • 资料仅供参考和学习交流之用,请勿做其他非法用途,转载必究,如有侵犯您的权利或有损您的利益,请联系本站,经查实我们会立即进行修正! 版权所有,严禁转载
    doc163.com Copyright © 2012-2024 苏ICP备2021029856号-4