




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开源框架技术案例报告书题 目在线请假系统学生姓名学 号指导教师系 部专业班级时 间1.需求分析现在Internet上随处可见网上商城、网上等网站,让消费者足不出户就可购买到想到的商品,不仅方便了消费者,也让拥有电子商务网站的企业能及时向广大客户推销产品、构建企业形象、赢得利润。电子商务系统与传统的面对面的营销方式相比,具有不可比拟的优势,如销售成本与物流大大降低、信息传输及时等。为适应电子商务发展的要求,决定建设一个网上书店系统,实现在网上销售书藉。1.1系统用户使用在线请假系统的用户主要有两种:一种是学生,可以通过系统请假、修改未审批的请假单、查看已审批的请假单并打印请假单信息、查看请假记录;另一种是老师,可以通过请假系统审批学生请假、查看所有学生的请假记录。1.2系统功能需求用户即学生或老师登录在线请假系统之后,可以进行相应的操作。学生可以通过系统请假、修改未审批的请假单、查看已审批的请假单并打印请假单信息、查看请假记录。老师可以通过请假系统审批学生请假、查看所有学生的请假记录。 2.概要设计2.1用户登录用户登录时,系统会对用户的身份进行验证,以用户名和密码以及权限值为标准验证,当用户名和密码都匹配且权限值为0时,登录到老师登录主界面,当用户名和密码都匹配且权限值为1时,登录到学生登录主界面,2.2学生操作管理当学生登录成功之后,将可以请假。首先,学生按照给出的格式填写好申请。然后系统会根据审批流程递交给老师惊醒审批,申请被存入数据库中,默认状态为“未审批”。此外,学生还可以在老师未审批之前对请假单进行修改。老师审批完请假但之后,学生可以查看请假单,并且打印请假单。2.3老师操作管理对应着学生请假请求,老师应该完成对学生请假的审批,审批结果可以使同意或不同意。在审批时,是通过修改请假单的状态,由“未审批”修改为“同意”或“不同意”来完成的。此外,作为管理学生的人员,老师还可以查看学生的请假记录。3.界面展示与知识点解析登录页面:登录页面通过用户名、密码、权限的匹配来控制,当权限power值为1时,为老师登录;为1时,为学生登录。当用户输入用户名密码之后,会从数据库里匹配,寻找用户名和密码一致的用户,之后再通过该用户的power值来判断用户的身份。部分核心代码:ActionUserDao userdao=new UserDao(con);User user=userdao.selectByUserNamePassWord(username, password);if(user.getUsername().equals(username)&user.getPassword().equals(password)&user.getPower().equals(1)return studentsuccess;elseif(user.getUsername().equals(username)&user.getPassword().equals(password)&user.getPower().equals(0)return teachersuccess;elsereturn fail;Dao:public User selectByUserNamePassWord(String username,String password) throws ExceptionConnection con = DBConn.getConnection();String sql=select * from userinfo where username=? and password=?;pstmt = con.prepareStatement(sql);pstmt.setString(1, username);pstmt.setString(2, password);rs= pstmt.executeQuery();User user=new User();if(rs.next()user.setUsername(rs.getString(username).trim();user.setPassword(rs.getString(password).trim();user.setClassmate(rs.getString(classmate).trim();user.setPower(rs.getString(power).trim();DBConn.closeAll(pstmt, rs);return user;学生登录主页面:左侧为选择栏,右侧填写请假单,其中姓名为只读的,即:学生请假时,姓名不用自己填写,避免了填错姓名,造成为别人请假的情况,请假日期,用的是javascript。部分代码如下:请假时间:从 到点击左侧全部请假单信息,右侧会显示该学生的全部请假信息,请假单信息可以是审批通过的、审批为通过的和未审批的。部分代码如下:Actionpublic String mylist() throws ExceptionConnection con = DBConn.getConnection();MyListDao mylistDao = new MyListDao(con);list =(List)mylistDao.selectMyList(username);HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute(list, list);return success;Daopublic List selectMyList(String username)String sql=select * from content where username=+username+;List list =null;trypstmt = con.prepareStatement(sql);rs = pstmt.executeQuery();list = new ArrayList();while(rs.next()Ask ask = new Ask();ask.setId(rs.getInt(id);ask.setUsername(rs.getString(username);ask.setClassmate(rs.getString(classmate);ask.setStartdate(rs.getString(startdate);ask.setEnddate(rs.getString(enddate);ask.setReason(rs.getString(reason);ask.setState(rs.getString(state);list.add(ask);catch(Exception e)e.printStackTrace();return list;Jsp页面 姓名 开始日期 结束日期 原因 审批状态 点击左侧待审批请假单,右侧会显示该学生的未被审批的请假信息,学生可以在老师未审批之前删除请假单。删除请假单之前,会弹出确认框,点击确定时该记录会被删除,取消时,不会删除。点击左侧已审批请假单,右侧会显示该学生的被审批的请假信息,学生可以通过查看detail来查看请假单信息,并打印。部分代码如下: input type=hidden name=id value= 打印请假单页面:关键代码如下:请假单姓名:input name=ask.username type=text class=text-medium value= readonly=readonly/请假时间:从input name=ask.startdate type=text id=workStime value= size=20 maxlength=10 readonly=readonly 到input name=ask.enddate type=text id=workStime value= size=20 maxlength=10 readonly=readonly请假理由: 老师意见:input name=ask.state type=text class=text-medium value= readonly=readonly/老师登录成功主页面:左侧为选择项:分别有全部请假单、未审批请假单、已审批的请假单。右侧为全部请假单信息。在操作栏里,老师可以执行同意或不同意操作。Jsp页面: input type=hidden name=id value=input type=hidden name=id value= Actionpublic String list() throws ExceptionConnection con = DBConn.getConnection();ListDao listDao=new ListDao(con);list = (List)listDao.selectList();HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute(list, list);return success;DaoString sql=select * from content;List list =null;trypstmt = con.prepareStatement(sql);rs = pstmt.executeQuery();list = new ArrayList();while(rs.next()Ask ask = new Ask();ask.setId(rs.getInt(id);ask.setUsername(rs.getString(username);ask.setClassmate(rs.getString(classmate);ask.setStartdate(rs.getString(startdate);ask.setEnddate(rs.getString(enddate);ask.setReason(rs.getString(reason);ask.setState(rs.getString(state);list.add(ask);未审批请假单页面:左侧为选择项:分别有全部请假单、未审批请假单、已审批的请假单。右侧为未审批请假单信息。在操作栏里,老师可以执行同意或不同意操作,此操作可以减轻老师的审批负担。代码如下:public List selectUnList()String sql=select * from content where state=未审批;List list =null;trypstmt = con.prepareStatement(sql);rs = pstmt.executeQuery();list = new ArrayList();while(rs.next()Ask ask = new Ask();ask.setId(rs.getInt(id);ask.setUsername(rs.getString(username);ask.setClassmate(rs.getString(classmate);ask.setStartdate(rs.getString(startdate);ask.setEnddate(rs.getString(enddate);ask.setReason(rs.getString(reason);ask.setState(rs.getString(state);list.add(ask);catch(Exception e)e.printStackTrace();return list;已审批请假单页面:左侧为选择项:分别有全部请假单、未审批请假单、已审批的请假单。右侧为已审批请假单信息,在这一栏目,老师可以查看全部学生的请假历史记录。退出:通过javascript控制,当用户点击退出时,弹出确认框,当用户选择确定时,退出系统;当用户选择取消时,不退出系统。部分代码如下:4.心得体会本次的设计是基于struts2开发的在线请假系统,与以往设计不同的是,这次我在程序源代码是实现了模块化,使得每一个功能既能相互独立又能相互关联,方便日后的维
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年化工工程师招聘考试模拟试题及答案解析
- 2025年农村经济管理专职人员招聘考试试题集及解析指导手册
- 拉德斯基进行曲课件
- 2025年煤制乙二醇项目合作计划书
- 2025年磁卡宽片项目发展计划
- 抢险救援勤务规程课件
- 抢救车封存管理课件
- 2025年坤泰胶囊项目建议书
- 抗肿瘤药物培训课件
- 安徽省芜湖市2024-2025学年高三上学期一模化学试题 (含答案)
- 2025年湖南郴州市北湖区引进高层次人才和招聘事业单位工作人员28人备考练习题库及答案解析
- 麻醉深度监测-洞察及研究
- 铁路专项病害课件
- 2025年口腔修复学笔试题及答案
- 开学安全教育课件
- 桥梁养护应急知识培训课件
- 2025年学历类自考专业(学前教育)学前儿童发展-学前教育原理参考题库含答案解析(5套)
- 2025-2026学年人教版(2024)初中化学九年级上册教学计划及进度表
- 日本设备销售合同范本
- (2024)大学生宪法知识竞赛题库及答案
- 智能化硬件基础知识培训课件
评论
0/150
提交评论