基于MVC模式的人事工资管理系统.doc
《基于MVC模式的人事工资管理系统.doc》由会员分享,可在线阅读,更多相关《基于MVC模式的人事工资管理系统.doc(48页珍藏版)》请在咨信网上搜索。
1、目 录第1章 概 述11.1 系统目的和意义11.2 系统开发环境11.3 系统开发模式及基本功能1第2章 系统设计32.1系统的模块划分32.2数据库设计4第3章 系统的具体设计及实现63.1数据库底层访问类63.2 登录模块83.3 系统首页面导航123.4 员工信息管理123.5 工资信息管理233.6 请假信息管理263.7 前台浏览模块293.8 修改密码模块30结 论32参考文献33第1章 概 述1.1 系统目的和意义本次课程设计的题目是“基于MVC模式的人事工资系统”的设计与实现,该设计是对于本学期所学的JSP程序设计课程的巩固和进一步探索,同时结合Java语言、JSP技术进行W
2、eb程序设计,运用前面学过的知识来解决实际问题,提高解决问题的能力和动手编程的能力。同时该系统使用目前公司实际开发中比较成熟的MVC模式进行系统的整体架构设计,有效分离模块、功能之间的代码耦合关系,并逐步理解软件开发环节和软件工程思想1。1.2 系统开发环境1 本系统采用Browser/Server体系结构。2 系统开发环境1) 开发平台:MyEclipse5.5.1 GA2) 开发语言:JSP、Java3) 数据库:Microsoft SQLServer20233 系统运营环境客户端:浏览器:桔子浏览器服务器端:数据库:Microsoft SQLServer2023应用程序系统1.3 系统开
3、发模式及基本功能本系统是基于MVC模式设计和开发的,MVC模式是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式。Model(模型)表达应用程序核心,是应用程序中用于解决应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据;View(视图)是应用程序中解决数据显示的部分。通常视图是依据模型数据创建的;Controller(控制器)解决输入,是应用程序中解决用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。基于MVC模式的人事工资系统重要实现前台和后台两部分功能设计,其中前台重要实现员工查看个人基
4、本信息、员工查看本月工资信息、系统评价和修改密码等功能。在查看个人基本信息当中,员工可以查看账号、身份证号、姓名、性别、入公司时间、学历、毕业院校、专业、所属部门名称、职位、联系方式、备注等基本个人信息;在查看本月工资信息当中,员工可以查看底薪、奖金、养老保险、失业险、医疗保险、住房公积金、个人所得税、罚金等工资信息。后台重要实现员工信息管理、工资信息管理、请假信息管理、系统评价等功能。其中员工信息管理涉及添加员工信息和浏览、修改、删除员工信息;工资信息管理涉及添加员工奖金信息和浏览工资信息;请假信息管理涉及添加请假信息和浏览、修改、删除请假信息。第2章 系统设计2.1系统的模块划分人事工资系
5、统是一种通常由管理员管理、用于记录和更新员工个人基本信息和工资情况的网站。员工的个人信息由管理员录入,基本工资按照国家统一计算方法计算,奖金以及罚金由管理员此外录入。参照一般的人事工资系统,为本系统设计了以下几个功能模块:1用户登录模块用户登录前根据用户类型分别进行登录验证,假如账号和密码对的,并且验证码无误则进入系统。2员工信息管理模块管理员可以对员工信息进行添加、浏览、修改和删除等操作,3工资信息管理模块管理员可以添加员工的奖金,同时浏览员工本月工资,4请假信息管理模块管理员可以添加员工请假信息,同时录入罚金数额。5友情链接模块用户通过点击链接可以进入到相关网站浏览信息。6前台浏览模块普通
6、员工可以个人信息进行浏览以及个人本月工资情况。系统功能模块图如图2-1所示。人事工资系统员工信息管理工资信息管理请假信息管理友情链接前台浏览用户登录图2-1 系统功能模块图2.2数据库设计数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。数据库的设计是整个系统成败的一个重要环节。合理的数据库设计可以给系统带来很高的效率。并且可以使得各个功能模块的设
7、计变得非常简朴并且模块间的关系特别明确,从而提高系统的可维护性。本系统的数据库是在SQL Server2023中创建的。根据前面的分析,人事工资系统数据库共包含6个表,涉及管理员信息表(tbAdmin)、员工信息(tbEmployee)、职位工资信息表(tbSalary)、员工具体工资信息表(tbSalaryDetail)、请假信息表(tbRest)和系统评估信息表(tbEvaluation)。表的结构、表字段的数据类型及相关说明如下:表1管理员信息表列名说明数据类型约束id管理员账号varchar(20)主键psw管理员密码varchar(20)非空表2 员工信息表列名说明数据类型约束id员
8、工账号varchar(20)主键psw员工密码varchar(20)非空idNumber身份证号varchar(18)非空name姓名varchar(10)非空sex性别varchar(2)非空inDate入公司时间datetimedegree文化限度varchar(6)college毕业院校varchar(20)major专业varchar(20)deptName所属部门名称varchar(10)posId职位编号varchar(20)非空tel联系方式varchar(15)note备注varchar(300)表3 岗位工资表列名说明数据类型约束posId岗位编号varchar(20)主键p
9、osName岗位名称varchar(20)非空basePay基本工资decimal(10,4)非空edmRate养老金标准decimal(10,4)uepRate失业险标准decimal(10,4)healthRate医疗险标准decimal(10,4)phfRate公积金标准decimal(10,4)表4 员工工资具体信息表列名说明数据类型约束id员工账号varchar(20)主键monthTime月份datetime(10,4)非空basepay基本工资decimal(10,4)非空bonus奖金decimal(10,4)edmInsur养老保险decimal(10,4)uepInsur失
10、业险decimal(10,4)healthInsur医疗保险decimal(10,4)phf住房公积金decimal(10,4)incomeTax个人所得税decimal(10,4)fine罚金decimal(10,4)表5 请假信息表列名说明数据类型约束id员工账号varchar(20)主键restDate请假日期datetime非空fine罚款decimal(10,4)非空note备注varchar(300)num序号int主键,自动编号以上就是人事工资系统所需的数据表,按照这些表结构设计,在Microsoft SQLServer2023中创建数据库EmployeeDatabase,并创建
11、相应的表。第3章 系统的具体设计及实现3.1数据库底层访问类本系统的设计使用基于Servlet的MVC架构模式,将系统的各个功能的实现过程严格的划分为视图(View)、控制(Controller)、模型(Model),其中View负责界面的显示,Controller负责请求的转发和响应,Model负责逻辑业务对象实体和业务实体。由于本系统是一种信息管理系统,在这三层之下,还要建立数据库访问层,该层完毕数据库的连接、SQL语句的具体执行等操作。这一层由MVC模式中的Model层里的业务实体进行调用,从而完毕逻辑业务的信息维护操作。3.1.1JDBC数据库访问技术JDBC(Java Data Ba
12、se Connectivity, java数据库连接)是一种用于执行SQL语句的Java API,可认为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员可以编写数据库应用程序。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,程序员就不必针对不同数据库分别编写程序,而只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运营,
13、这也是Java语言“编写一次,处处运营”的优势。简朴来说,JDBC可做三件事:与数据库建立连接、发送 操作数据库的语句并解决结果。为实现数据库连接,需将事先下载的sqljdbc.jar拷贝到lib目录下。3.1.2添加DBManager公共类一方面创建包nepu.syx.tools,在该包下创建名为DBManager的类,该类得职责用于提供访问、操作数据库的公共方法。添加公共类的方法和环节如下:在工程中的nepu.syx.tools包上点右键,选择【New】-【Class】菜单项,将弹出【New Java Class】对话框,保存默认的选择,在Name文本框中输入DBManager,点击Fin
14、ish按钮。3.1.3编写公共方法3.1.2小节为项目添加了一个DBManager类,该类用于存放连接、操作数据库的公共方法,本小节介绍如何编写这些公共方法。一方面为DBManager类声明几个公共变量,其中conn为数据库连接对象,定义形式为:private Connection conn=null;stmt用于向数据库发送要执行的sql语句,定义形式为:private Statement stmt=null;rs为结果集,定义形式为:private ResultSet rs=null;uri为要连接的URL,定义形式为:String uri=jdbc:sqlserver:/localhos
15、t:1433; DatabaseName= EmployeeDatabase;user为数据库用户名,定义形式为:String user=sa;psw为数据库登录密码,定义形式为:String psw=111。1、数据库连接方法getConnection()一方面运用Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);注册驱动程序,之后获取数据库链接,并进行相应异常解决。getConnection方法的关键代码如下:public Connection getConnection() try Class.forName(com.
16、microsoft.sqlserver.jdbc.SQLServerDriver);conn=DriverManager.getConnection(uri,user,psw);if(conn=null) System.out.println(数据库连接失败!); catch (ClassNotFoundException e) e.printStackTrace ();System.out.println(驱动加载错误!); catch (SQLException e) e.printStackTrace ();System.out.print(获取数据库连接错误!);return conn
17、;2、数据库查询方法executeQuery()用conn链接创建一个Statement对象,stmt调用executeQuery(sql)方法来进行数据查询,进行相应异常解决,返回类型为ResultSet。executeQuery()方法的关键代码如下:public ResultSet executeQuery(String sql)try stmt=conn.createStatement();rs=stmt.executeQuery(sql); catch (SQLException e) e.printStackTrace();System.out.print(执行sql语句错误!);
18、return rs;3、数据库增删改的操作方法executeUpdate()用conn链接创建一个Statement对象,stmt调用executeUpdate (sql)方法来进行数据更新,进行相应异常解决,返回更新行数,类型为int。executeUpdate()方法的关键代码如下:public int executeUpdate(String sql)int count=0;trystmt=conn.createStatement();count=stmt.executeUpdate(sql);catch(SQLException e)e.printStackTrace();return
19、 count;3.2 登录模块登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性和安全性。本节一方面严格按照MVC架构模式为人事工资系统制作了一个简朴的登录模块,根据用户类型不同,进入到不同操作页面,此外本节还具体介绍了主页面的设计。按照MVC模式进行构建登录功能的开发,对该模块的文献构建说明如下(1)Model层:在nepu.syx.DAO包中添加业务Javabean,类名为UserDAO。(2)Controller层:在nepu.syx.Servlet中添加类UserServlet,该servlet重要负责参数的接受以及用户相关操作的流程控制,例如,用户登录,修改密码等
20、功能。(3)View层:在WebRoot文献夹下添加名为index.jsp和image.jsp的JSP文献。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
21、.random();”页面设计如图3-1所示。图3-1 登录界面设计3.2.2 Model层构建在业务Javabean类UserDAO中建立方法adminLoginCheck()和employeeLoginCheck(),该方法的重要功能是判断用户是否存在,并且密码是否对的,该方法需要接受由servlet传递过来2个参数,一个是用户账号id,另一个是密码psw,调用DBManger数据库底层操作类的executeQuery()方法实现sql查询,假如用户类型是管理员,sql语句如下:String sql = select * from tbAdmin where id=+id+ and psw
22、=+psw+; 假如用户类型是员工,sql语句如下: String sql = select * from tbEmployee where id=+id+ and psw=+psw+;执行该sql语句后,将返回一个结果集ResultSet,判断该结果集中的记录的条数,并使用变量count记录,假如count的值大于0,则表达用户存在,登录成功,返回一个布尔类型的值true,否则返回false。获取结果集后方法的核心代码如下:ResultSet rs = db.excuteQuery (sql);if(rs.next() return true;return false;3.2.3 Contr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MVC 模式 人事 工资管理 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。