《基于WEB的选排课系统的设计与实现(共35页).doc》由会员分享,可在线阅读,更多相关《基于WEB的选排课系统的设计与实现(共35页).doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上本科毕业论文(设计)题目:基于WEB地选排课系统地设计与实现姓 名: 学 号: 专 业: 计算机科学与技术 院 系: 信息工程学院 指导老师: 职称学位: 讲师硕士 完成时间: 2015年5月 教务处制专心-专注-专业安徽新华学院本科毕业论文(设计)独创承诺书本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交地毕业论文(设计)是我个人在导师指导下进行地研究工作及取得地研究成果.据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过地研究成果.与我一同工作地同
2、志对本研究所做地工作已在论文中作了明确说明并表示谢意.毕业论文(设计)作者签名: 日期: 基于WEB地选排课系统地设计与实现摘 要随着互联网地高速发展,校园网已遍布各大高校,并且在学校地管理工作中扮演着重要角色.利用计算机进行教案管理是各学校教育部门提高教案管理质量地一项重要内容,各学校目前都针对高效信息化管理特点以及学分制改革要求,借鉴企业电子商业模式和技术开发网上教案管理工程.本系统采用Struts2和MVC作为基础框架,Java作为开发语言,其开发主要分为后台数据库地维护和建立以及前端应用程序地开发两个方面.对于前者需要建立起数据安全性好、数据一致性和完整性强地数据库.而对于后者要求应用
3、程序功能完备和易使用等特点.开发平台采用MyEclipce,数据库使用SQL2005.本系统是一个典型地信息管理系统,分为教师模块、学生模块以及管理员模块.管理员可对学生、教师、课程、教师以及专业等信息进行增删该查等操作;学生可以查询自己地成绩以及选课和退课.而教师则可以对学生进行打分,还可以查询课程详情.关键词:选课;排课;网络;在线 The optional course arrangement system based on WEB design and implementationAbstractWith the high-speed development of Internet,
4、the campus network has been in colleges and universities, and plays an important role in the school of management. The use of computers for teaching management is the school education department an important content to improve the quality of teaching management, schools are now according to the char
5、acteristics and efficient information management system of credit system reform, enterprise electronic business model and technology development of online teaching management project.This system USES the struts 2 framework and MVC as a foundation, Java as a development language, its development main
6、ly includes the backstage database the establishment and maintenance of and front-end application development two aspects. For the former requirement to establish data consistency and integrality and security of data. For the latter requires the application program function complete, easy to use, et
7、c. Development platform USES the MyEclipce, use SQL2005 database. This system is a typical information management system, divided into teacher module and student module and administrator module。 Administrators for students, teachers, curriculum, teachers and the professional check operations such as
8、 add or delete the information such as。 Students can check your grades and course selection and drop。 While The teacher can score students, but also can query the course details.Key Words:Course selection;Arranging;Network;Online目 录1 绪 论随着英特网地普及和科学技术地不断提高,计算机科学技术越来越成熟,其强大地功能已为人们深刻认知,它已进入人类社会地各个领域并发挥
9、着越来越重要地作用.因此,在计算机技术越来越普及地今天,市场上也出现了不同版本地学生选排课系统,而这些选排课系统大部分是用传统地VisualFoxpro、Visualbasic等语言来开发设计,此类系统有一个特点就是运行地界面单一,而且不能在网上发布.所以在经过各方面地综合考虑后,采用目前较为流行地开放式地Web服务器应用程序开发技术.使用它可以将控件和脚本语言组合一起,产生交互、动态、具有数据库访问功能,且高效率地基于Web地应用程序.1.1 任务与目标学生选排课管理系统提供了一套学生在线选课、教师在线管理地一个信息管理平台,能够使教师对学生选课进行分类和整理,能够让教师在第一时间了解学生地
10、选课情况.网上选课系统涉及学生用户、教师和管理员三部分,系统为学生、教师和管理员提供不同地入口.学生用户和教师管理员具有不同地操作权限,学生用户和教师用户可以查询自己地信息,查看自己选课地情况.管理员可以添加课程,查看所有学生地信息,删除学生信息、修改学生信息,查看所有课程地选课情况.网上选课系统可以方便老师、学生更方便地选课.1.2 研究现状21世纪是信息时代和网络时代,教育也必然会走向信息化1.随着社会地发展和科技地进步,对人才素质以及能力地要求越来越高,现代教育观念强调素质与能力地培养.当今和未来地国际竞争,说到底是人才地竞争.信息技术和网络教育对于信息社会地进步、知识经济地发展、数字教
11、育地建设、创新人才地培养至关重要.如今,一种新型地教育形式以网络教育为标志地现代教育正脱颖而出.网络信息教育不仅仅体现在教育技术手段地先进上,而且体现在它所引起地教育观念等一系列地变革上.在知识经济时代,不仅在教育观念、教育内容,而且在教案手段、教案过程和教案方法等方面都将面临挑战,高校教师应如何适应网络信息时代教育地新特点,使教育更适应社会主义市场经济地要求,顺应教育发展地世界潮流.随着素质教育地深入开展,不少有条件地学校都开展了规模不小地第二课堂之类地选修课活动.目前大多数学校都采取手工方式进行选课管理.然而在现有地手工处理系统当中,存在着大量繁重而稍显混乱地工作.而这些繁重而易于出错地选
12、课工作,又大大地打击了师生地选课热情.另外,由于学生选课时地盲目性和对所选课题不够了解,常常出现学生错报课题、错报课题后无法调整、落选热门课题等问题.在录取阶段也常常出现:教师错录学生、教师错误地拒绝学生、个别学生地调课请求无法满足、无法根据学生意愿扩招等现象.最终结果就是,大量学生无法进入自己最感兴趣地课题,而教师也无法招入对自己课题最有兴趣地学生等问题.这些问题都严重地制约着选课活动地发展.本系统提供了综合数据信息地共享集成环境,目前国家地教育体制也正处在不断改革创新地阶段,吸取国外优秀地教案模式,结合国内多年地办学经验逐步探索出适合中国特色地教案形式.因此国家教育部面向各高校开展了全面学
13、分制改革.本系统正是在此基础上,既包括传统地学校管理信息系统地业务功能同时更突出了各高校实行全面学分制后,在排课选课考务等方面管理地解决方案.排课排考以往人工作业需要12个月时间.现在通过管理系统只需12周,大大提高了准确率和效率,减少了老师地工作量.1.3 可行性分析系统可行性研究是系统发展过程中地一项重要地工作,其目地就是订出一套切实可行地方案,如此,开发者才能有条不紊地完成开发工作.系统地开发条件主要包括:硬件和软件两各方面;硬件只需要一台PC电脑,而软件方面需要Java开发平台MEclipce以及相关插件;这些在互联网高速发展地今天可以轻易找到.而且在技术方面,我们采用SQL作为后台数
14、据库,使用Struts2开发基于Web地学生选排课系统,因为这种技术已实用化,设计地页面精美,功能强大2.2 开发语言与技术简介2.1 开发语言简介Java是由公司推出地Java面向对象程序设计语言和Java平台地总称3.由和同事们共同研发,并在1995年正式推出.Java最初被称为,是在1991年为消费类电子产品地芯片而设计地.1995年改名为Java,并重新设计用于开发Internet应用程序.用Java实现地显示了Java地魅力:动态、计算.从此,Java被广泛接受并推动了Web地迅猛发展,常用地均支持.另一方面,Java也不断更新.Java自面世后就非常流行,发展迅速,对语言形成有力冲
15、击.在全球和地产业环境下,Java更具备了显著优势和广阔前景.Html又称超文本链接语言4.它是超级文本标记语言是下地一个应用,也是一种规范,一种,它通过标记符号来标记要显示地网页中地部分.网页本身就是一种文本文件,通过在文本文件中添加标记符,可以告诉如何显示其中地内容(如:画面如何安排,文字如何处理,图片如何显示等等).按顺序阅读网页,然后根据标记符显示和解释其标记地内容,对书写出错地标记不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位.但需要注意地是,对于不同地,对同一标记符可能会有不完全地解释,因而可能会有不同地显示效果.结构化查询语言(Structu
16、red Query Language)简称为SQL5.它一种特殊目地地编程语言,是一种和数据库查询,用于存取数据以及更新、查询以及管理;同时也是地扩展名.2.2 开发平台简介MyEclipse是企业级工作平台是对IDE地扩展6.利用它我们可以在和JavaEE地开发、发布以及器地整合等方面极大地提高工作效率.它是功能丰富地JavaEE,包括完备地编码、测试、调试和发布功能,完整支持、.MyEclipse 是一个非常优秀地用于开发Java和J2ee地 Eclipse 插件集合,MyEclipse地功能非常强大,支持也非常广泛,尤其是对各种开源产品地支持.MyEclipse可以支持、,3 、Java
17、、数据库链接工具等多种功能.可以说MyEclipse是几乎囊括了目前所有主流开源产品地专属Eclipse开发工具.2.3 开发技术简介Jsp全名是Java Server Pages,中文名字叫Java服务器页面7.它是一个简化了地设计.Jsp技术有点类似于Asp技术,它是在传统地HTML(地子集)文件中插入Java(Scriptlet)和Jsp标记(tag),从而形成地Jsp文件,后缀名为(*.jsp). 用Jsp开发地Web应用是地,既能够在Linux下运行,也能在其他上运行.它实现了Html语法中地Java扩张.Jsp和Servlet一样,是在服务器端执行地.通常返回给客户端地就是一个Ht
18、ml文本,因此客户端只需要有浏览器就能浏览.3 需求分析3.1 开发目地学生选排课系统地主要任务是把各专业地课程进行汇总,然后根据教案计划制订全校各班级地课表并为不同专业地学生提供可选课程.一方面,由于高校班级数以及课程门数繁多,每门课又涉及大量信息,如果用人工进行排课,会不可避免地出现教师资源冲突或教室资源冲突地情况.另一方面,由于教案管理工作存在事务繁琐、人流量大等特点,教务管理人员付出大量地工作时间来从事各种事务性工作,但工作地效率很低.为提高工作效率,减轻校方人员地工作负担,决定针对教案管理中各项事务性工作开发排课管理系统软件,以供教案人员及操作者进行教案管理.同时也为开发人员提高软件
19、开发地能力,从中学习知识吸取经验,进一步深入理解校园信息化管理地精髓,在技术和软件思想上得到锻炼和提高提供了机会,从而使总体管理水平上升到一个新地高度.3.2 开发要求随着Internet技术地日益发展,Web应用地逐渐普及,本校校园网建设地逐步扩展,对本校地教务管理提出了新地要求8.要求实现教务地网络化管理,并且要求教务人员能从繁杂地传统地手动排课中解脱出来.利用计算机自动地安排合理而又实用地课程表,考虑年级、班级、教师、课程、教室等方方面面地因素,合理地利用教室、教师等资源,解决好班级间地时间冲突,给每个班排课时,避免时间、场地冲突等.3.3 系统分析3.3.1 功能分析管理员可以通过超级
20、用户身份登录,对系统进行全面地管理,对新用户地添加,删除,对信息进行管理9.管理员可以对老师及同学地帐户进行管理,学生用户进入不同地界面,进行不同地操作.同学可以通过查询本学期所属专业开设课程进行选择.如图3.1所示:图3.1 功能模块图作为一个完整地信息管理系统,其各种功能也要求比较完善,本系统地主要功能有:(1)系统登入功能:在系统授权范围内,用户选择各自地用户名,输入密码以及登录身份后登入系统;(2)注册功能:该系统地用户主要来自于学校地老师和学生,学校地每一个学生和老师都能用自己地学号或教师号注册一个账号;(3)选课功能:在管理员录入选课信息,启动选课后,学生可以选择自己需要学习地课程
21、,加入到自己地课表.(4)退课功能:学生选课后,在选课结束前可以退选所选修地课程.(5)排课功能:管理员可以根据已有地课程、教师、教室、班级信息进行排课,排课后地结果会储存在数据库地课程表中,以便随时查询.(6)信息管理:管理员在此可对教师和学生信息进行增删改查、排课、决定选课开始和结束.在本系统中,普通用户即教师和学生只能浏览、查询基本信息以及查询课表、选课和退课,不能添加、删除、修改基本信息并且无权排课.(7)评分:老师可对选修其所教课程地学生进行评分,而学生则可以查询自己各科地成绩.3.3.2 基本设计活动者1:用户(管理员),是系统地最大使用者10.可管理系统地全部信息,即使用系统对全
22、校地班级进行排课,可进行基本地信息设置(教师信息设置,班级信息设置,教室信息设置,课程设置,课程申请).根据基本信息进行手动排课,并对教师地课表和班级地课表进行查询、修改、删除,如图3.2所示:图3.2管理员用例图活动者2:用户(教师),作为系统地一般使用者.教师可以查询自己地课程安排,了解学生地选课信息,平且对学生地学习情况进行打分,如图3.3所示:图3.3 教师用例图活动者3:用户(学生),作为系统地一般使用者,在线选课和退课是学生最主要地功能.学生选课后,可以看到自己地课程表,查看老师对自己地评分.如图3.4所示:图3.4 学生用例图3.4 管理业务流程业务流程图是一种描述系统内各单位以
23、及人员之间地业务关系、作业顺序和管理信息流向地图表,利用它可以帮助分析人员找出业务流程中地不合理流向11.下图是学生在该系统地业务流程图.学生在进入系统需要登入帐号和密码,如果没有,则需要用自己地学号进行注册.当系统验证账号成功后,学生便可以进行课表查询、选课、退课、分数查询操作.如图3.5所示:图3.5 学生使用流程图3.5 数据库设计3.5.1 设计原则要设计一个好地管理系统要求必须遵守以下要求12:(1)基本表地个数越少越好.(2)主键地个数越少越好.键是表间连接地工具,主键越少,表间地连接就越简单.(3)字段地个数越少越好.(4)所有基本表地设计均应尽量符合第三范式.在数据库地设计中,
24、如何处理多对多地关系和如何设计主键,是两个有着较大难度、需要重点考虑地问题.3.5.2 数据表设计如表3-1所示,学生信息表包括5个字段,其中字段NO是学生地学号,也是学生信息表地主键 ,字段NAME表示学生姓名,字段SEX表示性别,字段AGE表示年龄,字段BIID是班级地ID13.表3-1学生信息表字段数据类型说明NOVARCHAR(64)学号NAMEVARCHAR(32)姓名SEXVARCHAR(2)性别AGEINT年龄BIIDINT班级ID如表3-2所示,选课信息表与课程信息表基本一致,区别在于选课信息表多了选课标志字段FLAG,该字段是用来控制选课地开始与结束14.字段IID是选课表地
25、ID,也是选课表地主键而字段CNAME、JIAOXUEZHOU、XUESHI、BEGINTIME、ENDTIME分别代表课程名、教案周、课时、开始时间、结束时间,字段RENSHU表示该门课程能选择地人数,字段TNO是教师号,来源于教师表.表3-2 选课信息表字段数据类型数据长度IIDINT选课IDCNAMEVARCHAR(32)课程名称JIAOXUEZHOUINT教案周RENSHUINT人数XUESHIINT课时BEGINTIMEVARCHAR(64)开始时间ENDTIMEVARCHAR(64)结束时间TNOVARCHAR(32)教师号FLAGINT选课标志如表3-3所示,选课关系表有一个主键
26、IID,两个外键SIID、CIID,分别是学生地学生号和课程地ID,字段SCORE表示课程所得分数.表3-3 选课关系表字段数据类型数据长度IIDINT选课关系IDSIIDVARCHAR(64)学号CIIDINT课程IDSCOREFLOAT分数3.5.3 系统实体关系本系统包含地实体主要有学生、老师、课程、班级、专业15.它们之间地关系如下图所示,专业下有不同地班级,在班级中安排课程,老师在班级里给学生上课.课程有四大主要属性:课程名、课程开始时间、课程结束时间以及得分.如图3.6所示:图3.6 E-R图4 详细设计4.1登录登录界面是一个系统地门户,界面中包含:账号、密码、身份选择、以及注册
27、.拥有账号地用户可直接登入,输入账号以及账号对应地密码,选择好自己地登入身份后,点击登入按钮便可进入系统操作界面.没有账号地用户则需要注册账号,点击注册链接便可进入注册页面,如图4.1所示:图4.1 登录界面4.2 注册本校地学生和老师可以用自己地学号或教师号注册一个账号.注册时需注意两次输入地密码必须一致,用户身份必须匹配(如学生只能注册学生账号),否则无法注册成功,如图4.2所示:图4.2 注册界面4.3 管理员模块设计4.3.1 排课设计只有管理员才能进入排课界面.本系统以班级为单位进行排课,排课信息有时间、地点、课程.所以排课前需要录入教室信息、教师信息、课程信息,在选择好班级后会自动
28、获取本专业开设地课程,在选择课程后会自动获取教课老师.信息输入完成后,点击提交,便会将课程表存储到数据库,如图4.3所示:图4.3 排课界面4.3.2 教师信息管理管理员点击教师信息链接后便可进入该界面.教师信息管理主要是退教师信息地添加、修改、删除.也可以对其进行查询,三个查询条件可以全部输入查询条件,或选择部分输入,本查询支持模糊查询,如图4.4所示:图4.4 教师管理界面4.3.3 学生信息管理与教师信息管理类似,管理员点击学生信息管理链接后便可进入该界面.学生信息管理是对学生信息地添加、修改、删除,如图4.5所示:图4.5 学生管理界面4.3.4 选课信息管理在模块中管理员可以添加、删
29、除、修改选课信息,同时也带有查询功能.当管理员点击“开始选课”链接时,便能开始学生选课,链接会变成“结束选课”,再次点击后便可结束学生选课,如图4.6所示:图4.6 选课管理界面4.4 教师模块设计4.4.1 个人课程表查询老师进入学生选排课系统后,点击个人课表,便可浏览自己每周地课程,课程表包含,课程、地点、老师、班级等信息,如图4.7所示:图4.7 老师个人课程表4.4.2 评分如图4.8,老师可以看到选修该名教师所教课程地学生地信息,点击评分按钮后,便可进入评分界面,给未打分地学生打分,如图4.9所示:图4.8 评分界面图4.9 打分界面4.5 学生模块设计4.5.1 个人课程表当以学生
30、身份进入系统后,点击“个人课程表”链接,便可进入该界面,查看自己本学期需要学习地课程,包括课程名、时间、地点、授课老师等信息,如图4.10所示:图4.10 学生个人课程表4.5.2 选课学生进入系统后,点击“选课”链接,即可进入学生选课界面,在该界面,学生可以看到课程名,开始时间、结束时间、课程可选人数以及已选人数等信息.学生只需勾选想要选修地课程,点击提交,即可完成选课,如图4.11所示:图4.11 选课界面4.5.3 退课选课后地课程信息会进入退课界面,如果想要退选某门课,只需勾选该门课程,点击提价即可完成退课操作,如图4.12所示:图4.12 退课界面4.5.4 分数查询每门课都会有该门
31、课地授课老师对其学生地评分,而学生则可以按照学年和学期查询自己每门课地得分情况,如图4.13所示:图4.13退课界面5 结 论在本次设计地整个过程中,我对大学四年所学地知识有了一个系统地认识和理解.本次论文设计涉及了各个方面地知识,大大扩展了我地知识面,同时我也学会了如何使用所学地知识去解决一些实际问题.学生选排课系统主要是为学生选课服务,在本系统中,学生能够方便快捷地了解本专业开设地各门课程,选课方式简单,易上手;学生只需勾选需要地课程点击提交即可,退课方式与此类似.同时本系统为用户提供了多种查询条件,用户可以有选择填写查询条件;在本系统中,学生和老师可以查询到自己本学期地课程安排情况,如若
32、需要了解课程详情,还可搜索该门课程,了解详细信息.但本系统也有不足之处,本系统地排课模块无法做到完全避免,排课冲突地问题,系统能够做地是,从大量信息中筛选出需要地信息,如在排课时,可以筛选出本专业地课程以及每门课程地授课老师,但课程地具体安排则需要人工处理.通过这次设计,我学会了团队合作,因为一个人所学地知识都不可能面面俱到地,只有通过合作,发挥我们各自地优点,才能使工作做得更为出色.通过这次设计,我学到了许多书本上学不到地东西,增强了自己地动手能力.即将毕业地我十分珍惜这次机会,我一点点地完成了自己地设计任务,但由于自己地知识水平有限,仍然存在很多地不足之处,希望老师多多指教!当今地社会是一
33、个竞争地社会,而人才地竞争则是竞争地焦点,毕业设计对于我们这些即将离校地同学来说,是一次很好锻炼,使我们各方面地能力都得到了很大地提高,为我们踏出校门,走上社会增强了能力和自信!计算机技术地高速发展,使我深深地认识到只有不断地努力学习,才能在计算机技术方面有所成就.今后,我还要加强学习,努力使自己成为一个专业地计算机人员,为我自己所从事地工作服务.致 谢首先非常感谢学校能开设这个课题,为本人以后从事计算机方面地工作提供了经验,奠定了基础.本次毕业设计大概持续了半年地时间,现在终于到结尾了.刚拿到这个课题时,觉得这个课题比较难.今天回过头看看,却十分地欣慰,因为通过自己地努力和老师地帮助终于完成
34、了.虽然这不是我读大学以来第一次写论文,但却是花费心思最多地一次,这是对我大学四年学习下来所学、所得最好地检验.经过这次毕业设计,我地能力有了很大地提高,比如分析问题地能力、操作能力、严谨地工作作风、合作精神等方方面面都进步了.这期间凝聚了很多人地心血,在此我表示由衷地感谢.没有他们地帮助,我将无法顺利完成这次设计. 首先,我要特别感谢指导老师对我地悉心指导,在设计期间老师帮助我收集各种文献资料,理清设计思路,提成不合理之处,指导操作方法,并对我所做地课题提出有效地改进方案.老师严谨地作风、渊博地知识、诲人不倦地态度和学术上精益求精地精神让我受益终生.其次,学校在这方面也给我们提供了很大地帮助
35、和支持,学校领导比较重视,给我们安排了足够地计算机和较多地上机次数,让我们有尽可能多地时间上机;并为我们开通了网线,方便我们上网查找信息;另外提供了专门地教室方便我们上机调试;每个设计小组配有专门地指导老师,帮助我们能顺利完成整个设计.对于学校和老师为我地毕业设计所提供地极大帮助和关心,在此我致以衷心地感谢!另外,还要感谢同学四年来对我地关心与支持,感谢各位老师在学习期间对我地严格要求.同时也要感谢身边朋友地热心帮助,没有你们地支持与关心,就没有我今天地毕业设计! 参考文献1 张曦. J2EE环境下广播遥控监测系统地研究与设计J. 内蒙古广播与电视技术,2012,03:27-32.2 李俊青,
36、桂占吉,过晓娇,马亮. Java Web课程资源建设与探索J. 计算机教育,2013,15:102-105.3 和璇. MVC模式在JAVA WEB中地应用J. 计算机光盘软件与应用,2014,16:311-312.4 刘向阳,朱根,王庆飞. JavaWeb应用开发技术课程教案改革探索J. 福建电脑,2013,03:77-78.5 张二松. JavaWeb应用系统退出Cognos软件地实现J. 信息系统工程,2011,09:43-44.6 常祖政. JavaWeb中利用JS从弹出窗口取值地方法J. 电脑编程技巧与维护,2011,21:12-13.7 田丰,邹国忠. Java MVC模式在管理信
37、息系统开发中地应用J. 中小企业管理与科技(上旬刊),2012,09:269-270.8 朱彬,王安保,王娜. 用Struts框架建立JavaWeb应用程序J. 计算机辅助工程,2005,02:45-49.9 陈凌. 一种基于JavaWeb地数据挖掘系统功能地设计与实现J. 科学咨询(科技管理),2014,04:37-38.10 肖祥林,周春容,袁磊,王加平. JavaWeb应用中文乱码地解决方案J. 电脑编程技巧与维护,2014,16:9-10.11 冯晓涛. 学会管理系统地设计与实现D. 河北:河北农业大学,2014.12 叶倩. 基于MVC地学院设备管理系统地设计与实现D. 湖北:华中科
38、技大学,2011.13 王超. 基于web地企业采购信息管理系统地设计与实现D. 成都:电子科技大学,2011.14 邢静宇,于彬. 工程教案法在Java web开发课程中地运用J. 电脑知识与技术,2010,21:5902-5903.15 李峰. 基于Struts和Hibernate框架地内容管理系统地设计与实现D. 太原:太原理工大学,2010.附 录1.登录代码,LoginAction.java:import javax.servlet.http.HttpServletRequest。import javax.servlet.http.HttpSession。import models.
39、dto.Credential。import org.apache.struts2.interceptor.ServletRequestAware。import bll.LoginService。public class LoginAction extends BaseAction implements ServletRequestAware private HttpServletRequest request。private final static String CARE_STUDENT = 0。private final static String CARE_TEACHER = 1。pri
40、vate final static String CARE_ADMIN = 2。public void setServletRequest(HttpServletRequest request) this.request = request。Overrideprotected String get() HttpSession session = this.request.getSession(false)。if(null = session)return input。elsereturn success。Overrideprotected String post() String accoun
41、t = this.request.getParameter(account)。String password = this.request.getParameter(password)。String flag = this.request.getParameter(care)。Credential cred = null。if(CARE_STUDENT.equals(flag)cred = LoginService.loginUsers(account, password, CARE_STUDENT)。this.request.setAttribute(flag, CARE_STUDENT)。
42、else if(CARE_TEACHER.equals(flag)cred = LoginService.loginUsers(account, password, CARE_TEACHER)。this.request.setAttribute(flag, CARE_TEACHER)。else if(CARE_ADMIN.equals(flag)cred = LoginService.loginUsers(account, password, CARE_ADMIN)。this.request.setAttribute(flag, CARE_ADMIN)。HttpSession session
43、= this.request.getSession()。if(cred.isApproved()session.setAttribute(CURRENT_USER, cred.getUser()。return success。elsethis.request.setAttribute(msg, 用户名或密码错误!)。return input。public String tuichu()HttpSession session = this.request.getSession(false)。session = null。return success。public String rigister(
44、)String account = this.request.getParameter(account)。String password1 = this.request.getParameter(password1)。String password2 = this.request.getParameter(password2)。String flag = this.request.getParameter(flag)。if(null != password1 & null != password2 & null != account & !.equals(password1)& !.equal
45、s(password2) & !.equals(account)if(password1.equals(password2)boolean result = LoginService.queryAccount(flag,account)。if(result)this.request.setAttribute(msg, 该用户已存在!)。elseboolean b = LoginService.sureAccount(account, flag)。if(b)LoginService.add(account, password1, flag)。this.request.setAttribute(msg, 注册成功!)。elsethis.request.setAttribute(msg, 该学生或老师不存在!)。elsethis.request.setAttribute(msg, 确认密码与密码需相同!)。el