java学生成绩管理系统系统_第1页
java学生成绩管理系统系统_第2页
java学生成绩管理系统系统_第3页
java学生成绩管理系统系统_第4页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准一、页面设计1. 管理员页面设计( 图 1-1 管理员登陆 )(1-2 管理员首页 )文档实用标准(1-3 管理员密码修改 )(1-4 添加学生账号 )文档实用标准(1-5 学生列表页面)(1-6 编辑学生信息)文档实用标准(1-7 删除学生)(1-8 添加更新学生成绩 )2. 学生用户页面设计文档实用标准(2-1 学生用户登录)(2-2 学生用户首页)文档实用标准( 2-3 学生用户密码修改)( 2-4 学生用户成绩查询)文档实用标准( 2-5 学生成绩查询结果)二、数据库表设计表名ADMIN_USER关键字段中文表名(功能描述)管理员字段名称字段描述字段类型长度允许空缺省值备注ID

2、PKNUMBERUSER_NAME用户名VARCHAR2PASSWORD密码VARCHAR2(管理员表)表名COURSE关键字段中文表名(功能描述)课程表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERCOURSE_NAME课程名VARCHAR2TERM学期NUMBER(课程表)文档实用标准表名SCORE关键字段中文表名(功能描述)成绩表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERSTUDENT_NUM学号VARCHAR220SCORE成绩NUMBERCOURSE_ID课程号NUMBERTERM_ID学期号NUMBER(成绩表)表名STUDENT关键字段中文

3、表名(功能描述)学生表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERNAME姓名VARCHAR220PASSWORD密码VARCHAR220STUDENT_NUM学号VARCHAR220UPDATE_DATE更新日期DATE(学生表)表名TERM关键字段中文表名(功能描述)学期表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERTERM_NAME学期名VARCHAR220三、系统技术以及运行环境的需求分析系统技术整体介绍该系统框架主要使用 Spring+Struts+Ibatis ,其中 Spring 解决了 DAO层(数据持久层)、 service 层(业务逻

4、辑层)、 model(模型层)、 View(视图层)之间的耦合关系, Struts 将程序分为 DAO层、 model 层、 View 层, Ibatis 是对象持久化框架。通过三种技术的使用,提高了系统的灵活性和可扩展性。Spring IOC 和 Spring AOP 技术简介该系统中主要使用了 Spring 中的最核心的两个模块, IOC 和 AOP。核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory ,它是工厂模式的实现。 BeanFactory使用控制反转(IOC) 模式将应用程序的文档实用标准配置和依赖性规范与实际的应用程序代码分开。Spring

5、 AOP 模块则直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring 框架管理的任何对象支持AOP。Spring AOP 模块为基于 Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP ,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。STRUTS技术简介Struts技术的核心是 MVC( Model View Controller),其目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。同时也使得软件可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。它通过把数据模式从各种可以被存取和控制的数据中分

6、离出来可以改善分布式系统的设计。MVC设计模式有三部分组成。模型是应用对象,没有用户界面。视图表示它在屏幕上的显示,代表流向用户的数据。控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对Model 的操作。 Model 通过更新 View 的数据来反应数据的变化。Struts继承了 MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。其流程如下图所示:struts-config.xmlActionWeb(模型)浏览器(控制器)ActionJavaBean服务器ActionServletAction(视图)JSP文档实用标准图 2.2.1AJAX技术简介在该系统中也是用了

7、AJAX技术实现了学期和课程的二级联动,提高了系统的用户体验。传统的 web 应用允许用户填写表单 (form) ,当提交表单时就向 web服务器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分 HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用 SOAP或其它一些基于XML的 webservice 接口,并在客户端采用 JavaScript 处理来自服务器的响应。因

8、为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以 Web 服务器的处理时间也减少了。IBATIS 技术简介iBatis是一个 O/R Mapping 解决方案, j2ee 的 O/R 方案很多,和 Hibernate相比, iBatis 最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能, iBatis 是能满足你的要求又足够灵活的最简单的解决方案。四、数据库连接该系统数据库的连接使用的是data source 配置的方式,使用data source 提高了连接数据库的性能。配置在WebRoot/web-i

9、nf/config/pertis中,具体配置如下:database.driver=oracle.jdbc.OracleDriverdatabase.url=jdbc : oracle:thin:localhost:1521:orcldatabase.username=leiweiweidatabase.password=leiweiwei可根据不同的用户修改用户名和密码五、代码简介1. 用户管理代码public class AdminUserAction extends MappingDispatchAction 文档实用标准public static final Stri

