版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、页面设计1.管理员页面设计学生成绩管理系统苗母员律恳用户宮:(图1-1管理员登陆)学生成绩管理系统W :北祁11!克迎境用椁敢嗣|注吨屏悴煎密码痂0芋生账号-学主列裂Cflpyrighft O 2010 医板所占(1-2管理员首页)学生成绩管理系统O愷理嗣悸 孑戎芒码字生列喪妄码綾曲快握右式:逓聊*1 标注T西为曲1顶1Copyright C 201D 磁序西(1-3管理员密码修改)学生成绩管理系统W L admin !趣燮用砂超I诵加学生用户饶建方宜:iEHf楼改密玛-制時却灼#生列于儘主 殆为魯甸学生蛀君学生字吕-Copyright E J010 帐6W沽(1-4添加学生账号)你号:a
2、dmin I !?JS虫住用学生成绩管理系统B濟加字圭J灼学性雄各:卡生学号:|学号44612S13J456ifi学四JKZ下一広|上一丈|翦一网 W冋划富|#型|话理 网 毎文1碍 画Copyright KJ1& 西飾有(1-5学生列表页面)学生成绩管理系统W : admin !厭迎5阴權改嗣I洼就豆呈匕刃反廣帰 fg翻碣麻加世縣号-妊卷囲序料S凤芳主方式:WW 庭”耀亡趣学生桂茗.王五 字生学号W1J3Copyright驻2D10版抿所肓(1-6编辑学生信息)学生成绩管理系统Q岂埋舷作-酒1)呼生應号丰生列丢学生列壶I学主姓容学号IS446121学四124531234 筒字岀1若:学土学豊
3、:|ESI下一只I上一页|刻一瓦I a.e5H M1J3FE15II庶I 隔|灣用號 画W : admin ! 用(1-7删除学生)学生成绩管理系统浦加学生底号底注.毗学生巒宇生的王远4461JJ 200声7 11CQPZflgiil C JOia 賑祝:Jf(j(1-8添加更新学生成绩)2.学生用户页面设计学主成绩管理系统学生用户鱼录(2-1学生用户登录)学生成绩管理系统你好t admin i取迎強用flraes 1 注她塞郭学生月户百盂-唤邮融曲Copyright O 2D1G 血枚所fii(2-2学生用户首页)学生成绩管理系统W ; admin !跃迎便用修改嗣|注沟矽5対rigM e
4、201Q悵很皆耳(2-3学生用户密码修改)ts奸:ddmii I学生成绩管理系统O学生翌作咸無色向依理方式:iS35楼改史玛成修词疑*的再必Copyright C 2010 JfilS芾塚(2-4学生用户成绩查询)O孚拌.性懵改建!玛学期:20M尊一丰期成犠査间era ; 100EHt : so 略:SOCopyright匸2Q1Q喘应凑有(2-5学生成绩查询结果)二、数据库表设计表名ADMINJJSER关键字段中文表名(功能描述)管理员字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERUSER_NAME用户名VARCHAR2PASSWORD密码VARCHAR2(管理员表)表名C
5、OURSE关键字段中文表名(功能描述)课程表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERCOURSE_NAME课程名VARCHAR2TERM学期NUMBER(课程表)表名SCORE关键字段中文表名(功能描述)成绩表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERSTUDENT_NUM学号VARCHAR220SCORE成绩NUMBERCOURSE_ID课程号NUMBERTERM_ID学期号NUMBER(成绩表)表名STUDENT关键字段中文表名(功能描述)学生表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERNAME姓名VARCHAR220PA
6、SSWORD密码VARCHAR220STUDENT_NUM学号VARCHAR220UPDATE_DATE更新日期DATE(学生表)表名TERM关键字段中文表名(功能描述)学期表字段名称字段描述字段类型长度允许空缺省值备注IDPKNUMBERTERM_NAME学期名VARCHAR220三、 系统技术以及运行环境的需求分析系统技术整体介绍该系统框架主要使用Spring+Struts+lbatis,其中Spring解决了 DAO层(数据持久层)、service层(业务逻辑层)、 model (模型层)、View (视图层)之 间的耦合关系,Struts将程序分为DAC层、model层、View层,I
7、batis 是对象 持久化框架。通过三种技术的使用,提高了系统的灵活性和可扩展性。Spring IOC 和 Spring AOP 技术简介* 该系统中主要使用了 Spring中的最核心的两个模块,IOC和AOP核心容 器提供Spring 框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。Bea nF actory使用控制反转(IOC)模式将应用程序的 配置和依赖性规范与实际的应用程序代码分开。Spring AOP模块则直接将面 向方面的编程功能集成到了 Spring框架中。所以,可以很容易地使 Sprin g框架管理的任何对象支持 AOPoSpring AOP模块
8、为基于Spring的应用程 序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖EJB组 件,就可以将声明性事务管理集成到应用程序中。STRUTS技术简介Struts技术的核心是 MVC(Model View Controller ),其目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。同时也使得软件可 维护性、可修复性、可扩展性、灵活性以及封装性大大提高。它通过把数据模 式从各种可以被存取和控制的数据中分离出来可以改善分布式系统的设计。MVC设计模式有三部分组成。模型是应用对象,没有用户界面。视图表示它在屏幕 上的显示,代表流向用户的数据。控制器定义用户界面
9、对用户输入的响应方 式,负责把用户的动作转成针对 Model的操作。Model通过更新View的数据来 反应数据的变化。Struts继承了 MVC勺各项特性,并根据J2EE的特点,做了 相应的变化与扩展。其流程如下图所示:图 2.2.1AJAX技术简介在该系统中也是用了 AJAX技术实现了学期和课程的二级联动,提高了系统的用 户体验。传统的web应用允许用户填写表单(form),当提交表单时就向web服务 器发送一个请求。服务器接收并处理传来的表单,然後返回一个新的网页。这 个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML弋码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应
10、用的响应时间就依赖于 服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同, AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOA或其它一些基于XML勺webservice接口,并在客户端采用JavaScript处理来自服务器的响应。 因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快 的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。IBATIS技术简介iBatis 是一个0/R Mapping解决方案,j2ee的0/R方案很多,和 Hibernate相 比,iBatis最大的特点就是小巧,上手很快。如果你
11、不需要太多复杂的功能, iBatis是能满足你的要求又足够灵活的最简单的解决方案。四、数据库连接该系统数据库的连接使用的是 data source配置的方式,使用data source提高 了连接数据库的性能。配置在 WebRoot/web-i nf/con fig/co pertis中,具体配置如下:database.driver=oracle.jdbc.OracleDriverdatabase.url= jdbc : oracle:thin:localhost:1521:orcldatabase.user name=leiweiweidatabase.password=le
12、iweiwei可根据不同的用户修改用户名和密码五、代码简介1. 用户管理代码public class Adm inU serAct ion exte nds Mapp in gDispatchAct ion public static final Stri ng PASSWORD = 123456; private Admi nU serService adm inU serService;*判断用户名密码是否正确* param mappi ng* param form* param request* param resp onse* return* throws Excepti on*/pu
13、blic ActionFo rward adm inU serLogi n(ActionM app ing mapp ing. Actio nF ormform,HttpServletRequest request, HttpServletResp onse resp onse) throws Excepti on /获取表单数据Logi nForm log inForm = (Logi nForm) form;Stri ng userName = logi nF orm.getUserName();Stri ng password = logi nF orm.getPassword();Ad
14、m inU ser adm inU ser = new Admi nU ser();admi nU ser.setUserName(userName);adm inU ser.setPassword(password);/判断用户名、密码是否正确boolean isRight = adminUserService.findAdminUser(adminUser);/如果不正确,返回登陆页面if (!isRight) II将用户名放在request中,用于页面回显request.setAttribute(userName, userName); return mappi ng.fi ndForw
15、ard(StrutsC on sta nts.TO_FAIL);II登陆成功,将用户名存入 session中HttpSessi on sessi on = request.getSessi on();sessi on. setAttribute(userName, userName);II转到管理员首页return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);I得到添加学生页面* param mappi ng * param form* param request* param resp onse* return* throws E
16、xcepti on*/form,public ActionFo rward addStude ntPage(Acti onM app ing mapp ing. Actio nF ormHttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on /转到添加学生页面return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);/*添加学生用户* param mappi ng* param form* param request* param
17、resp onse* return* throws Excepti on*/public ActionFo rward addStude nt(Acti onM app ing mapp ing. Actio nF orm form, HttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on /从表单中获取学生信息Stude ntForm stude ntForm = (Stude ntForm)form;Stri ng n ame = stude ntForm.getName();String
18、 stude ntNum = stude ntForm.getStude ntNum();Stude nt stude nt = new Stude nt();stude nt.setName (n ame);stude nt.setPassword(PASSWORD);stude nt.setStude ntNum(stude ntNum);/将学生信息存入学生表中boolea n isSuc = adm inU serService.addStude nt(stude nt);if(!isSuc)/如果失败,转到错误页面return mappi ng.fi ndForward(Struts
19、C on sta nts.TO_FAIL); /成功转到列表页面return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);/编辑学生信息* param mappi ng* param form* param request* param resp onse* return* throws Excepti on */public ActionFo rward editStude ntln fo(Act ionM app ing mapp ing, Acti onFormform,HttpServletRequest request,
20、HttpServletResp onse resp onse) throws Excepti on /从表单中获得学生信息Stude ntForm stude ntForm = (Stude ntForm)form;Stri ng n ame = stude ntForm.getName();long id = Lon g.valueOf(request.getParameter(id);String stude ntNum = stude ntForm.getStude ntNum();Stude nt stude nt = new Stude nt();stude nt.setName (
21、n ame);*获得编辑页面* param mappi ng* param form* param request* param resp onse* return* throws Excepti on*/public ActionFo rward getEditPage(Actio nM appi ng mapp ing, Acti onForm form, HttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on /获得学生编辑页面,将学生信息回显在页面上Long uid = Lon g.v
22、alueOf(request.getParameter(uid);Stude nt stude nt = adm inU serService.getStude ntByld(uid); request.setAttribute(stude nt, stude nt);return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);stude nt.setStude ntNum(stude ntNum);stude nt.setld(id);/更新学生信息boolea n isSuc = adm inU serService.update
23、Stude ntl nfo(stude nt); if(!isSuc)/如果不正确转到错误页面return mappi ng.fi ndForward(StrutsC on sta nts.TO_FAIL);/正确,转向列表页面 return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);*获得添加成绩页面* param mappi ng* param form* param request* param resp onse* return* throws Excepti on*/public Acti onFo rward addS
24、corePage(Actio nM appi ngmapp ing. Actio nF orm form,HttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on Long uid = Lon g.valueOf(request.getParameter(uid);/获得学生列表Stude nt stude nt = adm inU serService.getStude ntByld(uid);List stude ntList = adm inU serService.getStude nt
25、List();/将学生信息存在request中,用于页面显示request.setAttribute(stude nt, stude nt); request.setAttribute(stude ntList, stude ntList);return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);/获得学生列表* param mappi ng* param form* param request* param resp onse * return* throws Excepti on*/public ActionFo rward
26、getStude ntList(Acti onM app ing mapp ing, Acti onFormform,HttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on /根据查询条件(姓名、学号)查询学生信息Stude ntForm stude ntForm = (Stude ntForm)form;Stri ng n ame = stude ntForm.getName();String stude ntNum = stude ntForm.getStude ntNum();/获取当前
27、页In teger curre ntPage = stude ntForm.getCurre ntPage();Stude ntPage stude nt = new Stude ntPage();stude nt.setName (n ame);stude nt.setStude ntNum(stude ntNum);stude nt.setCurre ntPage(curre ntPage);/根据条件,得到学生列表,在页面分页显示StudentPage studentPage = adminUserService.findStudentList(student); request.set
28、Attribute(page, stude ntPage);return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);*通过ajax获得学期列表* param mappi ng* param form* param request* param resp onse* return* throws Excepti on*/ public ActionFo rward getTerm(Actio nM appi ng mapp ing, Actio nF orm form,HttpServletRequest request, Http
29、ServletResp onse resp on se)throws Excepti on /*参数初始化*resp on se.setCharacterE ncodi ng(utf-8);/*参数初始化*List list = admi nU serService.getTermList();/*返回信息分类json字符串*JSONArray jso nArray = JSONArray.fromObject(list);Prin tWriter out = resp on se.getWriter();out.write(js on Array.toStri ng();/*返回信息分类js
30、on字符串*return n ull;/添加学生成绩* param mappi ng * param form*根据ajax获得课程列表* param mappi ng* param form* param request* param resp onse* return* throws Excepti on*/public ActionFo rward getCourse(Actio nM appi ng mapp ing. Actio nF orm form,HttpServletRequest request, HttpServletResp onse resp on se)throws
31、 Excepti on *数初始_化 *resp on se.setCharacterE ncodi ng(utf-8); *数初始_化 *long termId = Lon g.parseL on g(request.getParameter(termId); List list = adm inU serService.getCourseList(termld);/*返回信息分类json字符串*JSONArray jso nArray = JSONArray.fromObject(list);Prin tWriter out = resp on se.getWriter();out.wri
32、te(js on Array.toStri ng();/*返回信息分类json字符串*return n ull;* param request* param resp onse* return* throws Excepti on*/public ActionFo rward addScore(Actio nM appi ng mapp ing, Acti onForm form, HttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on /获得表单数据ScoreForm scoreForm =
33、 (ScoreForm)form;long courseId = scoreForm.getCourseld();String stude ntNum = scoreForm.getStude ntNum();long termId = scoreForm.getTermld();Double score = Double.valueOf(scoreForm.getScore();Score scr = new Score();scr.setCourseId(courseId);scr.setStude ntNum(stude ntNum);scr.setTermId(termId); scr
34、.setScore(score);/将表单中的成绩更新至数据库boolea n isSuc = adm inU serService.addScore(scr);if(!isSuc)return mappi ng.fi ndForward(StrutsC on sta nts.TO_FAIL);return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);/*删除学生信息* param mappi ng* param form* param request* param resp onse* return* throws Excepti
35、 on*/form,public ActionFo rward deleteStude nt(Actio nM appi ng mapp ing, Actio nF ormHttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on long uid = Lon g.valueOf(request.getParameter(uid);/根据学生id删除该学生信息boolea n isSuc = adm inU serService.deleteStude nt(uid);if (!isSuc)ret
36、urn mappi ng.fi ndForward(StrutsC on sta nts.TO_FAIL);return map pi ng.fi ndForward(StrutsCo nsta nts.TO_SUCCESS);/获得密码编辑页面public ActionFo rward getEditPwPage(Actio nM appi ng mapp ing. Actio nF orm form,HttpServletRequest request, HttpServletResp onse resp on se) throws Excepti on return map pi ng.
37、fi ndForward(StrutsCo nsta nts.TO_SUCCESS);2. 学生成绩查询代码public class StudentUserAction extends MappingDispatchAction private AdminUserService adminUserService;/*学生用户登录* param mappi ng* param form* param request* param response* return* throws Exception*/public ActionForward studentLogin(ActionMapping
38、mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception StudentForm studentForm = (StudentForm) form;String studentNum = studentForm.getStudentNum();String password = studentForm.getPassword();Student student = new Student();student.setStudentNum(studentNum
39、);student.setPassword(password);boolean isRight = adminUserService.findStudent(student);/Student astudent = adminUserService.findAdminUserByStudentNum(studentNum);HttpSession session = request.getSession();session.setAttribute(studentNum, studentNum);if (!isRight) request.setAttribute(studentNum, st
40、udentNum);request.setAttribute(error,用户名或密码错误);return mapping.findForward(StrutsConstants.TO_FAIL);return mapping.findForward(StrutsConstants.TO_SUCCESS);*获得成绩搜索页面* param mappi ng* param form* param request* param response* return* throws Exception*/public ActionForward searchScorePage(ActionMapping
41、 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);/*搜索成绩
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024知名大学与科研机构联合培养研究生协议
- 2025年度企业财务内部控制与合规审计合同范本3篇
- 专用购销交易2024版协议格式版A版
- 二零二四商标授权及知识产权跨界合作合同3篇
- 万科物业2024停车场运营管理协议
- 2024年谈蕾离婚后财产与子女抚养协议书3篇
- 个性化小额资金借贷款项协议范本一
- 二零二四卫生院卫生间改造与装修施工合同3篇
- 2025产学研科技成果转化合同:生物科技产业合作框架4篇
- 2024路灯购销安装合同范本
- SQL Server 2000在医院收费审计的运用
- 《FANUC-Oi数控铣床加工中心编程技巧与实例》教学课件(全)
- 微信小程序运营方案课件
- 抖音品牌视觉识别手册
- 陈皮水溶性总生物碱的升血压作用量-效关系及药动学研究
- 安全施工专项方案报审表
- 学习解读2022年新制定的《市场主体登记管理条例实施细则》PPT汇报演示
- 好氧废水系统调试、验收、运行、维护手册
- 中石化ERP系统操作手册
- 五年级上册口算+脱式计算+竖式计算+方程
- 气体管道安全管理规程
评论
0/150
提交评论