基于MVC模式的人事工资管理系统 - 图文 联系客服

发布时间 : 星期三 文章基于MVC模式的人事工资管理系统 - 图文更新完毕开始阅读33db9457a6c30c2258019e1b

东北石油大学本科生课程设计(论文)

}

}

catch (SQLException e) { } return rs;

e.printStackTrace();

System.out.print(\执行sql语句错误!\

3、数据库增删改的操作方法executeUpdate()

用conn链接创建一个Statement对象,stmt调用executeUpdate (sql)方法来进行数据更新,进行相应异常处理,返回更新行数,类型为int。

executeUpdate()方法的关键代码如下:

public int executeUpdate(String sql){ }

int count=0; try{ }

catch(SQLException e){ }

return count;

e.printStackTrace(); stmt=conn.createStatement(); count=stmt.executeUpdate(sql);

3.2 登录模块

登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性和安全性。本节首先严格按照MVC架构模式为人事工资系统制作了一个简单的登录模块,根据用户类型不同,进入到不同操作页面,另外本节还详细介绍了主页面的设计。

按照MVC模式进行构建登录功能的开发,对该模块的文件构建说明如下 (1)Model层:在nepu.syx.DAO包中添加业务Javabean,类名为UserDAO。 (2)Controller层:在nepu.syx.Servlet中添加类UserServlet,该servlet主要负责参数的接收以及用户相关操作的流程控制,例如,用户登录,修改密码等功能。

(3)View层:在WebRoot文件夹下添加名为index.jsp和image.jsp的JSP文件。

8

东北石油大学本科生课程设计(论文)

3.2.1 View层构建

首先在MyEclipse的项目的WebRoot目录下index.jsp页面中编写表单代码,其中注意表单的action属性为该表单信息提交的服务端URL地址,method属性为提交方式。在这里由于是按照MVC模式,将信息提交给Servlet,因此method必须post。同时为避免复杂的URL的路径逻辑关系,统一使用绝对路径。值得注意的是,验证码图片的src设置为”image.jsp”,onclick事件设置为”this.src=this.src+'?' +Math.random();”页面设计如图3-1所示。

图3-1 登录界面设计

3.2.2 Model层构建

在业务

Javabean

UserDAO

中建立方法

adminLoginCheck()和

employeeLoginCheck(),该方法的主要功能是判断用户是否存在,并且密码是否正确,该方法需要接收由servlet传递过来2个参数,一个是用户账号id,另一个是密码psw,调用DBManger数据库底层操作类的executeQuery()方法实现sql查询,如果用户类型是管理员,sql语句如下:

String sql = \ 如果用户类型是员工,sql语句如下:

String sql = \ 执行该sql语句后,将返回一个结果集ResultSet,判断该结果集中的记录的条数,并使用变量count记录,如果count的值大于0,则表示用户存在,登录成功,返回一个布尔类型的值true,否则返回false。获取结果集后方法的核心代码如下:

ResultSet rs = db.excuteQuery (sql); if(rs.next()) return true; return false;

9

东北石油大学本科生课程设计(论文)

3.2.3 Controller层构建

在UserServlet添加方法doLogin(),在该方法中完成登录的逻辑判断。首先需要通过方法request.getParameter()来接收由index.jsp页面传递过来的参数id、psw、rand和checkNum,首先判断验证码是否正确,之后调用Model层的业务javaBean UserDAO的登录方法实现登录判定,登录成功后需要注意将账号用session进行存储,这样,在用户多次请求和响应之后都可以由session中取出用户名展示或判断用户是否登录。最后,在servlet中使用forward方法跳转到对应用户的首页面。UserServelt中的doLogin()方法关键代码如下: HttpSession session = request.getSession(); String id = request.getParameter(\ String psw = request.getParameter(\ String userType = request.getParameter(\ String checkNum = request.getParameter(\ String rand = (String)session.getAttribute(\ UserDAO uDAO = new UserDAO(); boolean t = false; RequestDispatcher rd =null; try { if(checkNum.equals(rand)){ if(userType.equals(\ //用户是管理员 t = uDAO.adminLoginCheck(id, psw);//判断管理员信息是否正确 if(t) rd = request.getRequestDispatcher(\ } else{ //用户是员工 t=uDAO.employeeLoginCheck(id,psw);//判断员工信息是否正确 rd = request.getRequestDispatcher(\ } session.setAttribute(\ session.setAttribute(\ if(t==false){//用户不存在 request.setAttribute( \用户名或密码不正确!请重新输入!\ rd = request.getRequestDispatcher(\ } } else{ request.setAttribute( \验证码不正确!请重新输入!\ rd = request.getRequestDispatcher(\ }

10

东北石油大学本科生课程设计(论文)

} catch (SQLException e) { e.printStackTrace(); }

rd.forward(request, response);

3.3 系统首页面导航

人事工资的界面设计采用左侧导航结构,如图3-2所示,系统内几乎所有的jsp页面都具有大致类似的页面结构和风格,例如,相同的页面头部、左侧导航和页脚,因此,为了编码的方便和提高代码的可重用性,系统设计了一些公用的页面文件,主要包括AdminTop.jsp、AdminLeft.jsp、AdminEnd.jsp,其他的页面如后台管理的首页面AdminIndex.jsp则直接通过include指令标记将AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp包含到自身页面的相应位置即可,这样,编码工作将主要集中在左侧导航AdminLeft.jsp页面。其他新增的功能页面的设计思路类似,在此不再赘述。AdminIndex.jsp界面的浏览效果如图3-2所示:

图3-2 后台管理首页面浏览效果

3.4 员工信息管理

本节首先严格按照MVC架构模式为人事工资系统制作了一个简单的员工信息管理模块,该模块包括添加员工信息和浏览/修改/删除员工信息两个部分,根据管理员的不同选择,可以进入不同操作页面。

按照MVC模式进行构建登录功能的开发,对该模块的文件构建说明如下: (1)Model层:在nepu.syx.model包中添加文章类别的实体Javabean,类名为EmployeeModel和SalaryModel。在nepu.jsp.dao包中添加业务Javabean,类名为

11