基于SSM框架高校学生学籍管理系统设计与实现(附源码论文资料)
文章目录
- 1.绪论
- 1.1.学生学籍管理系统的开发背景
- 1.2.设计目的与意义
- 2.系统需求分析
- 2.1.可行性分析
- 2.1.1.操作可行性
- 2.1.1.经济可行性
- 2.1.3.技术可行性
- 2.2.方案的设计与比较
- 2.2.1 C/S设计结构和B/S设计结构比较
- 2.2.2 系统模式的设计
- 2.2.3 系统设计的技术选择
- 2.2.4 系统的运行环境
- 2.3 系统基本功能需求
- 2.3.1 系统结构
- 2.3.2 系统业务流程图
- 2.4 数据库需求分析
- 2.5 系统目标
- 3.系统概要设计
- 3.1.总体设计
- 3.1.1 处理流程
- 3.2 系统结构图
- 3.3数据库设计
- 3.4逻辑结构设计
- 3.5数据库表的设计
- 4.系统的详细设计与实现
- 4.1.系统设计实现
- 4.1.1.首页界面实现
- 4.1.2 用户登陆功能实现
- 4.1.3 用户管理模块实现
- 4.1.4 角色管理模块实现
- 4.1.5 资源菜单管理模块实现
- 4.1.6 学生成绩管理模块实现
- 4.1.7 学生信息管理模块
- 4.1.8 学籍管理功能模块实现
- 4.1.9 学生奖惩管理模块实现
- 4.2.0 系统管理模块
- 5.结论
- 6.参考文献
- 7.致谢
- 8.源码获取
1.绪论
1.1.学生学籍管理系统的开发背景
学生信息是高等学校的非常重要的一项数据资源,是一个教育单位不可缺少的一部分。特别是近几年来,国家政策的调整,给高校的教学管理、学生管理等各个方面带来不少的冲击。其中包含的数据量大,设计人员广,而且需要及时更新,比较复杂,难以单纯的依靠人工管理。而且传统的人工管理不易于规范化,效率低下,不适合时代发展的需求。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机的普及已经君如人类生活的各个角落,并发挥这愈来愈重要的作用。这种传统的管理模式必将被计算机的信息管理所取代。
作为计算机应用的一部分,使用计算机对学生信息进行管理,检索迅捷,存储量大,成本低,易于维护。能够极大提高学生信息管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高校与世界接轨的重要条件。
1.2.设计目的与意义
从长期以来,学校对学生学籍的管理还都使用着传统的模式。在这一情况下,人工记录的学生信息、考试信息等等。但随着现在素质教育与时代的不断发展,这样的模式已经不能完全适应现在的教育形式。与传统的管理方式相比,学生学籍管理系统能够实现数据共享,可以方便快捷地进行各种数据的添加、修改、删除查询等操作,并具有相当的安全性和可靠性,并且能够极大地提高学生学籍管理的效率,也是学校的科学化和正规化管理的重要条件。
2.系统需求分析
2.1.可行性分析
2.1.1.操作可行性
本系统的开发是在三个月的时间内完成的。前期主要是以学习以及收集资料为主,接下来就是对系统的分析,设计数据库,界面,以及中间的连接。对于计算机专业作为毕业设计来说是可行的。
2.1.1.经济可行性
经济可行性主要是对项目的经济效益进行评价。目前,具备了运行网络平台的MIS的硬件基础,而且本系统是我组成员自行开发,免费帮助设计并实施的。因此开发、设计这套系统的支出费用是学校可以承担的,即经济上是可行的。
2.1.3.技术可行性
技术上的可行性要考虑将来采用的硬件和软件技术能否满足用户提出的要求。基于当前的计算机网络技术和数据技术已成熟,而且管理信息系统(MIS)的各种开发技术也已经相当成熟,并且在各个领域都不乏成熟的案例。所以开发一套网络平台的多用户共享信息的在线考试系统在技术上是可行的。
2.2.方案的设计与比较
2.2.1 C/S设计结构和B/S设计结构比较
目前网络应用软件运行的模式主要有两类:Client/Server模式,Browser/Server模式。前者的主要的缺点是维护、升级较为麻烦。且要同时开发服务器端和客户端;后者是近几年伴随Internet迅速发展起来的一种技术,B/S模式客户端是一个标准的浏览器,服务器端是web server,而Web server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多企业部门的业务系统,企业的MIS系统纷纷采用这种模式,它的优点是便于扩展应用、升级维护简便、不需要开发专门的客户端、不需要对用户进行特殊的设置和软件安装,降低了维护成本,客户端只要有浏览器就可以了。
2.2.2 系统模式的设计
本系统设置多个权限,多个角色,根据管理员分配角色权限
2.2.3 系统设计的技术选择
处于安全性,功能可扩展性。我们采用java ee。
数据库使用开源的Mysql;
服务器采用Tomcat;
2.2.4 系统的运行环境
(1).系统:Windows XP及其以上版本
(2).Web服务器:Tomcat6及其以上版本
(3).数据库服务器:MySql
(4).浏览器:IE7,8,9、火狐、Chrome
2.3 系统基本功能需求
系统中涉及系统多个角色多个权限;接下来针对这两种权限分别说明下功能结构;
2.3.1 系统结构
主要功能有:
用户管理:用户添加,用户修改,用户删除
角色管理:角色添加,角色修改,角色授权
菜单管理:资源添加,资源修改,资源删除
学生成绩管理:学生成绩添加,学生成绩修改,学生成绩查询
学生信息管理:学生信息添加,学生信息修改,学生信息删除
学籍管理:学生可毕业查询,学生待补考查询
奖惩管理:学生奖惩信息修改
系统管理(修改密码,安全退出);
2.3.2 系统业务流程图
2.4 数据库需求分析
根据上面业务流程图所涉及到的内容,数据库要设计的表有:资源表,角色表,用户表,学生基本信息表,科目表,成绩表,系别表,奖惩信息表;
2.5 系统目标
本选题系统的设计主要将实现以下目标:
(1).人性化设计:系统界面友好,操作简单;
(2).后台实现管理员登录;用户管理;角色管理;菜单管理(资源管理);成绩管理;学生信息管理;学籍管理;奖惩管理;系统管理(修改密码,安全退出);
3.系统概要设计
3.1.总体设计
3.1.1 处理流程
一,不同角色
(1). 根据用户拥有的角色查询角色下的资源,根据拥有不同的资源显示不同的后台管理界面
(2).通过验证后,进入系统管理界面
(3).用户操作,执行相应功能
(4).退出系统
3.2 系统结构图
针对本系统的需求,设计出如下面所示的数据项和数据结构:
资源表:编号,资源名称,资源地址,父ID,资源描述,资源状态,资源图标
系别表:编号,系别编号,系别名称
成绩表:编号,学号,科目编号,分数
奖惩表:编号,学号,系别号,奖惩描述
角色表:编号,角色名称,资源编号,角色描述
学生表:编号,学号,学生姓名,性别,系别编号,身份证号,地址,邮政编码,毕业状态
科目表:编号,科目名称
用户表:编号,用户名,密码,用户类型,角色编号
3.3数据库设计
(1).用户信息E-R图
(2). 角色信息E-R图
(3). 资源信息E-R图
(4). 学生信息E-R图
(5). 系别信息E-R图
(6). 科目信息E-R图
(7). 学生成绩信息E-R图
(8). 学生奖惩信息E-R图
3.4逻辑结构设计
1,学生和成绩实体的关系是多对一;
2,学生和科目实体的关系是多对一;
3.5数据库表的设计
(1). 用户信息表
(2). 角色表
(3).资源表
(4).学生表
(5).系别表
(6).科目表
(7).成绩表
(8).奖惩表
4.系统的详细设计与实现
4.1.系统设计实现
4.1.1.首页界面实现
浏览器地址栏,输入:http://localhost:8080/login/login.do 效果图:
相关说明:
用户进入系统首页,登陆成功进入即可进入后台
关键代码实现:
主界面布局:
<body>
<form id="form1" name="form1" action="/StudentStatus/login/main.do" method="post">
<div class="MAIN">
<ul>
<li class="top"></li>
<li class="top2"></li>
<li class="topA"></li>
<li class="topB">
<span>
<a href="" target="_blank"><img src="${pageContext.request.contextPath}/images/login/logo.jpg" alt="" style="" /></a>
</span>
</li>
<li class="topC"></li>
<li class="topD">
<ul class="login ">
<br>
<br>
<li><span class="left">用户名:</span> <span style=""> <input id="userName" name="userName" type="text" class="txt" value="${userName }" /> </span></li>
<li><span class="left">密 码:</span> <span style=""> <input id="password" name="password" type="password" class="txt" value="${password }" onkeydown= "if(event.keyCode==13)form1.submit()"/> </span></li>
</ul>
</li>
<li class="topE"></li>
<li class="middle_A"></li>
<li class="middle_B"></li>
<li class="middle_C"><span class="btn"> <img alt="" src="${pageContext.request.contextPath}/images/login/btnlogin.gif" onclick="javascript:document.getElementById('form1').submit()"/> </span> <span ><font color="red">${error }</font></span></li>
<li class="middle_D"></li>
<li class="bottom_A"></li>
<li class="bottom_B">高校学生学籍管理系统</li>
</ul>
</div>
</form>
</body>
4.1.2 用户登陆功能实现
点击“登陆”功能,弹出用户登陆弹窗;如上图:
关键代码:
@RequestMapping("/main.do")
public String main(HttpServletRequest request){
HttpSession session=request.getSession();
if(session.getAttribute("user")!=null){
return "main";
}else{
String userName = request.getParameter("userName");
String password = request.getParameter("password");
User user = new User();
user.setUserName(userName);
user.setPassword(password);
User u=userService.getUser(user);
if(u!=null){
session.setAttribute("user", u);
return "main";
}
}
request.setAttribute("error", "用户名或密码错误!");
return "/login";
}
4.1.3 用户管理模块实现
输入电影信息,然后点击查询,效果图:
相关说明:
查找当前所有的用户
关键代码实现:
@ResponseBody
@RequestMapping("/userlist.do")
public String userList(HttpServletRequest request){
String page = request.getParameter("page");
String rows = request.getParameter("rows");
User user = null;
String s_userName=request.getParameter("s_userName");
String s_roleId=request.getParameter("s_roleId");
if(StringUtil.isNotEmpty(s_userName)&&StringUtil.isNotEmpty(s_roleId)){
user = new User();
user.setUserName(s_userName);
user.setRoleId(Integer.parseInt(s_roleId));
}
PageBean pageBean = null;
if (page!=null&&rows!=null) {
pageBean=new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
}
JSONArray jsonArray = userService.getUserList(user, pageBean);
int total = userService.getUserCount(user);
JSONObject result=new JSONObject();
result.put("rows", jsonArray);
result.put("total", total);
return result.toString();
}
用户管理添加用户如图:
关键代码实现:
添加和修改关键代码:
@ResponseBody
@RequestMapping("/save.do")
public String saveUser(HttpServletRequest request){
String userName=request.getParameter("name");
String password=request.getParameter("password");
String roleId=request.getParameter("roleId");
String userId=request.getParameter("userId");
User user = new User();
user.setUserName(userName);
user.setPassword(password);
user.setRoleId(Integer.parseInt(roleId));
if(StringUtil.isNotEmpty(userId)){
user.setId(Integer.parseInt(userId));
}
JSONObject result=new JSONObject();
int saveNums=0;
if(StringUtil.isNotEmpty(userId)){
saveNums=userService.updateUser(user);
}else{
if(userService.testExitUser(userName)!=null){
saveNums=-1;
}else{
saveNums=userService.addUser(user);
}
}
if(saveNums==-1){
result.put("success", true);
result.put("errorMsg", "此用户名已经存在");
}else if(saveNums==0){
result.put("success", true);
result.put("errorMsg", "保存失败");
}else{
result.put("success", true);
}
return result.toString();
}
删除关键代码:
@ResponseBody
@RequestMapping("/deleteUser.do")
public String deleteUser(HttpServletRequest request){
String delIds=request.getParameter("delIds");
System.out.println(delIds);
Integer code =userService.deleteUser(delIds);
JSONObject result=new JSONObject();
if(code>0){
result.put("success", true);
result.put("delNums", code);
}else{
result.put("errorMsg", "删除失败");
}
return result.toString();
}
4.1.4 角色管理模块实现
点击左侧类别,效果图:
角色授权关键代码实现:
@ResponseBody
@RequestMapping("/roleAuth.do")
public String roleAuth(HttpServletRequest request){
String roleId=request.getParameter("roleId");
String authIds=request.getParameter("authIds");
Role role = new Role();
role.setRoleId(Integer.parseInt(roleId));
role.setAuthIds(authIds);
JSONObject result = new JSONObject();
int updateNums = roleService.roleAuthIdsUpdate(role);
if (updateNums > 0) {
result.put("success", true);
} else {
result.put("errorMsg", "授权失败");
}
return result.toString();
}
角色修改和添加功能关键代码实现
@ResponseBody
@RequestMapping("/save.do")
public String saveRole(HttpServletRequest request){
String roleName=request.getParameter("roleName");
String roleDescription=request.getParameter("roleDescription");
String roleId=request.getParameter("roleId");
Role role = new Role();
role.setRoleName(roleName);
role.setRoleDescription(roleDescription);
if (StringUtil.isNotEmpty(roleId)) {
role.setRoleId(Integer.parseInt(roleId));
}
JSONObject result = new JSONObject();
int saveNums = 0;
if (StringUtil.isNotEmpty(roleId)) {
saveNums = roleService.roleUpdate(role);
} else {
saveNums = roleService.roleAdd(role);
}
if (saveNums > 0) {
result.put("success", true);
} else {
result.put("success", true);
result.put("errorMsg", "保存失败");
}
return result.toString();
}
角色删除关键代码实现
@ResponseBody
@RequestMapping("/roleDelete.do")
public String roleDelete(HttpServletRequest request){
String delIds = request.getParameter("delIds");
JSONObject result = new JSONObject();
String str[] = delIds.split(",");
for (int i = 0; i < str.length; i++) {
boolean f = userService.existUserWithRoleId(str[i]);
if (!f) {
result.put("errorIndex", i);
result.put("errorMsg", "角色下面有用户,不能删除!");
return result.toString();
}
}
int delNums = roleService.roleDelete(delIds);
if (delNums > 0) {
result.put("success", true);
result.put("delNums", delNums);
} else {
result.put("errorMsg", "删除失败");
}
return result.toString();
}
4.1.5 资源菜单管理模块实现
资源节点代码实现
@ResponseBody
@RequestMapping("/getTreeGridAuthMenu.do")
public String getTreeGridAuthMenu(HttpServletRequest request){
String parentId = request.getParameter("parentId");
System.out.println(parentId);
JSONArray jsonArray=authService.getTreeGridAuthMenu(Integer.parseInt(parentId));
return jsonArray.toString();
}
@ResponseBody
@RequestMapping("/getCheckedAuthMenu.do")
public String getCheckedsAuthMenu(HttpServletRequest request){
String parentId=request.getParameter("parentId");
String roleId=request.getParameter("roleId");
String authIds = roleService.getAuthIds(Integer.parseInt(roleId));
JSONArray jsonArray = authService.getCheckedAuthMenus(Integer.parseInt(parentId), authIds);
return jsonArray.toString();
}
资源添加修改功能实现
@ResponseBody
@RequestMapping("/authsave.do")
public String authSave(HttpServletRequest request){
String authId = request.getParameter("authId");
String authName = request.getParameter("authName");
String authPath = request.getParameter("authPath");
String parentId = request.getParameter("parentId");
String authDescription = request.getParameter("authDescription");
String iconCls = request.getParameter("iconCls");
Auth auth = new Auth();
auth.setAuthName(authName);
auth.setAuthPath(authPath);
auth.setAuthDescription(authDescription);
auth.setIconCls(iconCls);
if (StringUtil.isNotEmpty(authId)) {
auth.setAuthId(Integer.parseInt(authId));
} else {
auth.setParentId(Integer.parseInt(parentId));
}
boolean isLeaf = false;
JSONObject result = new JSONObject();
int saveNums = 0;
if (StringUtil.isNotEmpty(authId)) {
saveNums = authService.authUpdate(auth);
} else {
isLeaf = authService.isLeaf(Integer.parseInt(parentId));
if (!isLeaf) {
saveNums = authService.authAdd(auth);
saveNums = authService.updateStateByAuthId("closed",Integer.parseInt(parentId));
} else {
saveNums = authService.authAdd(auth);
}
}
if (saveNums > 0) {
result.put("success", true);
} else {
result.put("success", true);
result.put("errorMsg", "保存失败");
}
return result.toString();
}
资源节点核心代码实现
@ResponseBody
@RequestMapping("/authdelete.do")
public String authDelete(HttpServletRequest request){
String authId=request.getParameter("authId");
String parentId = request.getParameter("parentId");
int sonNum = -1;
JSONObject result = new JSONObject();
if (authService.isLeaf(Integer.parseInt(authId))) {
result.put("errorMsg", "该菜单节点有子节点,不能删除!");
} else {
int delNums = 0;
sonNum = authService.getAuthCountByParentId(Integer.parseInt(parentId));
if (sonNum == 1) {
delNums = authService.authDelete(Integer.parseInt(authId));
authService.updateStateByAuthId("open", Integer.parseInt(parentId));
} else {
delNums = authService.authDelete(Integer.parseInt(authId));
}
if (delNums > 0) {
result.put("success", true);
} else {
result.put("errorMsg", "删除失败");
}
}
return result.toString();
}
4.1.6 学生成绩管理模块实现
学生成绩查询功能实现:
查询代码实现:
@ResponseBody
@RequestMapping("/getGrade.do")
public String getGrade(HttpServletRequest request){
String studentNo = request.getParameter("studentNo");
if(StringUtil.isNotEmpty(studentNo)){
JSONArray json=gradeService.getGradeList(studentNo);
return json.toString();
}else{
return null;
}
}
添加修改核心代码实现
@ResponseBody
@RequestMapping("/save.do")
public String save(HttpServletRequest request){
String studentNo = request.getParameter("studentNo");
String score = request.getParameter("score");
String id = request.getParameter("id");
String math = request.getParameter("math");
String english = request.getParameter("english");
String sport = request.getParameter("sport");
String political = request.getParameter("political");
JSONObject result = new JSONObject();
if(StringUtil.isNotEmpty(id)){
Grade g = new Grade();
g.setSubjectId(Integer.parseInt(id));
g.setScore(Integer.parseInt(score));
g.setStudentNo(studentNo);
gradeService.gradeUpdate(g);
result.put("success", true);
return result.toString();
}else{
if(!studentService.existStudentWithStudentNo(studentNo)){
result.put("success", true);
result.put("errorMsg", "无此学生,添加成绩失败");
return result.toString();
}else{
if(gradeService.exitGrade(studentNo)){
result.put("success", true);
result.put("errorMsg", "此学生已有成绩,无法添加,请选择修改");
return result.toString();
}else{
if(StringUtil.isNotEmpty(math)){
Grade g = new Grade();
g.setSubjectId(1);
g.setStudentNo(studentNo);
g.setScore(Integer.parseInt(math));
gradeService.addGrade(g);
}
if(StringUtil.isNotEmpty(english)){
Grade g = new Grade();
g.setSubjectId(2);
g.setStudentNo(studentNo);
g.setScore(Integer.parseInt(english));
gradeService.addGrade(g);
}
if(StringUtil.isNotEmpty(sport)){
Grade g = new Grade();
g.setSubjectId(3);
g.setStudentNo(studentNo);
g.setScore(Integer.parseInt(sport));
gradeService.addGrade(g);
}
if(StringUtil.isNotEmpty(political)){
Grade g = new Grade();
g.setSubjectId(4);
g.setStudentNo(studentNo);
g.setScore(Integer.parseInt(political));
gradeService.addGrade(g);
}
int mathScore = Integer.parseInt(math);
int englishScore = Integer.parseInt(english);
int sportScore = Integer.parseInt(sport);
int politicalScore = Integer.parseInt(political);
Student s = new Student();
if(mathScore<60||englishScore<60||sportScore<60||politicalScore<60){
s.setStudentNo(studentNo);
s.setState("1");
studentService.studentUpdateState(s);
}else{
s.setStudentNo(studentNo);
s.setState("2");
studentService.studentUpdateState(s);
}
result.put("success", true);
return result.toString();
}
}
}
}
4.1.7 学生信息管理模块
查询代码实现:
核心代码实现:
@ResponseBody
@RequestMapping("/studentList.do")
public String studentList(HttpServletRequest request){
String page = request.getParameter("page");
String rows = request.getParameter("rows");
Student stu = null;
String s_stuNo=request.getParameter("s_stuNo");
if(StringUtil.isNotEmpty(s_stuNo)){
stu = new Student();
stu.setStudentNo(s_stuNo);
}
PageBean pageBean = null;
if (page!=null&&rows!=null) {
pageBean=new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
}
JSONArray jsonArray = studentService.getStudentList(stu, pageBean);
int total = studentService.getStudentCount(stu);
JSONObject result=new JSONObject();
result.put("rows", jsonArray);
result.put("total", total);
System.out.println("list.do result:"+result);
return result.toString();
}
点击添加或者修改,即可添加修改学生基本信息:
核心代码实现:
@ResponseBody
@RequestMapping("/save.do")
public String save(HttpServletRequest request){
String id = request.getParameter("id");
String studentName = request.getParameter("studentName");
String studentNo = request.getParameter("studentNo");
String sex = request.getParameter("sex");
String deptNo = request.getParameter("deptNo");
String deptName = request.getParameter("deptName");
String IdCard = request.getParameter("IdCard");
String address = request.getParameter("address");
String postcode = request.getParameter("postcode");
Student stu = new Student();
stu.setStudentName(studentName);
stu.setStudentNo(studentNo);
stu.setSex(sex);
stu.setDeptNo(deptNo);
stu.setIdCard(IdCard);
stu.setAddress(address);
stu.setPostcode(postcode);
int saveNums = 0;
JSONObject result=new JSONObject();
if(StringUtil.isEmpty(id)){
if(studentService.existStudentWithStudentNo(studentNo)){
saveNums = -1;
}else{
//后期可以使用回滚防止添加一半出现错误
saveNums=studentService.studentAdd(stu);
Reward r = new Reward();
r.setStudentNo(studentNo);
r.setDeptNo(deptNo);
rewardService.rewardAdd(r);
}
}else{
stu.setId(id);
saveNums = studentService.studentUpdate(stu);
}
if(saveNums==-1){
result.put("success", true);
result.put("errorMsg", "此用户名已经存在");
}else if(saveNums==0){
result.put("success", true);
result.put("errorMsg", "保存失败");
}else{
result.put("success", true);
}
return result.toString();
}
删除学生信息
@ResponseBody
@RequestMapping("/delete.do")
public String delete(HttpServletRequest request){
String studentNo = request.getParameter("studentNo");
//使用回滚删除
Integer code =studentService.studentDelete(studentNo);
rewardService.rewardDelete(studentNo);
gradeService.gradeDelete(studentNo);
JSONObject result=new JSONObject();
if(code>0){
result.put("success", true);
result.put("delNums", code);
}else{
result.put("errorMsg", "删除失败");
}
return result.toString();
}
4.1.8 学籍管理功能模块实现
查询可毕业的学生功能,点击“查询待补考学生”,将查询成绩不达标学生
核心代码实现:
@ResponseBody
@RequestMapping("/getStudentListByState.do")
public String getStudentListByState(HttpServletRequest request){
String page = request.getParameter("page");
String rows = request.getParameter("rows");
String state = request.getParameter("state");
if(StringUtil.isEmpty(state)){
System.out.println("state is NUll");
state = "2";
}
PageBean pageBean = null;
if (page!=null&&rows!=null) {
pageBean=new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
}
JSONArray jsonArray=studentService.getStudentListByState(state, pageBean);
int total = studentService.getStudentListByStateCount(state);
JSONObject result=new JSONObject();
result.put("rows", jsonArray);
result.put("total", total);
System.out.println("list.do result:"+result);
return result.toString();
}
4.1.9 学生奖惩管理模块实现
如图:
点击“修改”,可以修改学生的奖惩记录;
核心代码实现:
@ResponseBody
@RequestMapping("/save.do")
public String save(HttpServletRequest request){
String id = request.getParameter("id");
String rewardInfo = request.getParameter("rewardInfo");
int code=rewardService.rewardUpdate(Integer.parseInt(id), rewardInfo);
System.out.println(code);
JSONObject result=new JSONObject();
if(code>0){
result.put("success", true);
}else{
result.put("success", true);
result.put("errorMsg", "保存失败");
}
return result.toString();
}
4.2.0 系统管理模块
修改当前用户密码:
核心代码实现:
@ResponseBody
@RequestMapping("/modifyPassword.do")
public String modifyPassword(HttpServletRequest request){
String id =request.getParameter("userId");
String newPassword=request.getParameter("newPassword");
User user = new User();
user.setId(Integer.parseInt(id));
user.setPassword(newPassword);
int updateNum=userService.modifyPassword(user);
JSONObject result=new JSONObject();
if(updateNum>0){
result.put("success", "true");
request.getSession().invalidate();
}else{
result.put("success", "true");
result.put("errorMsg", "修改密码失败!");
}
return result.toString();
}
点击“安全退出”菜单按钮,清掉session,回到登录页面;
核心的代码实现:
@RequestMapping("/logout.do")
public String logout(HttpServletRequest request){
request.getSession().invalidate();
return "/login";
}
5.结论
经过一段时间的努力,毕业设计终于一段落。本文是关于电影票订购系统的文稿设计,通过阅读本论文可以对本系统有一定的了解。本文介绍了系统开发所用到的技术,编程语言,卡法环境等。同时在做了分析调查后,对本系统做了详细的需求分析。然后对系统的概要设计以及详细设计也做了详细的说明,包括系统的前台设计,数据逻辑层设计以及后台数据库设计。
系统的主要特点有:人性化设计,界面友好,简洁,大方,操作简单方便,权限操作
虽然系统设计已经暂告一个段落,但由于本人的能力有限,再加上知识欠缺,以及对的业务不甚熟悉,所以在很多方面还存在着不足,如在系统需求分析方面还有很多方面没有考虑到,而且在具体实现各个功能的时候也存在一定的局限性。比如测试功能不完善,用户界面功能太简单、系统的界面不是太美观,系统安全性考虑不充分等等。所有本系统还有很多地方有待完善。
6.参考文献
[1]李.轻量级Java EE企业应用实战(第3版)【M】.电子工业出版社.2011.2.
[2]李钟尉.Java开发实战1200例【M】.清华大学出版社, 2011.6.
[3]刁成嘉,刁奕. UML系统建模与分析设计【M】.机械工业出版社, 2008.1.
[4]杨琳洁. 网上订票系统的研究与应用.铁路计算机应用, 2004.10.
[5]梁立新. 项目实践精解.【M】.电子工业出版社, 2006.
[6]赵韶平.PowerDesigner系统分析与建模(第2版).清华大学出版社,2010
[7]Ralph M. Stair, George W.Reymilds.Principles ofInformation Systems Thomson
Learing(sixthedition)【M】.北京:机械工业出版社,2003.
[8] Sum Mircosystems.JSP Developers Guide[EB/01].http://www.javasofl.com/Products/jsp.
[9] Barrett Daniel J,Silverman Ricbard E. SSH,The Secure Shell: the Definitive Guide【M】.中国电力出版社,2003
[10]John Beresniewicz,Adrian Billington,Martin Büchi,Melanie Caffrey,Ron Crisco . Oracle PL/SQL实战. 人民邮电出版社,2012
7.致谢
在本论文截稿之际,我要特别感谢刘老师对我的悉心指导与鼓励,在系统的设计过程中给我提出了很多宝贵的建议,刘老师那严谨的治学态度也深深地感动了我,可以这么说,没有老师的无微不至的关注,我的论文也不会这么顺利地完成,为此我非常感激。此外,我还要感谢我的学校给了我一个良好的学习环境,感谢我的各位任课老师,没有他们我不会有如此大的进步,最后我要感谢陪我一路走来的同学,是他们让我的大学生活多姿多彩。