@TOC
Jsp宿舍管理系统
学生宿舍管理是当代学校中不可或缺的组成部分,在信息化飞速发展的今天,它的出现已经成了一种必然,本文将从宿舍管理系统的历史和现状进行分析,以求证本系统的设计具有实际的意义,并得到它在未来的发展,从而跟上时代的脚步,做出一个高质量的、安全性好的宿舍管理系统,使其不仅能满足学校现在的需要,也能满足将来一段时间的需要。
实现功能截图
宿舍管理主界面:
房间录入:
房间更改:
房间删除:
房间预测:
办理住宿:
调换房间:
办理退宿:
房间查询:
人员查询:
统计信息:
信息维护:
系统功能以及流程图
宿舍管理系统主要实现的功能有:房间管理、宿舍管理、信息查询、信息维护等。
1、系统功能流程图:
2、E-R图:
学生实体E-R图:
班级实体E-R图:
宿舍实体E-R图:
用户实体E-R图:
3、子模块流程图:
用户管理流程:
房间管理:
信息维护流程:
技术点总结
jdk版本:1.7 tomcat: 7.0 数据库:mysql 开发工具:eclipse
代码
dao层 AdminDao.java
package com.dao;
import com.db.DBHelper;
import com.bean.AdminBean;
import java.util.*;
import java.sql.*;
public class AdminDao {
//验证登录
public String CheckLogin(String username, String password){
String id = null;
String sql="select * from Admin where Admin_Username='"+username+"' and Admin_Password='"+password+"'";
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
try{
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while (rs.next()) {
id = rs.getString("Admin_ID");
}
}
catch(SQLException ex){}
return id;
}
//验证密码
public boolean CheckPassword(String id, String password){
boolean ps = false;
String sql="select * from Admin where Admin_ID='"+id+"' and Admin_Password='"+password+"'";
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
try{
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while (rs.next()) {
ps=true;
}
}
catch(SQLException ex){}
return ps;
}
//获取列表
public List<AdminBean> GetList(String strwhere,String strorder){
String sql="select * from Admin";
if(!(isInvalid(strwhere)))
{
sql+=" where "+strwhere;
}
if(!(isInvalid(strorder)))
{
sql+=" order by "+strorder;
}
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
List<AdminBean> list=new ArrayList<AdminBean>();
try{
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
AdminBean cnbean=new AdminBean();
cnbean.setAdmin_ID(rs.getInt("Admin_ID"));
cnbean.setAdmin_Username(rs.getString("Admin_Username"));
cnbean.setAdmin_Password(rs.getString("Admin_Password"));
cnbean.setAdmin_Name(rs.getString("Admin_Name"));
cnbean.setAdmin_Sex(rs.getString("Admin_Sex"));
cnbean.setAdmin_Tel(rs.getString("Admin_Tel"));
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 AdminBean GetBean(int id){
String sql="select * from Admin where Admin_ID="+id;
Statement stat = null;
ResultSet rs = null;
Connection conn = new DBHelper().getConn();
AdminBean cnbean=new AdminBean();
try{
stat = conn.createStatement();
rs = stat.executeQuery(sql);
while(rs.next()){
cnbean.setAdmin_ID(rs.getInt("Admin_ID"));
cnbean.setAdmin_Username(rs.getString("Admin_Username"));
cnbean.setAdmin_Password(rs.getString("Admin_Password"));
cnbean.setAdmin_Name(rs.getString("Admin_Name"));
cnbean.setAdmin_Sex(rs.getString("Admin_Sex"));
cnbean.setAdmin_Tel(rs.getString("Admin_Tel"));
}
} 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(AdminBean cnbean){
String sql="insert into Admin (";
sql+="Admin_Username,Admin_Password,Admin_Name,Admin_Sex,Admin_Tel";
sql+=") values(";
sql+="'"+cnbean.getAdmin_Username()+"','"+cnbean.getAdmin_Password()+"','"+cnbean.getAdmin_Name()+"','"+cnbean.getAdmin_Sex()+"','"+cnbean.getAdmin_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(AdminBean cnbean){
String sql="update Admin set ";
sql+="Admin_Username='"+cnbean.getAdmin_Username()+"',";
sql+="Admin_Password='"+cnbean.getAdmin_Password()+"',";
sql+="Admin_Name='"+cnbean.getAdmin_Name()+"',";
sql+="Admin_Sex='"+cnbean.getAdmin_Sex()+"',";
sql+="Admin_Tel='"+cnbean.getAdmin_Tel()+"'";
sql+=" where Admin_ID='"+cnbean.getAdmin_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 Admin 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类: AdminBean:
package com.bean;
public class AdminBean {
private int Admin_ID ;
private String Admin_Username ;
private String Admin_Password ;
private String Admin_Name ;
private String Admin_Sex ;
private String Admin_Tel ;
public int getAdmin_ID() {
return Admin_ID;
}
public void setAdmin_ID(int adminID) {
Admin_ID = adminID;
}
public String getAdmin_Username() {
return Admin_Username;
}
public void setAdmin_Username(String adminUsername) {
Admin_Username = adminUsername;
}
public String getAdmin_Password() {
return Admin_Password;
}
public void setAdmin_Password(String adminPassword) {
Admin_Password = adminPassword;
}
public String getAdmin_Name() {
return Admin_Name;
}
public void setAdmin_Name(String adminName) {
Admin_Name = adminName;
}
public String getAdmin_Sex() {
return Admin_Sex;
}
public void setAdmin_Sex(String adminSex) {
Admin_Sex = adminSex;
}
public String getAdmin_Tel() {
return Admin_Tel;
}
public void setAdmin_Tel(String adminTel) {
Admin_Tel = adminTel;
}
}
action层: AdminAction:
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 AdminLog extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private List<BuildingBean> buildinglist;
private List<DomitoryBean> domitorylist;
public List<BuildingBean> getBuildinglist() {
return buildinglist;
}
public void setBuildinglist(List<BuildingBean> buildinglist) {
this.buildinglist = buildinglist;
}
public List<DomitoryBean> getDomitorylist() {
return domitorylist;
}
public void setDomitorylist(List<DomitoryBean> domitorylist) {
this.domitorylist = domitorylist;
}
private String BuildingID;
private String DomitoryID;
public String getBuildingID() {
return BuildingID;
}
public void setBuildingID(String buildingID) {
BuildingID = buildingID;
}
public String getDomitoryID() {
return DomitoryID;
}
public void setDomitoryID(String domitoryID) {
DomitoryID = domitoryID;
}
//处理用户请求的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;
}
//查询楼宇
buildinglist=new BuildingDao().GetList("","Building_Name");
// System.out.println(BuildingID);
//查询条件
String strWhere="1=1 ";
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();
}
}
StudentManage.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 StudentManager extends ActionSupport {
//下面是Action内用于封装用户请求参数的属性
private List<StudentBean> list;
public List<StudentBean> getList() {
return list;
}
public void setList(List<StudentBean> list) {
this.list = list;
}
private String SearchRow;
private String SearchKey;
private String State;
public String getState() {
return State;
}
public void setState(String state) {
State = state;
}
public String getSearchRow() {
return SearchRow;
}
public void setSearchRow(String searchRow) {
SearchRow = searchRow;
}
public String getSearchKey() {
return SearchKey;
}
public void setSearchKey(String searchKey) {
SearchKey = searchKey;
}
//处理用户请求的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(State)))
{
strWhere+=" and Student_State='"+State+"'";
}
else
{
strWhere+=" and Student_State='入住'";
}
//查询所有
list=new StudentDao().GetAllList(strWhere,"Student_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) 最后,别忘了一键三连哦