10、ng PASSWORD = "123456"private AdminUserService adminUserService;/* 判断用户名密码是否正确* param mapping* param form* param request* param response* return* throws Exception*/public ActionForward adminUserLogin(ActionMapping mapping, ActionFormform,HttpServletRequest request, HttpServletResponse resp

11、onse)throws Exception / 获取表单数据LoginForm loginForm = (LoginForm) form;String userName = loginForm.getUserName();String password = loginForm.getPassword();AdminUser adminUser = new AdminUser();adminUser.setUserName(userName);adminUser.setPassword(password);/ 判断用户名、密码是否正确boolean isRight = adminUserServ

12、ice.findAdminUser(adminUser);/ 如果不正确,返回登陆页面if (!isRight) / 将用户名放在 request 中,用于页面回显request.setAttribute("userName", userName);return mapping.findForward(StrutsConstants.TO_FAIL);/ 登陆成功,将用户名存入 session 中HttpSession session = request.getSession();session.setAttribute("userName", user

13、Name);/ 转到管理员首页return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 得到添加学生页面* param mapping* param form文档实用标准* param request* param response* return* throws Exception*/public ActionForward addStudentPage(ActionMapping mapping, ActionFormform,HttpServletRequest request, HttpServletResponse respo

14、nse)throws Exception / 转到添加学生页面return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 添加学生用户* param mapping* param form* param request* param response* return* throws Exception*/public ActionForward addStudent(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse

15、 response) throws Exception / 从表单中获取学生信息StudentForm studentForm = (StudentForm)form;String name = studentForm.getName();String studentNum = studentForm.getStudentNum();Student student = new Student();student.setName(name);student.setPassword(PASSWORD);student.setStudentNum(studentNum);/ 将学生信息存入学生表中b

16、oolean isSuc = adminUserService.addStudent(student);if(!isSuc)/ 如果失败,转到错误页面return mapping.findForward(StrutsConstants.TO_FAIL);/ 成功转到列表页面return mapping.findForward(StrutsConstants.TO_SUCCESS);文档实用标准/* 获得编辑页面* param mapping* param form* param request* param response* return* throws Exception*/public

