一、系统简介
本项目采用idea工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。
系统一共分为3个角色分别是:教师,管理员,评审人员
二、模块简介
管理员
1、登录
2、个人信息管理
3、统计管理
4、教师管理
5、评审人员管理
6、项目申报管理
7、附件下载
教师
1、登录
2、个人信息管理
3、项目管理
4、申报项目
5、附件下载
评审人员
1、登录
2、项目管理
3、审批项目
4、附件下载
5、个人信息管理
项目简介
难度等级:✩✩✩
用户类型:3角色(教师,管理员,评审人员)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:HTML、CSS、JS、JQuery等
后端技术:JSP、servlet框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用idea开发,仅支持idea运行,不支持MyEclipse和eclipse运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。
数 据 库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:4张表
JSP页面数量:10多张
是否有分页:有分页
相关截图
相关代码
登录
<%@ 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 + "/";
%>
<jsp:include page="/WEB-INF/common/header.jsp"/>
<link rel="stylesheet" href="${pageContext.request.contextPath}/static/css/login.css" media="all">
</head>
<body>
<div class="layui-container">
<div class="admin-login-background">
<div class="layui-form login-form">
<form class="layui-form" action="LoginServlet?action=login" method="post">
<div class="layui-form-item logo-title">
<h1>高校课程建设项目评审系统登录</h1>
</div>
<div class="layui-form-item">
<label class="layui-icon layui-icon-username"></label>
<input type="text" name="username" id="username" placeholder="用户名或工号" autocomplete="off" class="layui-input" value="admin">
<span style="color:red;" >${msg}</span>
<span style="color:red;" id="msg"></span>
</div>
<div class="layui-form-item">
<label class="layui-icon layui-icon-password"></label>
<input type="password" name="pwd" id="pwd" placeholder="密码" autocomplete="off" class="layui-input" value="123456">
</div>
<div class="layui-form-item">
<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 class="layui-form-item">
<%--<input type="checkbox" name="rememberMe" value="true" lay-skin="primary" title="记住密码">--%>
</div>
<div class="layui-form-item">
<button class="layui-btn layui-btn layui-btn-normal layui-btn-fluid" id="login" type="submit">登录</button>
</div>
<%-- <div class="layui-form-item">
<button class="layui-btn layui-btn layui-btn-primary layui-btn-fluid" id="registe" type="submit">注册</button>
</div>--%>
</form>
</div>
</div>
</div>
<script src="${pageContext.request.contextPath}/static/lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="${pageContext.request.contextPath}/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<%--<script src="${pageContext.request.contextPath}/static/lib/jq-module/jquery.particleground.min.js" charset="utf-8"></script>--%>
<script>
layui.use(['form'], function () {
var form = layui.form,
layer = layui.layer;
// 登录过期的时候,跳出ifram框架
if (top.location != self.location) top.location = self.location;
// 粒子线条背景
$(document).ready(function(){
$('.layui-container').particleground({
dotColor:'#7ec7fd',
lineColor:'#7ec7fd'
});
});
$("#login").on("click", function() {
var username = $("#username").val().trim(); // trim()去除空格
var pwd = $("#pwd").val().trim();
if(!username) {
$("#msg").html("用户名或者工号不能为空!");
$("#username").focus(); // 聚焦
return false;
} else {
if(!pwd) {
$("#msg").html("密码不能为空!");
$("#pwd").focus(); // 聚焦
return false;
} else {
$("#msg").html("");
}
}
});
});
</script>
</body>
</html>
//登录操作
protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//处理登录
request.getSession().invalidate();
String username = request.getParameter("username").trim();//接收学号/工号
String pwd = request.getParameter("pwd").trim();
int type=Integer.parseInt(request.getParameter("type").trim());
switch (type) {
case 1:
Teacher teacher=ts.login(username,pwd);
System.out.println(username+pwd+"type=1"+username);
if(teacher==null){
request.setAttribute("msg","教师工号不存在或者密码错误"); //绑定参数
request.getRequestDispatcher("/WEB-INF/page/login.jsp").forward(request,response);
}else {
request.getSession().setAttribute("teacher", teacher);
request.getSession().setAttribute("type", 1);
request.getRequestDispatcher("/WEB-INF/page/main.jsp").forward(request,response);
}
break;
case 2:
User user=us.login(username,pwd);
System.out.println(username+pwd+"type=1"+username);
if(user==null){
request.setAttribute("msg","评审员用户名不存在或者密码错误"); //绑定参数
request.getRequestDispatcher("/WEB-INF/page/login.jsp").forward(request,response);
}else {
request.getSession().setAttribute("user", user);
request.getSession().setAttribute("type", 2);
request.getRequestDispatcher("/WEB-INF/page/main.jsp").forward(request,response);
}
break;
case 3:
Admin admin=as.login(username,pwd);
System.out.println(username+pwd+admin);
if(admin==null){
request.setAttribute("msg","管理员用户名或者密码错误"); //绑定参数
request.getRequestDispatcher("/WEB-INF/page/login.jsp").forward(request,response);
}else {
request.getSession().setAttribute("admin", admin);
request.getSession().setAttribute("type", 3);
request.getRequestDispatcher("/WEB-INF/page/main.jsp").forward(request,response);
}
break;
}
}