• ssh宿舍管理系统


    作者主页:夜未央5788

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

    文末获取源码

    项目介绍

    这个项目是一个基于Struts2+Spring+Hibernate高校宿舍管理系统,分为管理员、宿舍管理、学生三种角色。

    管理员权限包括:
    宿舍管理
    学生管理
    宿舍调换管理
    水电费管理
    卫生检查管理
    缺寝管理
    来访管理
    报修管理
    公告管理

    宿舍管理权限包括:
    公告信息管理
    个人信息查询
    学生信息查询
    缺寝管理
    来访管理
    卫生检查管理
    报修管理
    水电费管理

    学生权限包括:
    学生个人信息
    个人缺寝查看
    水电费查询
    卫生查询
    报修管理
    公告查询

    由于本程序规模不大,可供课程设计,毕业设计学习演示之用

    环境需要

    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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

    6.数据库:MySql 5.7等版本均可;

    技术栈

    1. 后端:Spring Struts Hibernate 

    2. 前端:JSP+css+javascript+jQuery

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2.使用IDEA/Eclipse/MyEclipse导入项目,配置tomcat;
    3. 将项目中proxool.xml配置文件中的数据库配置改为自己的配置,然后运行;
    4.运行成功后,在浏览器中输入http://localhost:8080/stu_dorm/login.jsp
    管理员账号密码:admin/111111
    宿舍管理账号密码:003/111111

    学生账号密码:2014005511/2014005511

    运行截图

    项目截图

     

     

     

     

     

     

    相关代码

    管理控制器

    1. public class ManageAction {
    2. private static final long serialVersionUID = 1L;
    3. private String url="./";
    4. private BaoxiuDao baoxiuDao;
    5. private LaifangDao laifangDao;
    6. private LouDao louDao;
    7. private QueqinDao queqinDao;
    8. private ShuidianDao shuidianDao;
    9. private SusheDao susheDao;
    10. private WeishengDao weishengDao;
    11. public BaoxiuDao getBaoxiuDao() {
    12. return baoxiuDao;
    13. }
    14. public void setBaoxiuDao(BaoxiuDao baoxiuDao) {
    15. this.baoxiuDao = baoxiuDao;
    16. }
    17. public LaifangDao getLaifangDao() {
    18. return laifangDao;
    19. }
    20. public void setLaifangDao(LaifangDao laifangDao) {
    21. this.laifangDao = laifangDao;
    22. }
    23. public LouDao getLouDao() {
    24. return louDao;
    25. }
    26. public void setLouDao(LouDao louDao) {
    27. this.louDao = louDao;
    28. }
    29. public QueqinDao getQueqinDao() {
    30. return queqinDao;
    31. }
    32. public void setQueqinDao(QueqinDao queqinDao) {
    33. this.queqinDao = queqinDao;
    34. }
    35. public ShuidianDao getShuidianDao() {
    36. return shuidianDao;
    37. }
    38. public void setShuidianDao(ShuidianDao shuidianDao) {
    39. this.shuidianDao = shuidianDao;
    40. }
    41. public SusheDao getSusheDao() {
    42. return susheDao;
    43. }
    44. public void setSusheDao(SusheDao susheDao) {
    45. this.susheDao = susheDao;
    46. }
    47. public WeishengDao getWeishengDao() {
    48. return weishengDao;
    49. }
    50. public void setWeishengDao(WeishengDao weishengDao) {
    51. this.weishengDao = weishengDao;
    52. }
    53. public String getUrl() {
    54. return url;
    55. }
    56. public void setUrl(String url) {
    57. this.url = url;
    58. }
    59. private UserDao userDao;
    60. public UserDao getUserDao() {
    61. return userDao;
    62. }
    63. public void setUserDao(UserDao userDao) {
    64. this.userDao = userDao;
    65. }
    66. //用户登陆操作
    67. public void login() throws IOException {
    68. HttpServletRequest request = ServletActionContext.getRequest();
    69. HttpServletResponse response = ServletActionContext.getResponse();
    70. String username = request.getParameter("username");
    71. String password = request.getParameter("password");
    72. Integer role = Integer.parseInt(request.getParameter("role"));
    73. User user = userDao.selectBean(" where username='"+username+"' and password='"+password+"' and userlock=0 and role="+role);
    74. if(user!=null){
    75. HttpSession session = request.getSession();
    76. session.setAttribute("user", user);
    77. response.setCharacterEncoding("gbk");
    78. PrintWriter writer = response.getWriter();
    79. writer.print("<script language='javascript'>alert('登录成功');window.location.href='index.jsp'; </script>");
    80. }else{
    81. response.setCharacterEncoding("gbk");
    82. PrintWriter writer = response.getWriter();
    83. writer.print("<script language='javascript'>alert('用户名或者密码错误');window.location.href='login.jsp'; </script>");
    84. }
    85. }
    86. //用户退出操作
    87. public void loginout() throws IOException{
    88. HttpServletRequest request = ServletActionContext.getRequest();
    89. HttpSession session = request.getSession();
    90. session.removeAttribute("user");
    91. HttpServletResponse response = ServletActionContext.getResponse();
    92. response.setCharacterEncoding("gbk");
    93. PrintWriter writer = response.getWriter();
    94. writer.print("<script language='javascript'>alert('退出成功');window.location.href='login.jsp'; </script>");
    95. }
    96. //跳转到修改密码页面
    97. public String passwordupdate(){
    98. this.setUrl("user/passwordupdate.jsp");
    99. return SUCCESS;
    100. }
    101. //修改密码操作
    102. public void passwordupdate2() throws IOException{
    103. HttpServletRequest request = ServletActionContext.getRequest();
    104. HttpServletResponse response = ServletActionContext.getResponse();
    105. String password1 = request.getParameter("password1");
    106. String password2 = request.getParameter("password2");
    107. HttpSession session = request.getSession();
    108. User user = (User)session.getAttribute("user");
    109. User bean = userDao.selectBean(" where username='"+user.getUsername()+"' and password='"+password1+"' ");
    110. if(bean!=null){
    111. bean.setPassword(password2);
    112. userDao.updateBean(bean);
    113. response.setCharacterEncoding("utf8");
    114. PrintWriter writer = response.getWriter();
    115. writer.print("<script language='javascript'>alert('操作成功'); </script>");
    116. }else{
    117. response.setCharacterEncoding("utf8");
    118. PrintWriter writer = response.getWriter();
    119. writer.print("<script language='javascript'>alert('原密码错误,修改失败!!');window.location.href='method!passwordupdate'; </script>");
    120. }
    121. }
    122. /***************管理员功能****************/
    123. //管理员页面
    124. public String userlist(){
    125. HttpServletRequest request = ServletActionContext.getRequest();
    126. int currentpage = 1;
    127. int pagesize = 10;
    128. if(request.getParameter("pagenum") != null){
    129. currentpage = Integer.parseInt(request.getParameter("pagenum"));
    130. }
    131. String where =" where userlock=0 and role=1 order by id desc ";
    132. long total = userDao.selectBeanCount(where);
    133. List<User> list = userDao.selectBeanList(currentpage-1, pagesize, where);
    134. request.setAttribute("list", list);
    135. String pagerinfo = Pager.getPagerNormal((int)total, pagesize, currentpage, "method!userlist", "共有"+total+"条记录");
    136. request.setAttribute("pagerinfo", pagerinfo);
    137. this.setUrl("user/userlist.jsp");
    138. return SUCCESS;
    139. }
    140. //跳转到添加管理员页面
    141. public String useradd(){
    142. this.setUrl("user/useradd.jsp");
    143. return SUCCESS;
    144. }
    145. //添加管理员操作
    146. public void useradd2() throws IOException{
    147. HttpServletRequest request = ServletActionContext.getRequest();
    148. HttpServletResponse response = ServletActionContext.getResponse();
    149. response.setCharacterEncoding("utf8");
    150. String username = request.getParameter("username");
    151. String password = request.getParameter("password");
    152. String truename = request.getParameter("truename");
    153. User bean = userDao.selectBean(" where username='"+username+"' ");
    154. if(bean==null){
    155. bean = new User();
    156. bean.setUsername(username);
    157. bean.setPassword(password);
    158. bean.setTruename(truename);
    159. bean.setCreatetime(new Date());
    160. bean.setRole(1);
    161. userDao.insertBean(bean);
    162. PrintWriter writer = response.getWriter();
    163. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!userlist'; </script>");
    164. }else{
    165. PrintWriter writer = response.getWriter();
    166. writer.print("<script language='javascript'>alert('提交失败,该用户名已经存在');window.location.href='method!userlist'; </script>");
    167. }
    168. }
    169. //删除管理员操作
    170. public void userdelete() throws IOException{
    171. HttpServletRequest request = ServletActionContext.getRequest();
    172. HttpServletResponse response = ServletActionContext.getResponse();
    173. String id = request.getParameter("id");
    174. User bean =userDao.selectBean(" where id= "+id);
    175. bean.setUserlock(1);
    176. userDao.insertBean(bean);
    177. response.setCharacterEncoding("utf8");
    178. PrintWriter writer = response.getWriter();
    179. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!userlist'; </script>");
    180. }
    181. //跳转到更新管理员页面
    182. public String userupdate(){
    183. HttpServletRequest request = ServletActionContext.getRequest();
    184. String id = request.getParameter("id");
    185. User bean =userDao.selectBean(" where id= "+id);
    186. request.setAttribute("bean", bean);
    187. this.setUrl("user/userupdate.jsp");
    188. return SUCCESS;
    189. }
    190. //更新管理员操作
    191. public void userupdate2() throws IOException{
    192. HttpServletRequest request = ServletActionContext.getRequest();
    193. HttpServletResponse response = ServletActionContext.getResponse();
    194. String password = request.getParameter("password");
    195. String truename = request.getParameter("truename");
    196. String id = request.getParameter("id");
    197. User bean =userDao.selectBean(" where id= "+id);
    198. bean.setPassword(password);
    199. bean.setTruename(truename);
    200. userDao.insertBean(bean);
    201. response.setCharacterEncoding("utf8");
    202. PrintWriter writer = response.getWriter();
    203. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!userlist'; </script>");
    204. }
    205. private ZhuanyeDao zhuanyeDao;
    206. public ZhuanyeDao getZhuanyeDao() {
    207. return zhuanyeDao;
    208. }
    209. public void setZhuanyeDao(ZhuanyeDao zhuanyeDao) {
    210. this.zhuanyeDao = zhuanyeDao;
    211. }
    212. //院系信息列表
    213. public String zhuanyelist(){
    214. HttpServletRequest request = ServletActionContext.getRequest();
    215. int currentpage = 1;
    216. int pagesize = 10;
    217. if(request.getParameter("pagenum") != null){
    218. currentpage = Integer.parseInt(request.getParameter("pagenum"));
    219. }
    220. String where =" where zhuanyelock=0 order by id desc ";
    221. long total = zhuanyeDao.selectBeanCount(where);
    222. List<Zhuanye> list = zhuanyeDao.selectBeanList(currentpage-1, pagesize, where);
    223. request.setAttribute("list", list);
    224. String pagerinfo = Pager.getPagerNormal((int)total, pagesize, currentpage, "method!zhuanyelist", "共有"+total+"条记录");
    225. request.setAttribute("pagerinfo", pagerinfo);
    226. this.setUrl("zhuanye/zhuanyelist.jsp");
    227. return SUCCESS;
    228. }
    229. //跳转到添加院系页面
    230. public String zhuanyeadd(){
    231. this.setUrl("zhuanye/zhuanyeadd.jsp");
    232. return SUCCESS;
    233. }
    234. //添加院系操作
    235. public void zhuanyeadd2() throws IOException{
    236. HttpServletRequest request = ServletActionContext.getRequest();
    237. HttpServletResponse response = ServletActionContext.getResponse();
    238. String zhuanyeming = request.getParameter("zhuanyeming");
    239. Zhuanye bean = new Zhuanye();
    240. bean.setZhuanyeming(zhuanyeming);
    241. zhuanyeDao.insertBean(bean);
    242. response.setCharacterEncoding("utf8");
    243. PrintWriter writer = response.getWriter();
    244. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!zhuanyelist'; </script>");
    245. }
    246. //删除院系操作
    247. public void zhuanyedelete() throws IOException{
    248. HttpServletRequest request = ServletActionContext.getRequest();
    249. HttpServletResponse response = ServletActionContext.getResponse();
    250. String id = request.getParameter("id");
    251. Zhuanye bean =zhuanyeDao.selectBean(" where id= "+id);
    252. bean.setZhuanyelock(1);
    253. zhuanyeDao.insertBean(bean);
    254. response.setCharacterEncoding("utf8");
    255. PrintWriter writer = response.getWriter();
    256. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!zhuanyelist'; </script>");
    257. }
    258. //跳转到更新院系页面
    259. public String zhuanyeupdate(){
    260. HttpServletRequest request = ServletActionContext.getRequest();
    261. String id = request.getParameter("id");
    262. Zhuanye bean =zhuanyeDao.selectBean(" where id= "+id);
    263. request.setAttribute("bean", bean);
    264. this.setUrl("zhuanye/zhuanyeupdate.jsp");
    265. return SUCCESS;
    266. }
    267. //更新院系操作
    268. public void zhuanyeupdate2() throws IOException{
    269. HttpServletRequest request = ServletActionContext.getRequest();
    270. HttpServletResponse response = ServletActionContext.getResponse();
    271. String zhuanyeming = request.getParameter("zhuanyeming");
    272. String id = request.getParameter("id");
    273. Zhuanye bean =zhuanyeDao.selectBean(" where id= "+id);
    274. bean.setZhuanyeming(zhuanyeming);
    275. zhuanyeDao.insertBean(bean);
    276. response.setCharacterEncoding("utf8");
    277. PrintWriter writer = response.getWriter();
    278. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!zhuanyelist'; </script>");
    279. }
    280. private StudentDao studentDao;
    281. public StudentDao getStudentDao() {
    282. return studentDao;
    283. }
    284. public void setStudentDao(StudentDao studentDao) {
    285. this.studentDao = studentDao;
    286. }
    287. //学生信息管理
    288. public String studentlist(){
    289. HttpServletRequest request = ServletActionContext.getRequest();
    290. String name = request.getParameter("name");
    291. String xuehao = request.getParameter("xuehao");
    292. StringBuffer sb = new StringBuffer();
    293. sb.append(" where ");
    294. if(name!=null&&!"".equals(name)){
    295. sb.append("name like '%"+name+"%'");
    296. sb.append(" and ");
    297. request.setAttribute("name", name);
    298. }
    299. if(xuehao!=null&&!"".equals(xuehao)){
    300. sb.append("xuehao like '%"+xuehao+"%'");
    301. sb.append(" and ");
    302. request.setAttribute("xuehao", xuehao);
    303. }
    304. sb.append(" studentlock=0 order by id desc");
    305. int currentpage = 1;
    306. int pagesize = 10;
    307. if(request.getParameter("pagenum") != null){
    308. currentpage = Integer.parseInt(request.getParameter("pagenum"));
    309. }
    310. String where =sb.toString();
    311. long total = studentDao.selectBeanCount(where.replaceAll("order by id desc", ""));
    312. List<Student> list = studentDao.selectBeanList(currentpage-1, pagesize, where);
    313. request.setAttribute("list", list);
    314. String pagerinfo = Pager.getPagerNormal((int)total, pagesize, currentpage, "method!studentlist", "共有"+total+"条记录");
    315. request.setAttribute("pagerinfo", pagerinfo);
    316. request.setAttribute("url", "method!student");
    317. this.setUrl("student/studentlist.jsp");
    318. return SUCCESS;
    319. }
    320. //跳转到添加学生页面
    321. public String studentadd(){
    322. HttpServletRequest request = ServletActionContext.getRequest();
    323. request.setAttribute("list", zhuanyeDao.selectBeanList(0, 9999, " where zhuanyelock=0 "));
    324. this.setUrl("student/studentadd.jsp");
    325. return SUCCESS;
    326. }
    327. //添加学生操作
    328. public void studentadd2() throws IOException{
    329. HttpServletRequest request = ServletActionContext.getRequest();
    330. HttpServletResponse response = ServletActionContext.getResponse();
    331. String banji = request.getParameter("banji");
    332. String xuehao = request.getParameter("xuehao");
    333. String name = request.getParameter("name");
    334. String telephone = request.getParameter("telephone");
    335. String jiguan = request.getParameter("jiguan");
    336. String address = request.getParameter("address");
    337. String xingbie = request.getParameter("xingbie");
    338. String age = request.getParameter("age");
    339. Zhuanye zhuanye =zhuanyeDao.selectBean(" where zhuanyelock=0");
    340. User user = userDao.selectBean(" where username='"+xuehao+"' ");
    341. if(user==null){
    342. user = new User();
    343. user.setCreatetime(new Date());
    344. user.setPassword("111111");
    345. user.setRole(2);
    346. user.setTruename(name);
    347. user.setUsername(xuehao);
    348. userDao.insertBean(user);
    349. Student bean = new Student();
    350. bean.setBanji(banji);
    351. bean.setName(name);
    352. bean.setXuehao(xuehao);
    353. bean.setTelephone(telephone);
    354. bean.setJiguan(jiguan);
    355. bean.setAddress(address);
    356. bean.setAge(age);
    357. bean.setZhuanye(zhuanye);
    358. bean.setXingbie(xingbie);
    359. studentDao.insertBean(bean);
    360. response.setCharacterEncoding("utf8");
    361. PrintWriter writer = response.getWriter();
    362. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!studentlist'; </script>");
    363. }else{
    364. response.setCharacterEncoding("utf8");
    365. PrintWriter writer = response.getWriter();
    366. writer.print("<script language='javascript'>alert('提交失败,该学号已经注册');window.location.href='method!studentlist'; </script>");
    367. }
    368. }
    369. //删除学生操作
    370. public void studentdelete() throws IOException{
    371. HttpServletRequest request = ServletActionContext.getRequest();
    372. HttpServletResponse response = ServletActionContext.getResponse();
    373. String id = request.getParameter("id");
    374. Student bean =studentDao.selectBean(" where id= "+id);
    375. bean.setStudentlock(1);
    376. studentDao.updateBean(bean);
    377. User user = userDao.selectBean(" where username='"+bean.getXuehao()+"' ");
    378. user.setUserlock(1);
    379. userDao.updateBean(user);
    380. response.setCharacterEncoding("utf8");
    381. PrintWriter writer = response.getWriter();
    382. writer.print("<script language='javascript'>alert('提交成功');window.location.href='method!studentlist'; </script>");
    383. }

    如果也想学习本系统,下面领取。回复:131ssh  

     

  • 相关阅读:
    linux系统下启停nginx的命令
    ASP.NET Core依赖注入系统学习教程:关于服务注册使用到的方法
    《Fundamantals of Software Architecture》 Q&A Part3
    第4.2关 标准输入输出——大连交通大学
    .net第三章-- C#语句的组成与使用
    Java面向对象编程
    【云原生】portainer管理多个独立docker服务器
    ABAP 报表中如何以二进制方式上传本地文件
    TempleteMethod
    (附源码)ssm医药销售管理系统 毕业设计 042322
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/125626678