人力资源管理系统毕业论文设计范文(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:
第7章 总结 |