一、系统简介
本项目采用eclipse工具开发,spring+springmvc+mybatis+layui技术编写,数据库采用的是mysql,navicat管理工具。
系统一共分为3个角色分别是:管理员,学生,教师
二、模块简介
管理员
1、登录
2、个人信息管理
3、学生管理
4、教师管理
5、课程管理
6、兴趣爱好管理
学生
1、登录
2、个人信息管理
3、查看课程
4、推荐课程
5、选课,退选
6、已修课程
教师
1、登录
2、个人信息管理
3、查看我的课程信息
项目简介
项目类型:Java EE项目(SSM框架)
项目名称:基于ssm的高校学生选课系统 2.0(subject_system)
难度等级:✩✩✩
用户类型:3角色(学生、管理员、教师)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:layui、HTML、CSS、JS、JQuery等
后端技术:JSP、SSM框架
运行环境:Windows10、JDK1.8
运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)
数 据 库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:6张表
JSP页面数量:25张左右
是否有分页:有分页
是否有代码注释:有
是否有课程报告:暂无
是否有论文:暂无。
适用场景:Java毕业设计、课程设计学习参考,对学计算机的大学生来说非常适合学习
相关截图
相关代码
登录
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>高校课程选课系统</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" type="text/css" href="<%=path %>/layui/css/layui.css">
<link rel="stylesheet" type="text/css" href="<%=path %>/layui/css/admin.css">
<link rel="stylesheet" type="text/css" href="<%=path %>/layui/css/login.css">
</head>
<body>
<form action="<%=path %>/login" method="post" onSubmit="return tijiao(this)" id="loginForm" name="loginForm">
<div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;">
<div class="layadmin-user-login-main">
<div class="layadmin-user-login-box layadmin-user-login-header">
<h2>高校选课系统登陆界面</h2>
</div>
<div class="layadmin-user-login-box layadmin-user-login-body layui-form">
<div class="layui-form-item">
<label class="layadmin-user-login-icon layui-icon layui-icon-username" for="LAY-user-login-cellphone"></label>
<input type="text" name="userName" lay-verify="userName" id="userName" placeholder="用户名" class="layui-input">
</div>
<div class="layui-form-item">
<label class="layadmin-user-login-icon layui-icon layui-icon-password" for="LAY-user-login-password"></label>
<input type="password" name="password" lay-verify="password" id="password" placeholder="密码" class="layui-input">
</div>
<div class="layui-form-item" style="align:center;">
   
<!-- <div class="layui-input-block"> -->
<input type="radio" name="type" value="1" title="管理员" checked>
<input type="radio" name="type" value="2" title="老师">
<input type="radio" name="type" value="3" title="学生">
<!-- </div> -->
</div>
<div class="layui-form-item">
<!-- <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="LAY-user-reg-submit">注 册</button> -->
<button type="submit" id="denglu" class="layui-btn layui-btn-fluid">登陆</button>
</div>
<!-- <div class="layui-form-item">
<a href="toRegister" class="layui-btn layui-btn-fluid" >去注册</a>
</div> -->
<span id="error2" style="color:red;">${msg1}</span>
</div>
</div>
</div>
<script src="<%=path %>/layui/layui.js"></script>
<script>
layui.use([ 'form','jquery','layer' ], function() {
var form = layui.form,
layer = layui.layer,
$= layui.jquery;
form.render();//这句一定要加,占坑
$("#account").blur(function(){
$("#error").html("");
$("#error2").html("");
})
$("#pwd").blur(function(){
$("#error1").html("");
$("#error2").html("");
})
$('#denglu').click(function(){
var userName = $.trim($('#userName').val());
var password = $.trim($("#password").val());
if(userName == ''){
layer.msg('用戶名不能为空',function() {time:2000});
return false;
}
if(password == ''){
layer.msg('密码不能为空',function() {time:2000});
return false;
}
})
});
</script>
</body>
</html>
@RequestMapping("/login")
//处理login.jsp传递的数据进行登陆校验
public ModelAndView login(@RequestParam("userName")String userName,
HttpServletRequest request,@RequestParam("password")String password,
HttpSession session,HttpServletResponse response,ModelAndView mv) throws ServletException, IOException {
session.removeAttribute("admin");
session.removeAttribute("teacher");
session.removeAttribute("student");
List<SubjectType> subjectTypes = subjectService.selectAllSubjectList();
String type=request.getParameter("type").toString();
User user =new User();
Teacher teacher = new Teacher();
Student student = new Student();
if(type != null && type.equals("1")){//管理员
user.setUserName(userName);
user.setPassword(password);
User admin = us.selectUser(user);
if(admin == null){
mv.addObject("msg1", "用户不存在或者密码错误");
mv.setViewName("views/login");
}else{
mv.addObject("admin", admin);
request.getSession().setAttribute("admin", admin);
mv.setViewName("views/main");
}
}else if(type != null && type.equals("2")){
teacher.settLoginName(userName);
teacher.setPassword(password);
Teacher te = us.selectTeacher(teacher);
if(te == null){
mv.addObject("msg1", "用户不存在或者密码错误");
mv.setViewName("views/login");
}else{
mv.addObject("teacher", te);
request.getSession().setAttribute("teacher", te);
mv.setViewName("views/main");
}
}else if(type != null && type.equals("3")){
student.setLoginName(userName);
student.setPassword(password);
Student stu = us.selectStudent(student);
if(stu == null){
mv.addObject("msg1", "用户不存在或者密码错误");
mv.setViewName("views/login");
}else{
mv.addObject("student", stu);
request.getSession().setAttribute("student", stu);
mv.setViewName("views/main");
}
}
request.getSession().setAttribute("subjectTypes", subjectTypes);
return mv;
}