1、3.基本表源码user_info表CREATE TABLE user_info id int NOT NULL, login_name varchar DEFAULT NULL, pass_word varchar true_name varchar sex varchar tel_num varchar age int marriage varchar educational varchar PRIMARY KEY work_info表CREATE TABLE work_info NOT NULL AUTO_INCREMENT, position_id int status varchar
2、create_time datetime DEFAULT NULL, authority int, KEY position_id CONSTRAINT work_info_ibfk_5 FOREIGN KEY REFERENCES position ON DELETE SET NULL ON UPDATE SET NULLposition表CREATE TABLE position id intpos_name varcharPRIMARY KEY 在蓝底矩形方框中,表示此操作的名称. d在椭圆形中,表示执行当前操作所用到的STRUTS2中的ACTION,ACTION中调用相应的业务逻辑完成
3、各种功能. e在圆角矩形方框中,表示渲染当前操作的JSP界面,并可在JSP过不同的调用不同的ACTION. 该功能图在大体上表示了该人事管理系统的主要逻辑功能,其中一些小的跳转如在提交表单,权限效验时等等失败过程所执行的操作在考虑到图形的复杂性上并没有完全给出,但可以在源程序中看出详细的流程.2.详细设计JavaBean模块,该模块主要定义了各个主要的JavaBean,完成对各供需要信息的封装,便于业务逻辑的实现. 包含四个标准的JavaBean和三个hibernate的数据库映射表文件. PageModel是一个分页模型,它封装了每个页面记录的数量,当前数据在数据库中总的数据条数,当前页码,
4、下一页,上一页页码,以及当前页面封装的List类型的数据,用户JSP界面的迭代输出. /每个界面容纳记录数的上限privateintpageSize; /当前页码privateintnowPage; /总的页码privateinttotalPage; /上一页的页码privateintpreviousPage; /下一页的页码privateintnextPage;/封装此Bean的action名private String actionName; /当前页面的数据private List userList;public PageModelint nowPage, int pageSize, i
5、nt totalRecord, List this.totalPage = / pageSize;this.nowPage = nowPage;this.pageSize = pageSize;this.userList = userList; /如果上一页比一小,则上一页还是一previousPage = nowPage ? :nowPage - 1;/如果下一个的页码大于总页码,则下一个页码还是总页码数nextPage = = totalPagetotalPagenowPage + 1 下面的三个bean, Position封装了职位信息并通过Position.hbm.xml完成与数据库的
6、映射; UserInfo封装了员工个人信息并通过UserInfo.hbm.xml完成与数据库的映射;WorkInfo封装了工作信息并通过WorkInfo.hbm.xml完成与数据库的映射.publicclass UserInfo /idprivateintid; /登陆名private String loginName; /真实private String trueName; /密码private String passWord; /性别private String sex; /年龄privateintage; /private String telNum; /婚姻private String
7、 marriage; /学历private String educational; /一对一映射的工作信息private WorkInfo workInfo;publicint getIdreturnid;publicvoid setIdthis.id = id;publicint getAgereturnage;publicvoid setAgethis.age = age;public String getMarriagereturnmarriage;publicvoid setMarriagethis.marriage = marriage;public String getEducat
8、ionalreturneducational;publicvoid setEducationalthis.educational = educational;public WorkInfo getWorkInforeturnworkInfo;publicvoid setWorkInfothis.workInfo = workInfo;public String getLoginNamereturnloginName;publicvoidsetLoginNamethis.loginName = loginName;public String getTrueNamereturntrueName;p
9、ublicvoid setTrueNamethis.trueName = trueName;public String getPassWordreturnpassWord;publicvoid setPassWordthis.passWord = passWord;public String getSexreturnsex;publicvoid setSexthis.sex = sex;public String getTelNumreturntelNum;publicvoid setTelNumthis.telNum = telNum;public UserInfo 这里列出UserInfo
10、的映射文件.classname=.personnelmanagement.bean.UserInfotable=user_infocatalog=personnel!-由于与WorkInfo表是一一对应的,这里主键采用依赖WrokInfo主键的生成方式以实现一一对应 -idname=idtype=java.lang.Integercolumnname=/generatorclass=foreignparamname=propertyworkInfo/generator/idpropertyname=loginNamejava.lang.Stringupdate=falselogin_name/
11、propertypassWordpass_wordtrueNametrue_namesextelNumtel_nummarriageeducationalage-定义一对一映射 -one-to-onename=workInfoclass=.personnelmanagement.bean.WorkInfocascade=all/one-to-one/class/hibernate-mapping五.界面设计界面的结构图如图所示1.登陆界面主要通过Struts2的标签完成表单的生成以及简单的逻辑操作s:formaction=/common/loginAction.action /如果用户名密码错
12、误在这里显示actionerror/textfieldname=label=用户名/s:textfieldpasswordname=密码password/通过插入SESSION的ID防止表单重复提交token/submitlabel=submitsubmitform 2.注册界面/common/registerAction.actionvalidate=trueuserInfo.loginNameuserInfo.passWord重复密码userInfo.trueName真实userInfo.age年龄userInfo.telNumselectname=userInfo.sexlist=男性,
13、女性性别selectuserInfo.marriage已婚未婚婚姻selectlabel=学历高中以下高中专科本科硕士硕士以上name=userInfo.educational3.管理员权限与普通权限用户的操作界面/判断是否是管理员,是管理员则多出审核用户与职位管理操作,这里是属于客户端效验iftest=#session.loginUser.workInfo.authority = 10ahref=/PersonnelManagement/admin/getAuditUserAction审核用户br/PersonnelManagement/admin/positionManageAction职
14、位管理/PersonnelManagement/user/getAllUserAction.action员工浏览/PersonnelManagement/user/queryUserAction员工查询ahref=/PersonnelManagement/user/getUserInfoByIdAction.action?id=个人管理/PersonnelManagement/common/logOutAction.action注销登陆 4.用户详细信息的显示与修改界面 5.用户列表的信息显示界面这里只有管理员才具有删除操作的显示,且也属于客户端验证,即使用户用直接输入网址的方式也不能越权完成操作,因为服务器端验证依然存在. 6.职位管理界面在空白况中输入新的职位名称,并点击提交即可完成职位添加的操作,这里的职位是不可以重名的,如果重名会有提示.六.心得体会经过这次的实验我个人得到了不少的收获,一方面加深了我对课本理论的认识,另一方面也提高了实验操作能力。在这次的实验中,我对一些测试硬件、软件及其使用有了更深刻的认识。做这次的测试技术实验,我们学生自己的能力得到了充分的发挥,跟以往那些充满条条框框的实验是不同的。通过这次的测试技术实验我不但对理论知识有了更加深的理解,对于实际的操作和也有了质的飞跃。经过这次的实验,我们整体对各个方面都得到了不少的提高,也让我们得到了更好的锻炼。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1