17、ActionForward getEditPage(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception / 获得学生编辑页面,将学生信息回显在页面上Long uid = Long.valueOf(request.getParameter("uid");Student student = adminUserService.getStudentById(uid);request.setAttribute

18、("student", student);return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 编辑学生信息* param mapping* param form* param request* param response* return* throws Exception*/public ActionForward editStudentInfo(ActionMapping mapping, ActionFormform,HttpServletRequest request, HttpServletRespo

19、nse response)throws Exception / 从表单中获得学生信息StudentForm studentForm = (StudentForm)form;String name = studentForm.getName();long id = Long.valueOf(request.getParameter("id");String studentNum = studentForm.getStudentNum();Student student = new Student();student.setName(name);文档实用标准student.se

20、tStudentNum(studentNum);student.setId(id);/ 更新学生信息boolean isSuc = adminUserService.updateStudentInfo(student); if(!isSuc)/ 如果不正确转到错误页面return mapping.findForward(StrutsConstants.TO_FAIL);/ 正确,转向列表页面return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 获得添加成绩页面* param mapping* param form* param re

21、quest* param response* return* throws Exception*/publicActionForward addScorePage(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception Long uid = Long.valueOf(request.getParameter("uid");/ 获得学生列表Student student = adminUserService

22、.getStudentById(uid); List<Student> studentList = adminUserService.getStudentList();/ 将学生信息存在 request 中,用于页面显示request.setAttribute("student", student);request.setAttribute("studentList", studentList);return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 获得学生列表* param ma

23、pping* param form* param request* param response* return文档实用标准* throws Exception*/public ActionForward getStudentList(ActionMapping mapping, ActionFormform,HttpServletRequest request, HttpServletResponse response)throws Exception / 根据查询条件(姓名、学号)查询学生信息StudentForm studentForm = (StudentForm)form;Strin

24、g name = studentForm.getName();String studentNum = studentForm.getStudentNum();/ 获取当前页Integer currentPage = studentForm.getCurrentPage();StudentPage student = new StudentPage();student.setName(name);student.setStudentNum(studentNum);student.setCurrentPage(currentPage);/ 根据条件,得到学生列表,在页面分页显示StudentPag

25、e studentPage = adminUserService.findStudentList(student); request.setAttribute("page", studentPage);return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 通过 ajax 获得学期列表* param mapping* param form* param request* param response* return* throws Exception*/public ActionForward getTerm(Ac

26、tionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception / *参数初始化 *response.setCharacterEncoding("utf-8");/ *参数初始化 *List<Term> list = adminUserService.getTermList();/ *返回信息分类json 字符串文档实用标准*JSONArray jsonArray = JSONArray.fromObj

27、ect(list);PrintWriter out = response.getWriter();out.write(jsonArray.toString();/ *返回信息分类json 字符串*return null;/* 根据 ajax 获得课程列表* param mapping* param form* param request* param response* return* throws Exception*/public ActionForward getCourse(ActionMapping mapping, ActionForm form, HttpServletReque

28、st request, HttpServletResponse response) throws Exception / *参数初始化 *response.setCharacterEncoding("utf-8");/ *参数初始化 *long termId = Long.parseLong(request.getParameter("termId"); List<Course> list = adminUserService.getCourseList(termId);/ *返回信息分类json 字符串*JSONArray jsonArra

29、y = JSONArray.fromObject(list);PrintWriter out = response.getWriter();out.write(jsonArray.toString();/ *返回信息分类json 字符串*return null;/* 添加学生成绩* param mapping* param form文档实用标准* param request* param response* return* throws Exception*/public ActionForward addScore(ActionMapping mapping, ActionForm form

30、, HttpServletRequest request, HttpServletResponse response) throws Exception / 获得表单数据ScoreForm scoreForm = (ScoreForm)form;long courseId = scoreForm.getCourseId();String studentNum = scoreForm.getStudentNum();long termId = scoreForm.getTermId();Double score = Double.valueOf(scoreForm.getScore();Scor

31、e scr = new Score();scr.setCourseId(courseId);scr.setStudentNum(studentNum);scr.setTermId(termId);scr.setScore(score);/ 将表单中的成绩更新至数据库boolean isSuc = adminUserService.addScore(scr);if(!isSuc)return mapping.findForward(StrutsConstants.TO_FAIL);return mapping.findForward(StrutsConstants.TO_SUCCESS);/*

32、删除学生信息* param mapping* param form* param request* param response* return* throws Exception*/public ActionForward deleteStudent(ActionMapping mapping, ActionFormform,HttpServletRequest request, HttpServletResponse response)throws Exception long uid = Long.valueOf(request.getParameter("uid")

33、;/ 根据学生 id 删除该学生信息boolean isSuc = adminUserService.deleteStudent(uid);文档实用标准if (!isSuc)return mapping.findForward(StrutsConstants.TO_FAIL);return mapping.findForward(StrutsConstants.TO_SUCCESS);/ 获得密码编辑页面public ActionForward getEditPwPage(ActionMapping mapping, ActionFormform,HttpServletRequest requ

34、est, HttpServletResponse response)throws Exception return mapping.findForward(StrutsConstants.TO_SUCCESS);2. 学生成绩查询代码public class StudentUserAction extends MappingDispatchAction private AdminUserService adminUserService;/* 学生用户登录* param mapping* param form* param request* param response* return* thr

35、ows Exception*/public ActionForward studentLogin(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception 文档实用标准StudentForm studentForm = (StudentForm) form;String studentNum = studentForm.getStudentNum();String password = studentForm.getPasswo

36、rd();Student student = new Student();student.setStudentNum(studentNum);student.setPassword(password);boolean isRight = adminUserService.findStudent(student);/Student astudent = adminUserService.findAdminUserByStudentNum(studentNum);HttpSession session = request.getSession();session.setAttribute(&quo

37、t;studentNum", studentNum);if (!isRight) request.setAttribute("studentNum", studentNum);request.setAttribute("error", "用户名或密码错误");return mapping.findForward(StrutsConstants.TO_FAIL);return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 获得成绩搜索页面* param mapping*

38、param form* param request* param response* return* throws Exception*/public ActionForward searchScorePage(ActionMapping mapping, ActionForm form,文档实用标准HttpServletRequest request, HttpServletResponse response)throws Exception HttpSession session = request.getSession();String studentNum = (String)session.getAttribute("studentNum");request.setAttribute("studentNum", studentNum);return mapping.findForward(StrutsConstants.TO_SUCCESS);/* 搜索成绩* param mapping* param form* param request* param response* return* throws Exception*/public ActionForward searchScore(ActionM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论