基于javaweb+mysql的jsp+servlet宿舍管理系统(java+jsp+javascript+servlet+struts+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的JSP+Servlet宿舍管理系统(java+jsp+javascript+servlet+struts+mysql)
项目介绍
本项目包含系统管理员、楼宇管理员、学生三种角色; 系统管理员角色包含以下功能: 登录页面,楼宇管理员管理,学生管理,楼宇管理,宿舍管理,入住登记,寝室调换,迁出登记,缺寝记录,迁出记录等功能。
楼宇管理员角色包含以下功能: 登录页面,学生管理,缺勤记录查询等功能。
学生角色包含以下功能: 登录页面,查看缺勤记录等功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目: 否;
技术栈
- 后端:servlet+struts 2. 前端:JSP+css+javacript
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中src/com/db/DBHelper.java配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入http://localhost:8080/ 登录 系统管理员账号/密码:admin/admin 楼宇管理员账号/密码:louyu/123456 学生账号/密码: 001/123456
public class DomitoryManager extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private List<DomitoryBean> list;
public List<DomitoryBean> getList() {
return list;
}
public void setList(List<DomitoryBean> list) {
this.list = list;
}
private String SearchRow;
private String SearchKey;
public String getSearchRow() {
return SearchRow;
}
public void setSearchRow(String searchRow) {
SearchRow = searchRow;
}
public String getSearchKey() {
return SearchKey;
}
public void setSearchKey(String searchKey) {
SearchKey = searchKey;
}
private List<BuildingBean> buildinglist;
public List<BuildingBean> getBuildinglist() {
return buildinglist;
}
public void setBuildinglist(List<BuildingBean> buildinglist) {
this.buildinglist = buildinglist;
}
private String Domitory_BuildingID;
public String getDomitory_BuildingID() {
return Domitory_BuildingID;
}
public void setDomitory_BuildingID(String domitoryBuildingID) {
Domitory_BuildingID = domitoryBuildingID;
}
//处理用户请求的execute方法
public String execute() throws Exception {
public void setTeacher_Sex(String cookSex) {
Teacher_Sex = cookSex;
}
public String getTeacher_Tel() {
return Teacher_Tel;
}
public void setTeacher_Tel(String cookTel) {
Teacher_Tel = cookTel;
}
//处理用户请求的execute方法
public String execute() throws Exception {
//解决乱码,用于页面输出
HttpServletResponse response=null;
response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//创建session对象
HttpSession session = ServletActionContext.getRequest().getSession();
//验证是否正常登录
if(session.getAttribute("id")==null){
out.flush();out.close();return null;
}
//查询用户名是否存在
List<TeacherBean> list=new TeacherDao().GetList("Teacher_Username='"+Teacher_Username+"' and Teacher_ID!="+Teacher_ID, "");
if(list.size()>0)
{
out.flush();out.close();return null;
}
//修改
TeacherBean cnbean=new TeacherBean();
cnbean=new TeacherDao().GetBean(Integer.parseInt(Teacher_ID));
cnbean.setTeacher_Username(Teacher_Username);
cnbean.setTeacher_Name(Teacher_Name);
cnbean.setTeacher_Sex(Teacher_Sex);
cnbean.setTeacher_Tel(Teacher_Tel);
if(!(isInvalid(Teacher_Password)))
{
cnbean.setTeacher_Password(Teacher_Password);
}
new TeacherDao().Update(cnbean);
//跳转
return INPUT;
}
}
else if(type.equals("2"))//楼宇管理员身份
{
//查询原密码是否正确
if (new TeacherDao().CheckPassword(session.getAttribute("id").toString(), Password)) {
//修改密码
TeacherBean cnbean=new TeacherBean();
cnbean=new TeacherDao().GetBean(Integer.parseInt(session.getAttribute("id").toString()));
cnbean.setTeacher_Password(Password2);
new TeacherDao().Update(cnbean);
out.flush();out.close();return null;
}
else
{
Msg = "用户名或者密码错误";
return INPUT;
}
}
else if(type.equals("3"))//学生身份
{
//查询原密码是否正确
if (new StudentDao().CheckPassword(session.getAttribute("id").toString(), Password)) {
//修改密码
StudentBean cnbean=new StudentBean();
cnbean=new StudentDao().GetBean(Integer.parseInt(session.getAttribute("id").toString()));
cnbean.setStudent_Password(Password2);
new StudentDao().Update(cnbean);
out.flush();out.close();return null;
}
else
{
Msg = "用户名或者密码错误";
return INPUT;
}
}
else
{
out.flush();out.close();return null;
}
out.flush();out.close();return null;
}
//添加
StudentBean cnbean=new StudentBean();
cnbean.setStudent_Username(Student_Username);
cnbean.setStudent_Password(Student_Password);
cnbean.setStudent_Name(Student_Name);
cnbean.setStudent_Sex(Student_Sex);
cnbean.setStudent_Class(Student_Class);
cnbean.setStudent_State("未入住");
cnbean.setStudent_DomitoryID(0);
new StudentDao().Add(cnbean);
//跳转
out.flush();out.close();return null;
}
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
//测试
public static void main(String[] args) {
System.out.println();
}
}
public class TeacherAddSave extends ActionSupport {
if(!(isInvalid(BuildingID)))
{
strWhere+=" and Domitory_BuildingID='"+BuildingID+"'";
}
else{
strWhere+=" and 1=2";
}
//查询寝室
domitorylist=new DomitoryDao().GetList(strWhere,"Domitory_Name");
return SUCCESS;
}
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
//测试
public static void main(String[] args) {
System.out.println();
}
}
public class AdminLog extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private List<BuildingBean> buildinglist;
private List<DomitoryBean> domitorylist;
public List<BuildingBean> getBuildinglist() {
return buildinglist;
}
Username = username;
}
public String getPassword() {
return Password;
}
public void setPassword(String password) {
Password = password;
}
public String getMsg() {
return Msg;
}
public void setMsg(String msg) {
Msg = msg;
}
//处理用户请求的execute方法
public String execute() throws Exception {
if(Type.equals("系统管理员"))
{
if (null == new AdminDao().CheckLogin(Username, Password)) {
Msg = "用户名或者密码错误";
return INPUT;
}
else
{
//获取ID
String Admin_ID=new AdminDao().CheckLogin(Username, Password);
//创建session
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("id", Admin_ID);
session.setAttribute("type", "1");
return SUCCESS;
}
}
else if(Type.equals("楼宇管理员"))
{
if (null == new TeacherDao().CheckLogin(Username, Password)) {
Msg = "用户名或者密码错误";
return INPUT;
}
else
{
//获取ID
String Teacher_ID=new TeacherDao().CheckLogin(Username, Password);
//创建session
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("id", Teacher_ID);
session.setAttribute("type", "2");
return SUCCESS;
System.out.println();
}
}
public class StudentRZSave extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private String Building_ID ;
private String Domitory_ID ;
private String Student_Username ;
public String getBuilding_ID() {
return Building_ID;
}
public void setBuilding_ID(String buildingID) {
Building_ID = buildingID;
}
public String getDomitory_ID() {
return Domitory_ID;
}
public void setDomitory_ID(String domitoryID) {
Domitory_ID = domitoryID;
}
public String getStudent_Username() {
return Student_Username;
}
public void setStudent_Username(String studentUsername) {
Student_Username = studentUsername;
}
list=new StudentDao().GetList(strWhere,"Domitory_Name");
//查询所有寝室
domitorylist=new DomitoryDao().GetList("Domitory_BuildingID="+Building_ID,"Domitory_Name");
return SUCCESS;
}
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
//测试
public static void main(String[] args) {
System.out.println();
}
}
public class MyLogList extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private List<LogBean> list;
public List<LogBean> getList() {
return list;
}
public void setList(List<LogBean> list) {
this.list = list;
}
private String Domitory_BuildingID;
public String getDomitory_BuildingID() {
return Domitory_BuildingID;
}
public void setDomitory_BuildingID(String domitoryBuildingID) {
Domitory_BuildingID = domitoryBuildingID;
}
//处理用户请求的execute方法
public String execute() throws Exception {
//解决乱码,用于页面输出
HttpServletResponse response=null;
response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//创建session对象
HttpSession session = ServletActionContext.getRequest().getSession();
//验证是否正常登录
if(session.getAttribute("id")==null){
out.flush();out.close();return null;
}
//查询条件
String strWhere="1=1";
if(!(isInvalid(SearchKey)))
{
strWhere+=" and "+SearchRow+"='"+SearchKey+"'";
}
if(!(isInvalid(Domitory_BuildingID)))
{
strWhere+=" and Domitory_BuildingID='"+Domitory_BuildingID+"'";
}
//查询所有楼宇
buildinglist=new BuildingDao().GetList("","Building_Name");
//查询所有
list=new DomitoryDao().GetList(strWhere,"Domitory_Name");
return SUCCESS;
}
Teacher_Tel = cookTel;
}
//处理用户请求的execute方法
public String execute() throws Exception {
//解决乱码,用于页面输出
HttpServletResponse response=null;
response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//创建session对象
HttpSession session = ServletActionContext.getRequest().getSession();
//验证是否正常登录
if(session.getAttribute("id")==null){
out.flush();out.close();return null;
}
//查询用户名是否存在
List<TeacherBean> list=new TeacherDao().GetList("Teacher_Username='"+Teacher_Username+"'", "");
if(list.size()>0)
{
out.flush();out.close();return null;
}
//添加
TeacherBean cnbean=new TeacherBean();
cnbean.setTeacher_Username(Teacher_Username);
cnbean.setTeacher_Password(Teacher_Password);
cnbean.setTeacher_Name(Teacher_Name);
cnbean.setTeacher_Sex(Teacher_Sex);
cnbean.setTeacher_Tel(Teacher_Tel);
new TeacherDao().Add(cnbean);
//跳转
out.flush();out.close();return null;
}
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
if(session.getAttribute("id")==null){
out.flush();out.close();return null;
}
//查询条件
String strWhere="1=1";
if(!(isInvalid(SearchKey)))
{
strWhere+=" and "+SearchRow+"='"+SearchKey+"'";
}
if(!(isInvalid(Domitory_BuildingID)))
{
strWhere+=" and Domitory_BuildingID='"+Domitory_BuildingID+"'";
}
//查询所有楼宇
buildinglist=new BuildingDao().GetList("","Building_Name");
//查询所有
list=new DomitoryDao().GetList(strWhere,"Domitory_Name");
return SUCCESS;
}
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
//测试
public static void main(String[] args) {
System.out.println();
}
}
Domitory_Number = domitoryNumber;
}
public String getDomitory_Tel() {
return Domitory_Tel;
}
public void setDomitory_Tel(String domitoryTel) {
Domitory_Tel = domitoryTel;
}
//处理用户请求的execute方法
public String execute() throws Exception {
//解决乱码,用于页面输出
HttpServletResponse response=null;
response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//创建session对象
HttpSession session = ServletActionContext.getRequest().getSession();
//验证是否正常登录
if(session.getAttribute("id")==null){
out.flush();out.close();return null;
}
//查询是否存在
List<DomitoryBean> list=new DomitoryDao().GetList("Domitory_Name='"+Domitory_Name+"' and Domitory_BuildingID="+Domitory_BuildingID, "");
if(list.size()>0)
{
out.flush();out.close();return null;
}
//添加
DomitoryBean cnbean=new DomitoryBean();
cnbean.setDomitory_BuildingID(Integer.parseInt(Domitory_BuildingID));
cnbean.setDomitory_Name(Domitory_Name);
cnbean.setDomitory_Type(Domitory_Type);
//测试
public static void main(String[] args) {
System.out.println();
}
}
public class TeacherUpdateSave extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private String Teacher_ID ;
private String Teacher_Username ;
private String Teacher_Password ;
private String Teacher_Name ;
private String Teacher_Sex ;
private String Teacher_Tel ;
public String getTeacher_ID() {
return Teacher_ID;
}
public void setTeacher_ID(String cookID) {
Teacher_ID = cookID;
}
public String getTeacher_Username() {
return Teacher_Username;
}
public void setTeacher_Username(String cookUsername) {
Teacher_Username = cookUsername;
}
public String getTeacher_Password() {
return Teacher_Password;
}
public void setTeacher_Password(String cookPassword) {
Teacher_Password = cookPassword;
}
//测试
public static void main(String[] args) {
System.out.println();
}
}
public class GoLogin extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private String Type;
private String Username;
private String Password;
private String Msg;
public String getType() {
return Type;
}
public void setType(String type) {
Type = type;
}
public String getUsername() {
return Username;
}
public void setUsername(String username) {
Username = username;
}
public String getPassword() {
return Password;
}
public void setPassword(String password) {
Password = password;
}
public String getMsg() {
return Msg;
}
public void setMsg(String msg) {
Msg = msg;
}
//处理用户请求的execute方法
public String execute() throws Exception {
public void setStudent_ID(String studentID) {
Student_ID = studentID;
}
//处理用户请求的execute方法
public String execute() throws Exception {
//解决乱码,用于页面输出
HttpServletResponse response=null;
response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//创建session对象
HttpSession session = ServletActionContext.getRequest().getSession();
//验证是否正常登录
if(session.getAttribute("id")==null){
out.flush();out.close();return null;
}
//修改学生状态
StudentBean cnbean=new StudentBean();
cnbean=new StudentDao().GetBean(Integer.parseInt(Student_ID));
cnbean.setStudent_State("迁出");
new StudentDao().Update(cnbean);
//添加迁出记录
OutBean outbean=new OutBean();
outbean.setOut_StudentID(Integer.parseInt(Student_ID));
outbean.setOut_Date(getNowdate());
outbean.setOut_Remark(Out_Remark);
new OutDao().Add(outbean);
//跳转
out.flush();out.close();return null;
}
DomitoryBean cnbean=new DomitoryBean();
cnbean=new DomitoryDao().GetBean(Integer.parseInt(Domitory_ID));
cnbean.setDomitory_BuildingID(Integer.parseInt(Domitory_BuildingID));
cnbean.setDomitory_Name(Domitory_Name);
cnbean.setDomitory_Type(Domitory_Type);
cnbean.setDomitory_Number(Domitory_Number);
cnbean.setDomitory_Tel(Domitory_Tel);
new DomitoryDao().Update(cnbean);
//跳转
out.flush();out.close();return null;
}
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
//测试
public static void main(String[] args) {
System.out.println();
}
}
public class StudentUpdateSave extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private String Student_ID ;
private String Student_Username ;
private String Student_Password ;
private String Student_Name ;
private String Student_Sex ;
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
//测试
public static void main(String[] args) {
System.out.println();
}
}
public class DomitoryAddSave extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private String Domitory_BuildingID ;
private String Domitory_Name ;
private String Domitory_Type ;
private String Domitory_Number ;
private String Domitory_Tel ;
public String getDomitory_BuildingID() {
return Domitory_BuildingID;
}
public void setDomitory_BuildingID(String domitoryBuildingID) {
Domitory_BuildingID = domitoryBuildingID;
}
//处理用户请求的execute方法
public String execute() throws Exception {
//解决乱码,用于页面输出
HttpServletResponse response=null;
response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//创建session对象
HttpSession session = ServletActionContext.getRequest().getSession();
//验证是否正常登录
if(session.getAttribute("id")==null){
out.flush();out.close();return null;
}
String type=session.getAttribute("type").toString();
if(type.equals("1"))//校园管理员身份
{
//查询原密码是否正确
if (new AdminDao().CheckPassword(session.getAttribute("id").toString(), Password)) {
//修改密码
AdminBean cnbean=new AdminBean();
cnbean=new AdminDao().GetBean(Integer.parseInt(session.getAttribute("id").toString()));
cnbean.setAdmin_Password(Password2);
new AdminDao().Update(cnbean);
out.flush();out.close();return null;
}
else
{
Msg = "用户名或者密码错误";
return INPUT;
}
}
else if(type.equals("2"))//楼宇管理员身份
{
//查询原密码是否正确
if (new TeacherDao().CheckPassword(session.getAttribute("id").toString(), Password)) {
//修改密码
TeacherBean cnbean=new TeacherBean();
cnbean=new TeacherDao().GetBean(Integer.parseInt(session.getAttribute("id").toString()));
cnbean.setTeacher_Password(Password2);
new TeacherDao().Update(cnbean);