• Java项目:JSP宿舍管理系统


    作者主页:夜未央5788

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    本项目包含系统管理员、楼宇管理员、学生三种角色;
    系统管理员角色包含以下功能:
    登录页面,楼宇管理员管理,学生管理,楼宇管理,宿舍管理,入住登记,寝室调换,迁出登记,缺寝记录,迁出记录等功能。

    楼宇管理员角色包含以下功能:
    登录页面,学生管理,缺勤记录查询等功能。

    学生角色包含以下功能:

    登录页面,查看缺勤记录等功能。

    环境需要

    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项目: 否;

    技术栈

    1. 后端:servlet+struts

    2. 前端:JSP+css+javacript

    使用说明

    1. 使用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

    运行截图

     

     

     

     

     

     

     

    相关代码 

    AdminLog

    1. package com.action;
    2. import java.io.PrintWriter;
    3. import java.util.List;
    4. import javax.servlet.http.HttpServletResponse;
    5. import javax.servlet.http.HttpSession;
    6. import org.apache.struts2.ServletActionContext;
    7. import com.opensymphony.xwork2.ActionSupport;
    8. import com.bean.*;
    9. import com.dao.*;
    10. public class AdminLog extends ActionSupport {
    11. //ÏÂÃæÊÇActionÄÚÓÃÓÚ·â×°Óû§ÇëÇó²ÎÊýµÄÊôÐÔ
    12. private List buildinglist;
    13. private List domitorylist;
    14. public List getBuildinglist() {
    15. return buildinglist;
    16. }
    17. public void setBuildinglist(List buildinglist) {
    18. this.buildinglist = buildinglist;
    19. }
    20. public List getDomitorylist() {
    21. return domitorylist;
    22. }
    23. public void setDomitorylist(List domitorylist) {
    24. this.domitorylist = domitorylist;
    25. }
    26. private String BuildingID;
    27. private String DomitoryID;
    28. public String getBuildingID() {
    29. return BuildingID;
    30. }
    31. public void setBuildingID(String buildingID) {
    32. BuildingID = buildingID;
    33. }
    34. public String getDomitoryID() {
    35. return DomitoryID;
    36. }
    37. public void setDomitoryID(String domitoryID) {
    38. DomitoryID = domitoryID;
    39. }
    40. //´¦ÀíÓû§ÇëÇóµÄexecute·½·¨
    41. public String execute() throws Exception {
    42. //½â¾öÂÒÂ룬ÓÃÓÚÒ³ÃæÊä³ö
    43. HttpServletResponse response=null;
    44. response=ServletActionContext.getResponse();
    45. response.setContentType("text/html;charset=UTF-8");
    46. response.setCharacterEncoding("UTF-8");
    47. PrintWriter out = response.getWriter();
    48. //´´½¨session¶ÔÏó
    49. HttpSession session = ServletActionContext.getRequest().getSession();
    50. //ÑéÖ¤ÊÇ·ñÕý³£µÇ¼
    51. if(session.getAttribute("id")==null){
    52. out.print("");
    53. out.flush();out.close();return null;
    54. }
    55. //²éѯ¥Óî
    56. buildinglist=new BuildingDao().GetList("","Building_Name");
    57. // System.out.println(BuildingID);
    58. //²éѯÌõ¼þ
    59. String strWhere="1=1 ";
    60. if(!(isInvalid(BuildingID)))
    61. {
    62. strWhere+=" and Domitory_BuildingID='"+BuildingID+"'";
    63. }
    64. else{
    65. strWhere+=" and 1=2";
    66. }
    67. //²éѯÇÞÊÒ
    68. domitorylist=new DomitoryDao().GetList(strWhere,"Domitory_Name");
    69. return SUCCESS;
    70. }
    71. //ÅжÏÊÇ·ñ¿ÕÖµ
    72. private boolean isInvalid(String value) {
    73. return (value == null || value.length() == 0);
    74. }
    75. //²âÊÔ
    76. public static void main(String[] args) {
    77. System.out.println();
    78. }
    79. }

    AdminLogList

    1. package com.action;
    2. import java.io.PrintWriter;
    3. import java.util.List;
    4. import javax.servlet.http.HttpServletResponse;
    5. import javax.servlet.http.HttpSession;
    6. import org.apache.struts2.ServletActionContext;
    7. import com.opensymphony.xwork2.ActionSupport;
    8. import com.bean.*;
    9. import com.dao.*;
    10. public class BuildingAddSave extends ActionSupport {
    11. //下面是Action内用于封装用户请求参数的属性
    12. private String Building_Name ;
    13. private String Building_Introduction ;
    14. public String getBuilding_Name() {
    15. return Building_Name;
    16. }
    17. public void setBuilding_Name(String buildingName) {
    18. Building_Name = buildingName;
    19. }
    20. public String getBuilding_Introduction() {
    21. return Building_Introduction;
    22. }
    23. public void setBuilding_Introduction(String buildingIntroduction) {
    24. Building_Introduction = buildingIntroduction;
    25. }
    26. //处理用户请求的execute方法
    27. public String execute() throws Exception {
    28. //解决乱码,用于页面输出
    29. HttpServletResponse response=null;
    30. response=ServletActionContext.getResponse();
    31. response.setContentType("text/html;charset=UTF-8");
    32. response.setCharacterEncoding("UTF-8");
    33. PrintWriter out = response.getWriter();
    34. //创建session对象
    35. HttpSession session = ServletActionContext.getRequest().getSession();
    36. //验证是否正常登录
    37. if(session.getAttribute("id")==null){
    38. out.print("");
    39. out.flush();out.close();return null;
    40. }
    41. //查询名称是否存在
    42. List list=new BuildingDao().GetList("Building_Name='"+Building_Name+"'", "");
    43. if(list.size()>0)
    44. {
    45. out.print("");
    46. out.flush();out.close();return null;
    47. }
    48. //添加
    49. BuildingBean cnbean=new BuildingBean();
    50. cnbean.setBuilding_Name(Building_Name);
    51. cnbean.setBuilding_Introduction(Building_Introduction);
    52. new BuildingDao().Add(cnbean);
    53. //跳转
    54. out.print("");
    55. out.flush();out.close();return null;
    56. }
    57. //判断是否空值
    58. private boolean isInvalid(String value) {
    59. return (value == null || value.length() == 0);
    60. }
    61. //测试
    62. public static void main(String[] args) {
    63. System.out.println();
    64. }
    65. }

    BuildingManager

    1. package com.action;
    2. import java.io.PrintWriter;
    3. import java.util.List;
    4. import javax.servlet.http.HttpServletResponse;
    5. import javax.servlet.http.HttpSession;
    6. import org.apache.struts2.ServletActionContext;
    7. import com.opensymphony.xwork2.ActionSupport;
    8. import com.bean.*;
    9. import com.dao.*;
    10. public class BuildingManager extends ActionSupport {
    11. //下面是Action内用于封装用户请求参数的属性
    12. private List list;
    13. public List getList() {
    14. return list;
    15. }
    16. public void setList(List list) {
    17. this.list = list;
    18. }
    19. private String SearchKey;
    20. public String getSearchKey() {
    21. return SearchKey;
    22. }
    23. public void setSearchKey(String searchKey) {
    24. SearchKey = searchKey;
    25. }
    26. //处理用户请求的execute方法
    27. public String execute() throws Exception {
    28. //解决乱码,用于页面输出
    29. HttpServletResponse response=null;
    30. response=ServletActionContext.getResponse();
    31. response.setContentType("text/html;charset=UTF-8");
    32. response.setCharacterEncoding("UTF-8");
    33. PrintWriter out = response.getWriter();
    34. //创建session对象
    35. HttpSession session = ServletActionContext.getRequest().getSession();
    36. //验证是否正常登录
    37. if(session.getAttribute("id")==null){
    38. out.print("");
    39. out.flush();out.close();return null;
    40. }
    41. //查询条件
    42. String strWhere="1=1";
    43. if(!(isInvalid(SearchKey)))
    44. {
    45. strWhere+=" and Building_Name='"+SearchKey+"'";
    46. }
    47. //查询所有
    48. list=new BuildingDao().GetList(strWhere,"Building_Name");
    49. return SUCCESS;
    50. }
    51. //判断是否空值
    52. private boolean isInvalid(String value) {
    53. return (value == null || value.length() == 0);
    54. }
    55. //测试
    56. public static void main(String[] args) {
    57. System.out.println();
    58. }
    59. }

    BuildingUpdate

    1. package com.action;
    2. import java.io.PrintWriter;
    3. import java.util.List;
    4. import javax.servlet.http.HttpServletResponse;
    5. import javax.servlet.http.HttpSession;
    6. import org.apache.struts2.ServletActionContext;
    7. import com.opensymphony.xwork2.ActionSupport;
    8. import com.bean.*;
    9. import com.dao.*;
    10. public class BuildingUpdate extends ActionSupport {
    11. //下面是Action内用于封装用户请求参数的属性
    12. private String Building_ID;
    13. private BuildingBean cnbean;
    14. public String getBuilding_ID() {
    15. return Building_ID;
    16. }
    17. public void setBuilding_ID(String studentID) {
    18. Building_ID = studentID;
    19. }
    20. public BuildingBean getCnbean() {
    21. return cnbean;
    22. }
    23. public void setCnbean(BuildingBean cnbean) {
    24. this.cnbean = cnbean;
    25. }
    26. //处理用户请求的execute方法
    27. public String execute() throws Exception {
    28. //解决乱码,用于页面输出
    29. HttpServletResponse response=null;
    30. response=ServletActionContext.getResponse();
    31. response.setContentType("text/html;charset=UTF-8");
    32. response.setCharacterEncoding("UTF-8");
    33. PrintWriter out = response.getWriter();
    34. //创建session对象
    35. HttpSession session = ServletActionContext.getRequest().getSession();
    36. //验证是否正常登录
    37. if(session.getAttribute("id")==null){
    38. out.print("");
    39. out.flush();out.close();return null;
    40. }
    41. //查询
    42. cnbean=new BuildingDao().GetBean(Integer.parseInt(Building_ID));
    43. return SUCCESS;
    44. }
    45. //判断是否空值
    46. private boolean isInvalid(String value) {
    47. return (value == null || value.length() == 0);
    48. }
    49. //测试
    50. public static void main(String[] args) {
    51. System.out.println();
    52. }
    53. }

    DomitoryAdd

    1. package com.action;
    2. import java.io.PrintWriter;
    3. import java.util.List;
    4. import javax.servlet.http.HttpServletResponse;
    5. import javax.servlet.http.HttpSession;
    6. import org.apache.struts2.ServletActionContext;
    7. import com.opensymphony.xwork2.ActionSupport;
    8. import com.bean.*;
    9. import com.dao.*;
    10. public class DomitoryAdd extends ActionSupport {
    11. //下面是Action内用于封装用户请求参数的属性
    12. private List list;
    13. public List getList() {
    14. return list;
    15. }
    16. public void setList(List list) {
    17. this.list = list;
    18. }
    19. //处理用户请求的execute方法
    20. public String execute() throws Exception {
    21. //解决乱码,用于页面输出
    22. HttpServletResponse response=null;
    23. response=ServletActionContext.getResponse();
    24. response.setContentType("text/html;charset=UTF-8");
    25. response.setCharacterEncoding("UTF-8");
    26. PrintWriter out = response.getWriter();
    27. //创建session对象
    28. HttpSession session = ServletActionContext.getRequest().getSession();
    29. //验证是否正常登录
    30. if(session.getAttribute("id")==null){
    31. out.print("");
    32. out.flush();out.close();return null;
    33. }
    34. //查询所有楼宇
    35. list=new BuildingDao().GetList("","Building_Name");
    36. return SUCCESS;
    37. }
    38. //判断是否空值
    39. private boolean isInvalid(String value) {
    40. return (value == null || value.length() == 0);
    41. }
    42. //测试
    43. public static void main(String[] args) {
    44. System.out.println();
    45. }
    46. }

    DomitoryAddSave

    1. package com.action;
    2. import java.io.PrintWriter;
    3. import java.util.List;
    4. import javax.servlet.http.HttpServletResponse;
    5. import javax.servlet.http.HttpSession;
    6. import org.apache.struts2.ServletActionContext;
    7. import com.opensymphony.xwork2.ActionSupport;
    8. import com.bean.*;
    9. import com.dao.*;
    10. public class DomitoryAddSave extends ActionSupport {
    11. //下面是Action内用于封装用户请求参数的属性
    12. private String Domitory_BuildingID ;
    13. private String Domitory_Name ;
    14. private String Domitory_Type ;
    15. private String Domitory_Number ;
    16. private String Domitory_Tel ;
    17. public String getDomitory_BuildingID() {
    18. return Domitory_BuildingID;
    19. }
    20. public void setDomitory_BuildingID(String domitoryBuildingID) {
    21. Domitory_BuildingID = domitoryBuildingID;
    22. }
    23. public String getDomitory_Name() {
    24. return Domitory_Name;
    25. }
    26. public void setDomitory_Name(String domitoryName) {
    27. Domitory_Name = domitoryName;
    28. }
    29. public String getDomitory_Type() {
    30. return Domitory_Type;
    31. }
    32. public void setDomitory_Type(String domitoryType) {
    33. Domitory_Type = domitoryType;
    34. }
    35. public String getDomitory_Number() {
    36. return Domitory_Number;
    37. }
    38. public void setDomitory_Number(String domitoryNumber) {
    39. Domitory_Number = domitoryNumber;
    40. }
    41. public String getDomitory_Tel() {
    42. return Domitory_Tel;
    43. }
    44. public void setDomitory_Tel(String domitoryTel) {
    45. Domitory_Tel = domitoryTel;
    46. }
    47. //处理用户请求的execute方法
    48. public String execute() throws Exception {
    49. //解决乱码,用于页面输出
    50. HttpServletResponse response=null;
    51. response=ServletActionContext.getResponse();
    52. response.setContentType("text/html;charset=UTF-8");
    53. response.setCharacterEncoding("UTF-8");
    54. PrintWriter out = response.getWriter();
    55. //创建session对象
    56. HttpSession session = ServletActionContext.getRequest().getSession();
    57. //验证是否正常登录
    58. if(session.getAttribute("id")==null){
    59. out.print("");
    60. out.flush();out.close();return null;
    61. }
    62. //查询是否存在
    63. List list=new DomitoryDao().GetList("Domitory_Name='"+Domitory_Name+"' and Domitory_BuildingID="+Domitory_BuildingID, "");
    64. if(list.size()>0)
    65. {
    66. out.print("");
    67. out.flush();out.close();return null;
    68. }
    69. //添加
    70. DomitoryBean cnbean=new DomitoryBean();
    71. cnbean.setDomitory_BuildingID(Integer.parseInt(Domitory_BuildingID));
    72. cnbean.setDomitory_Name(Domitory_Name);
    73. cnbean.setDomitory_Type(Domitory_Type);
    74. cnbean.setDomitory_Number(Domitory_Number);
    75. cnbean.setDomitory_Tel(Domitory_Tel);
    76. new DomitoryDao().Add(cnbean);
    77. //跳转
    78. out.print("");
    79. out.flush();out.close();return null;
    80. }
    81. //判断是否空值
    82. private boolean isInvalid(String value) {
    83. return (value == null || value.length() == 0);
    84. }
    85. //测试
    86. public static void main(String[] args) {
    87. System.out.println();
    88. }
    89. }

    GoLogin

    1. package com.action;
    2. import javax.servlet.http.HttpSession;
    3. import org.apache.struts2.ServletActionContext;
    4. import com.dao.*;
    5. import com.bean.*;
    6. import com.opensymphony.xwork2.ActionSupport;
    7. public class GoLogin extends ActionSupport {
    8. //下面是Action内用于封装用户请求参数的属性
    9. private String Type;
    10. private String Username;
    11. private String Password;
    12. private String Msg;
    13. public String getType() {
    14. return Type;
    15. }
    16. public void setType(String type) {
    17. Type = type;
    18. }
    19. public String getUsername() {
    20. return Username;
    21. }
    22. public void setUsername(String username) {
    23. Username = username;
    24. }
    25. public String getPassword() {
    26. return Password;
    27. }
    28. public void setPassword(String password) {
    29. Password = password;
    30. }
    31. public String getMsg() {
    32. return Msg;
    33. }
    34. public void setMsg(String msg) {
    35. Msg = msg;
    36. }
    37. //处理用户请求的execute方法
    38. public String execute() throws Exception {
    39. if(Type.equals("系统管理员"))
    40. {
    41. if (null == new AdminDao().CheckLogin(Username, Password)) {
    42. Msg = "用户名或者密码错误";
    43. return INPUT;
    44. }
    45. else
    46. {
    47. //获取ID
    48. String Admin_ID=new AdminDao().CheckLogin(Username, Password);
    49. //创建session
    50. HttpSession session = ServletActionContext.getRequest().getSession();
    51. session.setAttribute("id", Admin_ID);
    52. session.setAttribute("type", "1");
    53. return SUCCESS;
    54. }
    55. }
    56. else if(Type.equals("楼宇管理员"))
    57. {
    58. if (null == new TeacherDao().CheckLogin(Username, Password)) {
    59. Msg = "用户名或者密码错误";
    60. return INPUT;
    61. }
    62. else
    63. {
    64. //获取ID
    65. String Teacher_ID=new TeacherDao().CheckLogin(Username, Password);
    66. //创建session
    67. HttpSession session = ServletActionContext.getRequest().getSession();
    68. session.setAttribute("id", Teacher_ID);
    69. session.setAttribute("type", "2");
    70. return SUCCESS;
    71. }
    72. }
    73. else if(Type.equals("学生"))
    74. {
    75. if (null == new StudentDao().CheckLogin(Username, Password)) {
    76. Msg = "用户名或者密码错误";
    77. return INPUT;
    78. }
    79. else
    80. {
    81. //获取ID
    82. String Student_ID=new StudentDao().CheckLogin(Username, Password);
    83. //创建session
    84. HttpSession session = ServletActionContext.getRequest().getSession();
    85. session.setAttribute("id", Student_ID);
    86. session.setAttribute("type", "3");
    87. return SUCCESS;
    88. }
    89. }
    90. else
    91. {
    92. Msg = "身份类型错误";
    93. return INPUT;
    94. }
    95. }
    96. }

    如果也想学习本系统,下面领取。关注并回复:117jsp

  • 相关阅读:
    ISP屏幕和LCD屏幕的区别,以及AMOLED、Super AMOLED和OLED
    使用 @Transactional 时常犯的N种错误
    分享一个docker无法启动的小问题
    CSDN专栏设置
    [附源码]Python计算机毕业设计Django“小世界”私人空间
    gorm的增删改查
    Apipost一键压测已支持导入CSV文件
    C语言——经典200道例题(6-10)
    【Vue】修饰符、表单提交方式、自定义组件的关键步骤
    Java线程中的状态
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/126913727