Jsp宿舍管理系统
学生宿舍管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从宿舍管理系统的历史和现状进行分析,以求证本系统的设计具有实际的意义,并得到它在未来的发展,从而跟上时代的脚步,做出一个高质量的、安全性好的宿舍管理系统,使其不仅能满足学校现在的需要,也能满足将来一段时间的需要。
实现功能截图
本系统分为前后台
前台主页面:
楼宇管理员管理:
楼宇管理:
宿舍管理:
修改密码:
学生管理:
学生入住登记:
## 系统功能以及流程图
宿舍管理系统主要实现的功能有:房间管理、宿舍管理、信息查询、信息维护等。
1、系统功能流程图:
2、E-R图:
学生实体E-R图:
班级实体E-R图:
宿舍实体E-R图:
用户实体E-R图:
3、子模块流程图:
用户管理流程:
房间管理:
信息维护流程:
技术点总结
运行环境:
jdk8+tomcat7+mysql5.6+IntelliJ IDEA(eclipse)
技术点:
springMVC+struts2+css+jquery+mysql
代码
dao层
DomitoryDao.java
package com.dao;
import com.db.DBHelper;
import com.bean.DomitoryBean;
import java.util.*;
import java.sql.*;
public class DomitoryDao {
//获取列表
public List<DomitoryBean> GetList(String strwhere,String strorder){
String sql="select * from Domitory,Building where Domitory_BuildingID=Building_ID";
if(!(isInvalid(strwhere)))
{
sql+=" and "+strwhere;
}
if(!(isInvalid(strorder)))
{
sql+=" order by "+strorder;
}
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
List<DomitoryBean> list=new ArrayList<DomitoryBean>();
try{
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
DomitoryBean cnbean=new DomitoryBean();
cnbean.setDomitory_ID(rs.getInt("Domitory_ID"));
cnbean.setDomitory_BuildingID(rs.getInt("Domitory_BuildingID"));
cnbean.setDomitory_Name(rs.getString("Domitory_Name"));
cnbean.setDomitory_Type(rs.getString("Domitory_Type"));
cnbean.setDomitory_Number(rs.getString("Domitory_Number"));
cnbean.setDomitory_Tel(rs.getString("Domitory_Tel"));
cnbean.setBuilding_Name(rs.getString("Building_Name"));
list.add(cnbean);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
if (stat != null)
stat.close();
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
//获取指定ID的实体Bean
public DomitoryBean GetBean(int id){
String sql="select * from Domitory,Building where Domitory_BuildingID=Building_ID and Domitory_ID="+id;
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
DomitoryBean cnbean=new DomitoryBean();
try{
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
cnbean.setDomitory_ID(rs.getInt("Domitory_ID"));
cnbean.setDomitory_BuildingID(rs.getInt("Domitory_BuildingID"));
cnbean.setDomitory_Name(rs.getString("Domitory_Name"));
cnbean.setDomitory_Type(rs.getString("Domitory_Type"));
cnbean.setDomitory_Number(rs.getString("Domitory_Number"));
cnbean.setDomitory_Tel(rs.getString("Domitory_Tel"));
cnbean.setBuilding_Name(rs.getString("Building_Name"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
if (stat != null)
stat.close();
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return cnbean;
}
//添加
public void Add(DomitoryBean cnbean){
String sql="insert into Domitory (";
sql+="Domitory_BuildingID,Domitory_Name,Domitory_Type,Domitory_Number,Domitory_Tel";
sql+=") values(";
sql+="'"+cnbean.getDomitory_BuildingID()+"','"+cnbean.getDomitory_Name()+"','"+cnbean.getDomitory_Type()+"','"+cnbean.getDomitory_Number()+"','"+cnbean.getDomitory_Tel()+"'";
sql+=")";
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
try{
stat = conn.createStatement();
stat.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
if (stat != null)
stat.close();
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//修改
public void Update(DomitoryBean cnbean){
String sql="update Domitory set ";
sql+="Domitory_BuildingID='"+cnbean.getDomitory_BuildingID()+"',";
sql+="Domitory_Name='"+cnbean.getDomitory_Name()+"',";
sql+="Domitory_Type='"+cnbean.getDomitory_Type()+"',";
sql+="Domitory_Number='"+cnbean.getDomitory_Number()+"',";
sql+="Domitory_Tel='"+cnbean.getDomitory_Tel()+"'";
sql+=" where Domitory_ID='"+cnbean.getDomitory_ID()+"'";
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
try{
stat = conn.createStatement();
stat.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
if (stat != null)
stat.close();
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//删除
public void Delete(String strwhere){
String sql="delete Domitory where ";
sql+=strwhere;
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
try{
stat = conn.createStatement();
stat.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
if (stat != null)
stat.close();
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//判断是否空值
private boolean isInvalid(String value) {
return (value == null || value.length() == 0);
}
//测试
public static void main(String[] args) {
System.out.println("");
}
}
bean类:
DomitoryBean.java:
package com.bean;
public class DomitoryBean {
private int Domitory_ID ;
private int Domitory_BuildingID ;
private String Domitory_Name ;
private String Domitory_Type ;
private String Domitory_Number ;
private String Domitory_Tel ;
public int getDomitory_ID() {
return Domitory_ID;
}
public void setDomitory_ID(int domitoryID) {
Domitory_ID = domitoryID;
}
public int getDomitory_BuildingID() {
return Domitory_BuildingID;
}
public void setDomitory_BuildingID(int domitoryBuildingID) {
Domitory_BuildingID = domitoryBuildingID;
}
public String getDomitory_Name() {
return Domitory_Name;
}
public void setDomitory_Name(String domitoryName) {
Domitory_Name = domitoryName;
}
public String getDomitory_Type() {
return Domitory_Type;
}
public void setDomitory_Type(String domitoryType) {
Domitory_Type = domitoryType;
}
public String getDomitory_Number() {
return Domitory_Number;
}
public void setDomitory_Number(String domitoryNumber) {
Domitory_Number = domitoryNumber;
}
public String getDomitory_Tel() {
return Domitory_Tel;
}
public void setDomitory_Tel(String domitoryTel) {
Domitory_Tel = domitoryTel;
}
private String Building_Name ;
public String getBuilding_Name() {
return Building_Name;
}
public void setBuilding_Name(String buildingName) {
Building_Name = buildingName;
}
}
action层:
DomitoryManager.java:
package com.action;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.bean.*;
import com.dao.*;
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 {
//解决乱码,用于页面输出
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.print("<script language='javascript'>alert('请重新登录!');window.location='Login.jsp';</script>");
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();
}
}
数据连接辅助类:
DBHelper.java:
package com.db;
import java.sql.*;
public class DBHelper {
private String dbUrl="jdbc:mysql://localhost:3306/sushe";
private String dbUser="root";
private String dbPassword="123456";
private String jdbcName="com.mysql.jdbc.Driver";
//连接数据库
public Connection getConn(){
Connection conn = null;
try{
Class.forName(jdbcName);
}
catch(Exception e){}
try{
conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);
}
catch(SQLException ex){}
return conn;
}
// 测试
public static void main(String[] args)
{
System.out.println(new DBHelper().getConn());
}
}
写在最后
码代码不容易,需要的同学可以参考学习,全部代码不能都贴出,如果需要可以+博主V交流获取(Code2Life2)
最后,别忘了一键三连哦