一、系统简介
本项目采用eclipse工具开发,jsp+spring+spring-mvc+mybatis+jquery技术编写,数据库采用的是mysql,navicat开发工具。
系统一共分为4个角色分别是:管理员,学生,教师,评审员
二、模块简介
管理员
1、登录
2、用户(评审员/教师)管理
3、新闻管理
4、学生管理
5、分类管理
6、科研项目管理
7、项目报名管理
8、评论管理
教师
1、个人信息管理
2、新闻管理
3、科研项目管理
4、报名管理
评审员
1、个人信息管理
2、新闻管理
3、科研项目审批
学生
1、登录注册
2、浏览科研项目
3、报名参加科研项目
4、下载附件
5、评论
6、查看新闻
7、个人信息管理
项目简介:
难度等级:✩✩✩
用户类型:4角色(管理员,学生,教师,评审员)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:layui、HTML、CSS、JS、JQuery等
后端技术:JSP、ssm框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)
数 据 库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:8张表
JSP页面数量:30多张
是否有分页:有分页
相关截图
相关代码
<%@ 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 ><%-- style="
background-image:url(<%=path %>/img/b2.jpg);
background-repeat:no-repeat;background-size:cover;" --%>
<form method="post" 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 style="font-size:50px;">教育科研信息管理系统登录</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" >
<div class="layui-input-inline" style="width:100%">
<select name="type" id="type">
<option value="1" selected>管理员</option>
<option value="2">教师</option>
<option value="3">评审员</option>
</select>
<!-- <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">
<a type="button" id="denglu" class="layui-btn layui-btn-fluid">登陆</a>
</div>
<div class="layui-form-item">
<a href="toIndex" class="layui-btn layui-btn-fluid" >返回首页</a>
</div>
<span id="error2" style="color:red;">${msg1}</span>
</div>
</div>
</div>
</form>
<script src="<%=path %>/layui/layui.js"></script>
<script src="<%=path %>/layui/jquery-1.9.1.min.js"></script>
<script>
layui.use([ 'form','jquery','layer' ], function() {
var form = layui.form,
layer = layui.layer,
$= layui.jquery;
form.render();//这句一定要加,占坑
$('#denglu').click(function(){
var userName = $.trim($('#userName').val());
var password = $.trim($("#password").val());
var type = $.trim($("#type").val());
if(userName == ''){
layer.msg('用戶名不能为空',function() {time:2000});
return false;
}
if(password == ''){
layer.msg('密码不能为空',function() {time:2000});
return false;
}
$.ajax({
type: "post", // post或get
url: "login", // 提交路径
data: {
userName: userName,
password: password,
type:type,
},
// dataType: "json", // 指定后台传来的数据是json格式
success: function(data) {
if (data == "main") {
layer.msg('登陆成功!', {icon: 6});
// 延迟跳转
window.setTimeout("window.location='toMain'",900);
} else if(data == 'index'){
layer.msg('登陆成功!', {icon: 6});
window.setTimeout("window.location='toIndex'",900);
}else {
layer.msg('账号或密码错误!', {icon: 5});
}
},
error: function(err) {}
})
})
});
</script>
</body>
</html>
/**
* 登录
* @param userName
* @param request
* @param password
* @param session
* @param response
* @param mv
* @return
* @throws ServletException
* @throws IOException
*/
@RequestMapping("/login")
@ResponseBody
public String login(@RequestParam("userName")String userName,
HttpServletRequest request,@RequestParam("password")String password,
HttpSession session,HttpServletResponse response) throws ServletException, IOException {
session.removeAttribute("admin");
session.removeAttribute("user");
session.removeAttribute("student");
String message = "error";
String type=request.getParameter("type").toString();
if(type != null && type.equals("1")) {
Admin admin1 = userService.selectAdmin(userName,password);
if(admin1 != null){
request.getSession().setAttribute("admin", admin1);
message = "main";
}
}else if(type != null && type.equals("2")){
User te = userService.selectUser(userName,password,"1");
if(te != null){
request.getSession().setAttribute("user", te);
message = "main";
}
}else if(type != null && type.equals("3")){
User te = userService.selectUser(userName,password,"2");
if(te != null){
request.getSession().setAttribute("user", te);
message = "main";
}
}
else if(type != null && type.equals("4")){
Student student = studentService.selectStudent(userName,password);
if(student != null){
request.getSession().setAttribute("student", student);
message = "index";
}
}
return message;
}