一、系统简介
本项目采用eclipse工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。
系统一共分为3个角色分别是:管理员,学生,宿管
二、模块简介
管理员
1、登录
2、学生管理
3、宿舍管理
4、个人信息管理
5、宿管人员管理
6、缺勤人员管理
7、公告管理
学生
1、登录,注册
2、个人信息维护
3、查看宿舍
4、查看缺勤记录
5、查看公告
宿管
1、登录
2、个人信息维护
3、缺勤学生管理
4、宿舍管理
5、查看公告
项目简介:
难度等级:✩✩✩
用户类型:三角色(管理员,学生,宿管)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:layui、HTML、CSS、JS、JQuery等
后端技术:JSP、servlet框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)
数 据 库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:6张表
JSP页面数量:20多张
是否有分页:有分页
基于javaweb宿舍管理系统(eclipse
项目截图
项目结构
数据库结构
登录注册
学生管理
宿舍管理
公告管理
缺勤管理
项目代码简介
登录代码
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> 宿 舍 管 理 系 统</title>
<!-- 样 式 文 件 -->
<link rel="stylesheet" href="resource/component/pear/css/pear.css" />
<link rel="stylesheet" href="resource/admin/css/other/login.css" />
</head>
<!-- 代 码 结 构 -->
<body background="resource/admin/images/background.svg" style="background-size: cover;">
<form class="layui-form" action="LoginServlet?action=login" method="post" id="loginForm" name="loginForm" >
<div class="layui-form-item">
<img class="logo" src="resource/admin/images/logo.png" />
<div class="title">登  录</div>
<div class="desc">
宿 舍 管 理 系 统
</div>
</div>
<div class="layui-form-item">
<input type="text" placeholder="请输入用户名或者手机号" name="userName" id="userName" hover class="layui-input" />
<span id="msg3" style="color:red">${message}</span>
</div>
<div class="layui-form-item">
<input id="password" type="password" name="password" placeholder="请输入密码" hover class="layui-input" />
</div>
<div class="layui-form-item" style="text-align: center;">
<input type="radio" name="type" id="type" value="1" title="管理员" checked>
<input type="radio" name="type" id="type" value="2" title="学生" >
<input type="radio" name="type" id="type" value="3" title="宿管" >
</div>
<div class="layui-form-item">
<button type="submit" class="pear-btn pear-btn-success login" id="login">
登录
</button>
</div>
<div class="layui-form-item">
<a href="LoginServlet?action=toRegister" class="pear-btn pear-btn-warming layui-btn-fluid">去注册</a>
</div>
</form>
<!-- 资 源 引 入 -->
<script src="resource/component/layui/layui.js"></script>
<script src="resource/component/pear/pear.js"></script>
<script>
layui.use(['layer', 'form','jquery'], function(){
var form = layui.form,
layer = layui.layer,
$= layui.jquery;
form.render();//这句一定要加,占坑
$("#login").on("click", function() {
var userName = $("#userName").val().trim(); // trim()去除空格
var password = $("#password").val().trim();
var type = $("#type").val();
if(userName == ""){
layer.msg('用户名或者手机号不能为空!');
return false;
}
if(password == ""){
layer.msg('密码不能为空!');
return false;
}
if(type == ""){
layer.msg('请选择角色!');
return false;
}
});
setTimeout(function(){ $("#msg").html("")},3000);
setTimeout(function(){ $("#msg2").html("")},3000);
setTimeout(function(){ $("#msg3").html("")},3000);
});
</script>
</body>
</html>
package edu.school.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import edu.school.entity.Admin;
import edu.school.entity.Dormitory;
import edu.school.entity.Student;
import edu.school.entity.User;
import edu.school.service.LoginService;
import edu.school.service.impl.LoginServiceImpl;
import edu.school.service.impl.StudentServiceImpl;
public class LoginServlet extends HttpServlet{
private LoginService service = new LoginServiceImpl();
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action=request.getParameter("action");//接受请求的参数
if(action != null && action.equals("toLogin")) {//去登录页面
toLogin(request, response);
}else if(action != null && action.equals("login")) {//登录
login(request, response);
}else if(action != null && action.equals("LoginOutAct")) {//退出
LoginOutAct(request, response);
}else if(action != null && action.equals("welcome")) {//默认页面
welcome(request, response);
}else if(action != null && action.equals("toRegister")) {//去注册
toRegister(request, response);
}
}
private void toRegister(HttpServletRequest request,
HttpServletResponse response) {
try {
List<Dormitory> dormitoryList = new StudentServiceImpl().selectList();
request.setAttribute("dormitoryList", dormitoryList);
request.getRequestDispatcher("/WEB-INF/views/register.jsp").forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
private void welcome(HttpServletRequest request,
HttpServletResponse response) {
try {
request.getRequestDispatcher("/WEB-INF/views/console.jsp").forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
private void LoginOutAct(HttpServletRequest request,
HttpServletResponse response) {
try {
request.getSession().removeAttribute("admin");
request.getSession().removeAttribute("student");
request.getSession().removeAttribute("user");
request.getSession().removeAttribute("flag");
response.sendRedirect(request.getContextPath()+"/LoginServlet?action=toLogin");
} catch (Exception e) {
e.printStackTrace();
}
}
private void login(HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
removeAll(request,response);
String userName = request.getParameter("userName");
String password = request.getParameter("password");
String type = request.getParameter("type");
if(type.equals("1")){
Admin admin = new Admin();
admin.setUsername(userName);
admin.setPwd(password);
Admin admin1 = service.selectAdmin(admin);
try {
if (admin1 == null){
request.setAttribute("message", "管理员用户不存在或者密码错误");
request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
}else {
request.getSession().setAttribute("admin",admin1);
request.getSession().setAttribute("flag",1);
request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}else if(type.equals("2")){
Student student = new Student();
student.setStuno(userName);
student.setPwd(password);
Student student1 = service.selectStudent(student);
try {
if (student1 == null){
request.setAttribute("message", "学号不存在或者密码错误");
request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
}else {
request.getSession().setAttribute("student",student1);
request.getSession().setAttribute("flag",2);
request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}else if(type.equals("3")){
User user = service.selectUser(userName,password);
try {
if (user == null){
request.setAttribute("message", "用户名不存在或者密码错误");
request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
}else {
request.getSession().setAttribute("user",user);
request.getSession().setAttribute("flag",3);
request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}
}else{
request.setAttribute("message", "账号不存在或者密码错误");
try {
request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void removeAll(HttpServletRequest request,
HttpServletResponse response) {
request.getSession().removeAttribute("admin");
request.getSession().removeAttribute("student");
request.getSession().removeAttribute("user");
request.getSession().removeAttribute("flag");
}
private void toLogin(HttpServletRequest request,
HttpServletResponse response) {
try {
request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}
return;
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
<%@ 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>
<!-- 样 式 文 件 -->
<link rel="stylesheet" href="resource/component/pear/css/pear.css" />
<link rel="stylesheet" href="resource/admin/css/other/login.css" />
</head>
<!-- 代 码 结 构 -->
<body background="resource/admin/images/background.svg" style="background-size: cover;">
<form class="layui-form" action="StudentServlet?action=addStudent" method="post" id="loginForm" name="loginForm" enctype="multipart/form-data" >
<input id="te" type="hidden" name="te" value="1" />
<div class="layui-form-item">
<img class="logo" src="resource/admin/images/logo.png" />
<div class="title">注  册</div>
<div class="desc">
宿 舍 管 理 系 统
</div>
</div>
<div class="layui-form-item">
<input type="text" placeholder="请输入姓名" name="name" id="name" hover class="layui-input" />
<span id="msg" style="color:red">${message}</span>
</div>
<div class="layui-form-item">
<input id="stuno" type="text" name="stuno" placeholder="请输入学号" hover class="layui-input" />
</div>
<div class="layui-form-item">
<select name="sex" id ="sex">
<option value="">请选择性别</option>
<option value="男">男</option>
<option value="女">女</option>
</select>
</div>
<div class="layui-form-item">
<select name="d_id" id ="d_id">
<option value="">请选择宿舍</option>
<c:forEach items="${dormitoryList}" var="u">
<option value="${u.id }">${u.floor }</option>
</c:forEach>
</select>
</div>
<div class="layui-form-item">
<input id="bj" type="text" name="bj" placeholder="请输入班级" hover class="layui-input" />
</div>
<div class="layui-form-item">
<input id="phone" type="text" name="phone" placeholder="请输入手机号" hover class="layui-input" />
</div>
<div class="layui-form-item">
<input id="pwd" type="text" name="pwd" placeholder="请输入登录密码" hover class="layui-input" />
</div>
<div class="layui-form-item">
<input id="major" type="text" name="major" placeholder="请输入专业" hover class="layui-input" />
</div>
<div class="layui-form-item">
<input type="file" name="imgUrl" id="imgUrl" placeholder="点击上传头像" class="layui-input" />
</div>
<div class="layui-form-item">
<img src="" id="preview_img" width="350px" height="200px" alt="">
</div>
<div class="layui-form-item">
<button type="submit" class="pear-btn pear-btn-success login" id="login">
注册
</button>
</div>
<div class="layui-form-item">
<a href="LoginServlet?action=toLogin" class="pear-btn pear-btn-warming layui-btn-fluid">返回</a>
</div>
</form>
<!-- 资 源 引 入 -->
<script src="resource/component/layui/layui.js"></script>
<script src="resource/component/pear/pear.js"></script>
<script>
layui.use(['layer', 'form','jquery','laydate'], function(){
var form = layui.form,
layer = layui.layer,
laydate=layui.laydate,
$= layui.jquery;
form.render();//这句一定要加,占坑
laydate.render({
elem: '#time'
});
$("#login").on("click", function() {
var stuno = $("#stuno").val();
var sex = $("#sex").val();
var classes = $("#classes").val();
var time = $("#time").val();
var xy = $("#xy").val();
var phone = $("#phone").val();
var pwd = $("#pwd").val();
var stno = $("#stno").val();
if(stuno == null || stuno== ""){
layer.msg('学号不能为空!');
return false;
}
if(stuno != null && stuno.length > 11){
layer.msg('学号不能大于11位!');
return false;
}
/* if(name == null || name== ""){
layer.msg('姓名不能为空!');
return false;
}
if(classes == null || classes== ""){
layer.msg('班级不能为空!');
return false;
}
if(time == null || time== ""){
layer.msg('入学时间不能为空!');
return false;
}
if(xy == null || xy== ""){
layer.msg('学院不能为空!');
return false;
}
if(phone == null || phone== ""){
layer.msg('手机号不能为空!');
return false;
}
if(pwd == null || pwd== ""){
layer.msg('密码不能为空!');
return false;
}
if(stno == null || stno== ""){
layer.msg('学号不能为空!');
return false;
} */
});
setTimeout(function(){ $("#msg").html("")},3000);
setTimeout(function(){ $("#msg2").html("")},3000);
setTimeout(function(){ $("#msg3").html("")},3000);
$("#imgUrl").change(function () {
//创建blob对象,浏览器将文件放入内存中,并生成标识
var img_src = URL.createObjectURL($(this)[0].files[0]);
//给img标检的src赋值
document.getElementById("preview_img").src=img_src;
//URL.revokeObjectURL(img_src);// 手动 回收,
});
});
</script>
</body>
</html>