2501_92668054 2025-07-30 16:24 采纳率: 25%
浏览 11

如何使用数据库、Java11+Eclipse2019制造一个具有房间管理、人员管理和预订管理简单、实现网页的酒店前台系统毕业设计?

使用数据库、Java11+Eclipse2019制造一个具有房间管理、人员管理和预订管理简单、实现网页的酒店前台系统毕业设计,要详细代码和步骤

  • 写回答

5条回答 默认 最新

  • 檀越@新空间 2025-07-30 16:25
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    要使用 Java 11 + Eclipse 2019 开发一个具有 房间管理、人员管理和预订管理 的酒店前台系统,并将其部署为网页应用,你可以按照以下详细步骤进行开发。我们将使用 Servlet + JSP + JDBC + MySQL 来实现这个系统。


    一、项目目标

    • 实现酒店前台系统的 房间管理、人员管理、预订管理 功能。
    • 使用 MySQL 作为数据库。
    • 使用 Java 11Eclipse 2019 作为开发环境。
    • 使用 JSP + Servlet 实现网页交互。
    • 使用 JDBC 连接数据库。

    二、技术栈

    | 技术 | 说明 | |------|------| | Java | Java 11 | | IDE | Eclipse 2019 | | Web Server | Apache Tomcat 9.x | | Database | MySQL 8.0 | | JDBC | MySQL Connector/J | | JSP/Servlet | 网页交互逻辑 | | HTML/CSS/JavaScript | 前端页面设计 |


    三、开发步骤

    1. 环境准备

    1.1 安装 JDK 11

    • 下载并安装 JDK 11
    • 配置 JAVA_HOME 环境变量

    1.2 安装 Eclipse 2019

    • 下载并安装 Eclipse 2019-03
    • 安装完成后,配置 Tomcat 服务器(如 Apache Tomcat 9.x)

    1.3 安装 MySQL 8.0

    • 下载并安装 MySQL 8.0
    • 创建数据库和用户,例如:
      CREATE DATABASE hotel_db;
      CREATE USER 'hotel_user'@'localhost' IDENTIFIED BY 'password';
      GRANT ALL PRIVILEGES ON hotel_db.* TO 'hotel_user'@'localhost';
      FLUSH PRIVILEGES;
      

    1.4 下载 MySQL JDBC 驱动


    2. 创建数据库结构

    在 MySQL 中创建如下表:

    2.1 房间表 (rooms)

    CREATE TABLE rooms (
        room_id INT PRIMARY KEY AUTO_INCREMENT,
        room_number VARCHAR(10) NOT NULL,
        room_type VARCHAR(50) NOT NULL,
        price DECIMAL(10, 2) NOT NULL,
        is_available BOOLEAN DEFAULT TRUE
    );
    

    2.2 人员表 (users)

    CREATE TABLE users (
        user_id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(100) NOT NULL,
        phone VARCHAR(20),
        email VARCHAR(100)
    );
    

    2.3 预订表 (bookings)

    CREATE TABLE bookings (
        booking_id INT PRIMARY KEY AUTO_INCREMENT,
        user_id INT,
        room_id INT,
        check_in DATE,
        check_out DATE,
        FOREIGN KEY (user_id) REFERENCES users(user_id),
        FOREIGN KEY (room_id) REFERENCES rooms(room_id)
    );
    

    3. 创建 Maven Web Project

    3.1 在 Eclipse 中创建 Maven Web Project

    • File → New → Other → Maven Project
    • 选择 archetype: maven-archetype-webapp
    • 设置 Group Id: com.hotel
    • Artifact Id: hotel-system
    • Finish

    3.2 添加依赖(pom.xml)

    pom.xml 中添加如下依赖:

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>
    </dependencies>
    

    4. 编写数据库连接类

    4.1 创建 DBUtil.java

    package com.hotel.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class DBUtil {
        private static final String URL = "jdbc:mysql://localhost:3306/hotel_db?useSSL=false&serverTimezone=UTC";
        private static final String USER = "hotel_user";
        private static final String PASSWORD = "password";
    
        public static Connection getConnection() throws SQLException {
            return DriverManager.getConnection(URL, USER, PASSWORD);
        }
    }
    

    5. 创建实体类(Model)

    5.1 Room.java

    package com.hotel.model;
    
    public class Room {
        private int id;
        private String number;
        private String type;
        private double price;
        private boolean available;
    
        // getters and setters
    }
    

    5.2 User.java

    package com.hotel.model;
    
    public class User {
        private int id;
        private String name;
        private String phone;
        private String email;
    
        // getters and setters
    }
    

    5.3 Booking.java

    package com.hotel.model;
    
    public class Booking {
        private int id;
        private int userId;
        private int roomId;
        private String checkIn;
        private String checkOut;
    
        // getters and setters
    }
    

    6. 创建 DAO 层(数据访问层)

    6.1 RoomDAO.java

    package com.hotel.dao;
    
    import com.hotel.model.Room;
    import com.hotel.util.DBUtil;
    
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
    
    public class RoomDAO {
        public List<Room> getAllRooms() {
            List<Room> rooms = new ArrayList<>();
            try (Connection conn = DBUtil.getConnection();
                 Statement stmt = conn.createStatement();
                 ResultSet rs = stmt.executeQuery("SELECT * FROM rooms")) {
    
                while (rs.next()) {
                    Room room = new Room();
                    room.setId(rs.getInt("room_id"));
                    room.setNumber(rs.getString("room_number"));
                    room.setType(rs.getString("room_type"));
                    room.setPrice(rs.getDouble("price"));
                    room.setAvailable(rs.getBoolean("is_available"));
                    rooms.add(room);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return rooms;
        }
    
        // 其他方法:addRoom(), updateRoom(), deleteRoom()
    }
    

    6.2 UserDAO.javaBookingDAO.java 同理


    7. 创建 Servlet 控制器

    7.1 RoomServlet.java

    package com.hotel.controller;
    
    import com.hotel.dao.RoomDAO;
    import com.hotel.model.Room;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.IOException;
    import java.util.List;
    
    public class RoomServlet extends HttpServlet {
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            RoomDAO dao = new RoomDAO();
            List<Room> rooms = dao.getAllRooms();
            request.setAttribute("rooms", rooms);
            RequestDispatcher dispatcher = request.getRequestDispatcher("/rooms.jsp");
            dispatcher.forward(request, response);
        }
    }
    

    7.2 创建其他 Servlet:UserServlet, BookingServlet


    8. 创建 JSP 页面

    8.1 index.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>酒店管理系统</title>
    </head>
    <body>
        <h1>欢迎来到酒店管理系统</h1>
        <a href="room">查看房间信息</a><br>
        <a href="user">查看用户信息</a><br>
        <a href="booking">查看预订信息</a>
    </body>
    </html>
    

    8.2 rooms.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
    <head>
        <title>房间信息</title>
    </head>
    <body>
        <h1>房间列表</h1>
        <table border="1">
            <tr>
                <th>编号</th>
                <th>房号</th>
                <th>类型</th>
                <th>价格</th>
                <th>状态</th>
            </tr>
            <c:forEach items="${rooms}" var="room">
                <tr>
                    <td>${room.id}</td>
                    <td>${room.number}</td>
                    <td>${room.type}</td>
                    <td>${room.price}</td>
                    <td>${room.available ? '可用' : '不可用'}</td>
                </tr>
            </c:forEach>
        </table>
    </body>
    </html>
    

    8.3 users.jsp, bookings.jsp 类似


    9. 配置 web.xml 或使用注解映射

    9.1 使用注解(推荐)

    在 Servlet 上添加 @WebServlet("/room") 等注解。

    9.2 或者在 web.xml 中配置:

    <servlet>
        <servlet-name>RoomServlet</servlet-name>
        <servlet-class>com.hotel.controller.RoomServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>RoomServlet</servlet-name>
        <url-pattern>/room</url-pattern>
    </servlet-mapping>
    

    10. 运行项目

    1. 在 Eclipse 中右键项目 → Run As → Run on Server
    2. 选择 Apache Tomcat 9.x 服务器
    3. 访问 http://localhost:8080/hotel-system/index.jsp

    四、重点功能实现说明

    1. 房间管理

    • 查看所有房间
    • 添加新房间
    • 修改房间状态(可用/不可用)
    • 删除房间

    2. 人员管理

    • 添加用户
    • 查看用户信息
    • 编辑用户信息

    3. 预订管理

    • 用户预订房间
    • 查看所有预订
    • 取消预订

    五、代码示例(修改后的)

    示例:添加房间的 Servlet(RoomServlet.java)

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String number = request.getParameter("number");
        String type = request.getParameter("type");
        double price = Double.parseDouble(request.getParameter("price"));
    
        Room room = new Room();
        room.setNumber(number);
        room.setType(type);
        room.setPrice(price);
    
        RoomDAO dao = new RoomDAO();
        dao.addRoom(room);
    
        response.sendRedirect("room");
    }
    

    示例:添加房间的 JSP 页面(add-room.jsp)

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>添加房间</title>
    </head>
    <body>
        <h1>添加房间</h1>
        <form action="room" method="post">
            房号:<input type="text" name="number"><br>
            类型:<input type="text" name="type"><br>
            价格:<input type="text" name="price"><br>
            <input type="submit" value="提交">
        </form>
    </body>
    </html>
    

    六、总结

    | 步骤 | 内容 | |------|------| | 1 | 环境搭建(JDK 11 + Eclipse + Tomcat + MySQL) | | 2 | 数据库设计(房间、人员、预订表) | | 3 | 项目结构(Maven + Servlet + JSP) | | 4 | 数据库连接与操作(JDBC) | | 5 | 实体类、DAO 层、Servlet、JSP 页面开发 | | 6 | 部署运行并测试系统功能 |


    如果你需要完整的源码包或某个模块的详细代码,请告诉我,我可以提供完整版本。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月30日