基于jsp+mvc实现宿舍管理系统代码实现
时间: 2023-06-11 14:06:00 浏览: 183
由于宿舍管理系统涉及到很多功能模块和页面,无法在此一一列举和实现。下面是一个基于JSP MVC(Model-View-Controller)架构的示例代码,供您参考。
1. 实体类
创建一个宿舍实体类,用于存储宿舍的相关信息,如宿舍编号、楼层、床位数等。
```
public class Dormitory {
private String dormId; // 宿舍编号
private int floor; // 楼层
private int bedNum; // 床位数
private String dormType; // 房型
// getter and setter methods
}
```
2. DAO层
创建一个宿舍DAO层,用于实现对宿舍信息的增删改查操作。
```
public class DormitoryDao {
// 添加宿舍
public boolean addDormitory(Dormitory dorm) {
// TODO: 实现添加宿舍的逻辑
return true;
}
// 删除宿舍
public boolean deleteDormitory(String dormId) {
// TODO: 实现删除宿舍的逻辑
return true;
}
// 更新宿舍信息
public boolean updateDormitory(Dormitory dorm) {
// TODO: 实现更新宿舍信息的逻辑
return true;
}
// 查询宿舍信息
public Dormitory getDormitoryById(String dormId) {
// TODO: 实现查询宿舍信息的逻辑
return null;
}
// 查询所有宿舍信息
public List<Dormitory> getAllDormitories() {
// TODO: 实现查询所有宿舍信息的逻辑
return null;
}
}
```
3. 控制器层
创建一个宿舍控制器类,用于处理与宿舍相关的请求,如添加宿舍、删除宿舍、更新宿舍信息等。
```
public class DormitoryController extends HttpServlet {
private DormitoryDao dormDao = new DormitoryDao();
// 处理添加宿舍请求
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Dormitory dorm = new Dormitory();
dorm.setDormId(request.getParameter("dormId"));
dorm.setFloor(Integer.parseInt(request.getParameter("floor")));
dorm.setBedNum(Integer.parseInt(request.getParameter("bedNum")));
dorm.setDormType(request.getParameter("dormType"));
boolean result = dormDao.addDormitory(dorm);
if (result) {
response.sendRedirect(request.getContextPath() + "/dormitory.jsp");
} else {
response.sendRedirect(request.getContextPath() + "/error.jsp");
}
}
// 处理删除宿舍请求
protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String dormId = request.getParameter("dormId");
boolean result = dormDao.deleteDormitory(dormId);
if (result) {
response.setStatus(HttpServletResponse.SC_NO_CONTENT);
} else {
response.sendRedirect(request.getContextPath() + "/error.jsp");
}
}
// 处理更新宿舍信息请求
protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Dormitory dorm = new Dormitory();
dorm.setDormId(request.getParameter("dormId"));
dorm.setFloor(Integer.parseInt(request.getParameter("floor")));
dorm.setBedNum(Integer.parseInt(request.getParameter("bedNum")));
dorm.setDormType(request.getParameter("dormType"));
boolean result = dormDao.updateDormitory(dorm);
if (result) {
response.setStatus(HttpServletResponse.SC_NO_CONTENT);
} else {
response.sendRedirect(request.getContextPath() + "/error.jsp");
}
}
// 处理查询宿舍信息请求
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String dormId = request.getParameter("dormId");
if (dormId != null) {
Dormitory dorm = dormDao.getDormitoryById(dormId);
if (dorm != null) {
request.setAttribute("dorm", dorm);
request.getRequestDispatcher("/dormitory.jsp").forward(request, response);
} else {
response.sendRedirect(request.getContextPath() + "/error.jsp");
}
} else {
List<Dormitory> dormList = dormDao.getAllDormitories();
if (dormList != null) {
request.setAttribute("dormList", dormList);
request.getRequestDispatcher("/dormitories.jsp").forward(request, response);
} else {
response.sendRedirect(request.getContextPath() + "/error.jsp");
}
}
}
}
```
4. 视图层
创建一个宿舍管理页面,用于展示宿舍信息和提供相关操作,如添加宿舍、删除宿舍、更新宿舍信息等。
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>宿舍管理系统</title>
</head>
<body>
<h1>宿舍管理系统</h1>
<h2>宿舍信息列表</h2>
<table>
<thead>
<tr>
<th>宿舍编号</th>
<th>楼层</th>
<th>床位数</th>
<th>房型</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${dormList}" var="dorm">
<tr>
<td>${dorm.dormId}</td>
<td>${dorm.floor}</td>
<td>${dorm.bedNum}</td>
<td>${dorm.dormType}</td>
<td>
<a href="${pageContext.request.contextPath}/dormitory.jsp?dormId=${dorm.dormId}">编辑</a>
<form action="${pageContext.request.contextPath}/dormitory?dormId=${dorm.dormId}" method="post">
<input type="hidden" name="_method" value="delete">
<input type="submit" value="删除">
</form>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<hr>
<h2>添加宿舍</h2>
<form action="${pageContext.request.contextPath}/dormitory" method="post">
<label for="dormId">宿舍编号:</label>
<input type="text" name="dormId" required><br>
<label for="floor">楼层:</label>
<input type="number" name="floor" required><br>
<label for="bedNum">床位数:</label>
<input type="number" name="bedNum" required><br>
<label for="dormType">房型:</label>
<input type="text" name="dormType" required><br>
<input type="submit" value="添加">
</form>
<hr>
<h2>编辑宿舍</h2>
<form action="${pageContext.request.contextPath}/dormitory" method="post">
<input type="hidden" name="_method" value="put">
<input type="hidden" name="dormId" value="${dorm.dormId}">
<label for="floor">楼层:</label>
<input type="number" name="floor" value="${dorm.floor}" required><br>
<label for="bedNum">床位数:</label>
<input type="number" name="bedNum" value="${dorm.bedNum}" required><br>
<label for="dormType">房型:</label>
<input type="text" name="dormType" value="${dorm.dormType}" required><br>
<input type="submit" value="保存">
</form>
</body>
</html>
```
以上代码只是一个示例,您可以根据自己的实际需求进行修改和完善。
阅读全文