返回

前端开发:Tomcat+Servlet+Thymeleaf+JDBC+MySQL,数据库到网页的完美演绎

前端

在网页上操作您的水果库存系统:使用 JDBC、Servlet 和 Thymeleaf

简介

在前面的博客文章中,我们从头开始构建了一个水果库存系统,利用 JDBC 与 MySQL 数据库交互。虽然该系统在功能上是完善的,但它的交互界面过于简单,只能在控制台上操作。本教程将指导您将水果库存系统升级到一个功能齐全的基于 Web 的应用程序,让您可以在网页上轻松管理库存。

技术栈

  • Tomcat 服务器
  • Servlet 组件
  • JDBC 连接 MySQL
  • Thymeleaf 模板引擎

步骤 1:创建 Tomcat 项目

首先,创建一个项目文件夹(例如:project),并在其中创建两个子文件夹:WEB-INFwebapps

步骤 2:编写 Servlet

WEB-INF 文件夹中创建包(例如:com.example.servlet),并在该包下创建 IndexServlet.java 文件:

// 省略无关代码

// 该Servlet负责处理主页请求
@WebServlet(value = "/")
public class IndexServlet extends HttpServlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        // 获取所有水果信息
        List<Fruit> fruits = fruitService.findAll();

        // 将水果信息设置到请求中
        req.setAttribute("fruits", fruits);

        // 请求转发到主页
        req.getRequestDispatcher("/WEB-INF/views/index.html").forward(req, resp);
    }
}

步骤 3:创建 Thymeleaf 模板

webapps 文件夹中创建一个名为 WEB-INF 的文件夹,并在该文件夹下创建一个名为 views 的文件夹。然后,在 views 文件夹下创建一个 index.html 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
    <h1>水果库存系统</h1>
    <table border="1">
        <thead>
            <tr>
                <th>水果名称</th>
                <th>水果价格</th>
                <th>水果数量</th>
            </tr>
        </thead>
        <tbody>
            <#list fruits as fruit>
                <tr>
                    <td>${fruit.name}</td>
                    <td>${fruit.price}</td>
                    <td>${fruit.count}</td>
                </tr>
            </#list>
        </tbody>
    </table>
</body>
</html>

步骤 4:启动 Tomcat

回到 project 文件夹,执行 mvn clean install 命令打包项目。然后,转到 target 文件夹并运行 tomcat:run 命令启动 Tomcat。

现在,您就可以在网页上访问您的应用程序了!

结论

通过本教程,您学习了如何将 MySQL 数据库中的数据连接到网页,让您可以在更方便的用户界面中管理水果库存。您还了解了 Servlet 和 Thymeleaf 等技术,它们是 Java Web 开发的重要组成部分。虽然本文介绍了基于 Web 的水果库存系统的基础知识,但您可以进一步扩展它,添加更多功能,例如水果添加、更新和删除,让您的库存管理系统更加完善。

常见问题解答

  1. 我需要哪些先决条件才能运行这个应用程序?
    • Java 开发套件 (JDK)
    • Apache Tomcat 服务器
    • MySQL 数据库
  2. 如何自定义表格的样式?
    • 您可以在 index.html 文件中使用 CSS 样式来调整表格的外观。
  3. 如何添加水果添加功能?
    • 您需要创建另一个 Servlet 来处理水果添加请求,并更新数据库以保存新水果信息。
  4. 我可以在没有 Thymeleaf 的情况下创建这个应用程序吗?
    • 是的,可以使用 JSP (Java Server Pages) 等其他模板引擎。
  5. 我可以将该应用程序部署到生产环境吗?
    • 是的,您可以将打包好的 WAR 文件部署到生产服务器上的 Tomcat 或其他应用程序服务器。