IDEA2025 搭建Web并部署到Tomcat运行Servlet+Thymeleaf

一、创建maven项目

二、pom.xml文件依赖包

XML 复制代码
  <dependencies>
        <!-- JUnit依赖 -->
        <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>5.9.2</version>
                <scope>test</scope>
        </dependency>
        <!-- Servlet依赖 -->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
        </dependency>
        <!-- Thymeleaf依赖 -->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>

        <!-- lombok依赖 -->
        <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.32</version>
        </dependency>
    </dependencies>

三、选择File | Project Structrue | Facets | + 添加Web

选择模块

如图所示:web

四、编写HMTL页面和Servlet

(1) my.html

html 复制代码
<!DOCTYPE html>
<!--导入thymeleaf命名空间-->
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
 <div th:text="访问动态Thymeleaf页面">欢迎访问首页</div>
  <!-- 请求域取值-->
 <div th:text="${name}">张三</div>
</body>
</html>

(2) MyServlet.java 类 (CustomTemplateEngine类 略)

java 复制代码
package org.hlx.servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.hlx.thymeleaf.CustomTemplateEngine;
import org.thymeleaf.context.Context;

import java.io.IOException;

@WebServlet("/my")
public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet()方法执行...");
        // 获取模板引擎对象
        CustomTemplateEngine templateEngine = CustomTemplateEngine.getInstance(req);
        // 创建数据模型,即将要传递给Thymeleaf的数据
        req.setAttribute("name", "张三");

        // 处理请求并响应结果
        templateEngine.processTemplate("my", req, resp);
    }

   protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

五、配置Tomcat10

(1)找到Edit Configurations...

(2)Tomcat Server | Local

(3) 选择已安装好的Tomcat10.1.41

(4) File | Project Structrue | Artifacts| + 添加Web部署

(5)可以修改部署文件名: Application context:

(6) 配置Tomcat VM options: 出现乱码

-Dfile.encoding=UTF-8

(7)配置Tomcat 运行时的更新方式

六、运行

相关推荐
毕设源码-郭学长43 分钟前
【开题答辩全过程】以 基于SpringBoot技术的美妆销售系统为例,包含答辩的问题和答案
java·spring boot·后端
梨落秋霜1 小时前
Python入门篇【文件处理】
android·java·python
Java 码农1 小时前
RabbitMQ集群部署方案及配置指南03
java·python·rabbitmq
哈库纳玛塔塔1 小时前
放弃 MyBatis,拥抱新一代 Java 数据访问库
java·开发语言·数据库·mybatis·orm·dbvisitor
S***q3772 小时前
Spring Boot管理用户数据
java·spring boot·后端
天“码”行空2 小时前
java面向对象的三大特性之一多态
java·开发语言·jvm
毕设源码-郭学长2 小时前
【开题答辩全过程】以 基于SpringBoot框架的民俗文化交流与交易平台的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
好大哥呀3 小时前
Java Web的学习路径
java·前端·学习
f***14773 小时前
SpringBoot实战:高效实现API限流策略
java·spring boot·后端
on the way 1233 小时前
day06-SpringDI 依赖注入
java·spring