class="logo"> src="${ pageContext.request.contextPath }/assets/img/logo.jpg"
with="100" height="50">
基于SSM的教务管理系统(选课课程评分)-java教务管理系统mysql数据源
项目基于Spring, SpringMVC, Mybatis编写, 前端页面优雅, 整个权限系统采用业内知名的shiro框架进行实现, shiro通过realm机制, 能够实现方法级别的权限控制, 其中本项目的权限设计十分优雅, 非常有学习意义, 基于此项目可以二次开发其他的带有权限控制的管理系统
1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。
2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善
代码已经上传github,下载地址 https://github.com/21503882/teaching-material
开发环境:
Eclipse ,MYSQL,JDK1.8,Tomcat 7
涉及技术点:
MVC模式、SpringMvc、Mybatis、Spring、HTML、JavaScript、CSS、JQUERY、log4j、Ajax、maven等
系统采用Mybatis框架实现ORM对象关系映射,前台JSP实现,后台springMvc映射,使用Spring框架进行整合。适合学习J2EE的一段时间的熟手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat7,JDK版本1.8. 编程软件Eclispe J2EE版本。是典型MVC架构,并且前后台分离
主要功能
管理员登录(课程管理,学生管理,教师管理,账号密码管理,修改密码,退出系统),学生登录(所有课程,已选课程,已修课程,修改密码,个人信息,退出系统),教师登录(我的课程,修改密码,个人信息,退出系统)。
————————————————————————————————————
教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个帐号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统。
————————————————————————————————————
具体功能这里不再赘述,请下方看系统详细演示图,如果大家有什么疑问或者什么不懂得可以在下方给我留言,或者你有更好的建议等等都可以的,也可以找我和我一起交流沟通,互相学习进步!伸手党别来找我!添加时请注明来意。
好了下面让我来给大家展示一下这个项目的页面效果:
————————————————
package cn.makangning.controller;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import cn.makangning.entity.User;
import cn.makangning.service.UserService;
import cn.makangning.util.Md5Util;
import cn.makangning.util.VerifyCode;
@Controller
@RequestMapping("login")
public class LoginController {
@Autowired
private UserService userService;
/**
* 登录
* @param user
* @param request
* @return
*/
@RequestMapping("dologin")
@ResponseBody
public String login(User user,HttpServletRequest request) {
user.setPhone(13470016983l);
user.setName("admin");
System.out.println(user.getPassword());
//md5加密
user.setPassword(new Md5Util().getMd5(user.getPassword()));
user.setState(1);
//字符串转json
String jsonstr = JSON.toJSONString(user);
// System.out.println(jsonstr);
try {
HttpSession session = request.getSession();
List
String userjson = JSON.toJSONString(user2.get(0));
System.out.println(userjson);
if(user2.size() > 0) {
session.setAttribute("userinfo", user2.get(0));
session.setAttribute("usertype", user2.get(0).getType());
return "home/index";
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("登录时发生错误(检查账号密码)");
}
return "errer";
}
/**
* 验证码创建
* @param request
* @param response
* @throws IOException
*/
@RequestMapping("code")
public void code(HttpServletRequest request,HttpServletResponse response) throws IOException {
HttpSession session = request.getSession();
session.removeAttribute("verCode");
VerifyCode vc = new VerifyCode();//创建VerifyCode类的对象
BufferedImage bi = vc.getImage();//调用getImge()方法获得一个BufferedImage对象
VerifyCode.output(bi,response.getOutputStream());//调用静态方法output()方法将图片保存在文件输出流中
String code = vc.getText();
session.setAttribute("verCode", code);
System.out.println(vc.getText());//在控制台上打印验证码的文本值
}
/**
* 验证码验证
* @param code
* @param request
* @return
*/
@RequestMapping("Checkcode/{code}")
@ResponseBody
public int Checkcode(@PathVariable String code,HttpServletRequest request){
System.out.println(code);
HttpSession session = request.getSession();
String verCode = (String) session.getAttribute("verCode");
if(code.equals(verCode)) {
return 1;
}else {
return 0;
}
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>