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 运行时的更新方式

六、运行

相关推荐
思想在飞肢体在追15 分钟前
Springboot项目配置Nacos
java·spring boot·后端·nacos
cyforkk17 分钟前
09、Java 基础硬核复习:异常处理(容错机制)的核心逻辑与面试考点
java·数据库·面试
??(lxy)38 分钟前
java高性能无锁队列——MpscLinkedQueue
java·开发语言
数研小生42 分钟前
Full Analysis of Taobao Item Detail API taobao.item.get
java·服务器·前端
Wang15301 小时前
Java编程基础与面向对象核心概念
java
毕设源码-郭学长1 小时前
【开题答辩全过程】以 康复管理系统为例,包含答辩的问题和答案
java
毅炼1 小时前
hot100打卡——day17
java·数据结构·算法·leetcode·深度优先
winfreedoms1 小时前
java-网络编程——黑马程序员学习笔记
java·网络·学习
开开心心就好2 小时前
键盘改键工具免安装,自定义键位屏蔽误触
java·网络·windows·随机森林·计算机外设·电脑·excel
IManiy2 小时前
总结之Temporal全局速率控制(二)第三方速率控制服务设计
java