<h2>引言</h2>
在大学校园生活中,宿舍管理是一项重要的工作。为了提高宿舍管理的效率和准确性,我们设计并实现了一个宿舍信息管理系统。该系统能够帮助宿舍管理人员高效地管理宿舍信息,包括学生入住、退宿、宿舍分配等。
<h2>系统设计</h2>
系统主要由以下几个模块组成:用户管理模块、宿舍管理模块、学生管理模块和查询模块。系统采用B/S架构,使用Java作为开发语言,MySQL作为数据库管理系统。
<h2>数据库设计</h2>
数据库表主要包括users(用户信息)、dorms(宿舍信息)和students(学生信息)。以下是一些关键的SQL语句:
<pre><code>
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
role ENUM('admin', 'user') NOT NULL
);
CREATE TABLE dorms (
id INT AUTO_INCREMENT PRIMARY KEY,
number VARCHAR(20) NOT NULL,
capacity INT NOT NULL
);
CREATE TABLE students (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender ENUM('male', 'female') NOT NULL,
major VARCHAR(50),
dorm_id INT,
FOREIGN KEY (dorm_id) REFERENCES dorms(id)
);
</code></pre>
<h2>系统实现</h2>
前端采用HTML、CSS和JavaScript实现,后端使用Servlet进行数据处理。以下是登录页面的Servlet示例代码:
<pre><code>
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
// 这里应该调用数据库查询方法验证用户名和密码
if ("admin".equals(username) && "admin".equals(password)) {
request.getSession().setAttribute("user", username);
response.sendRedirect("dashboard.jsp");
} else {
request.setAttribute("error", "用户名或密码错误");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
}
</code></pre>