IDEA2025 基于 Jakarta EE 开发 Servlet + Thymeleaf 📅 发布时间:2026/7/12 20:13:55 👁️ 浏览次数: 一、前提准备确保 IDEA 已配置JDK 17Servlet 6.0 要求。已配置Tomcat 10Jakarta EE 适配版本Servlet 6.0 需 Tomcat 10.1。项目依赖已正确引入Thymeleaf 3.1.2 Servlet 6.0参考之前的 pom.xml。!-- Thymeleaf依赖 -- dependency groupIdorg.thymeleaf/groupId artifactIdthymeleaf/artifactId version3.1.2.RELEASE/version /dependency !-- lombok依赖 -- dependency groupIdorg.projectlombok/groupId artifactIdlombok/artifactId version1.18.32/version /dependency !-- druid -- dependency groupIdcom.alibaba/groupId artifactIddruid/artifactId version1.2.16/version /dependency !-- mysql驱动 -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.28/version /dependency4. 创建工程二、核心配置步骤步骤 1配置 Thymeleaf 模板路径关键Thymeleaf 的模板文件默认放在src/main/webapp/WEB-INF/templates/下需手动创建目录这一步要确保 Thymeleaf 工具类的模板解析器配置正确步骤 2编写 Servlet 并映射访问路径以「首页页面」为例编写 Servlet 并通过WebServlet注解配置访问路径替代 web.xml 配置更简洁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.servlet.base.CustomTemplateEngine; import java.io.IOException; /** * author : HLX * ClassName :IndexServlet * date : 2026/3/7 15:41 * Version :1.0 * Description: TODO * modyified By : */ WebServlet(name index, value /index) public class IndexServlet extends HttpServlet { Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { CustomTemplateEngine customTemplateEngine CustomTemplateEngine.getInstance(req); req.setAttribute(hello, Servlet Thymeleaf搭建); customTemplateEngine.processTemplate(index, req, resp); } Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }步骤 3创建 Thymeleaf 模板文件在src/main/webapp/WEB-INF/templates/下创建index.html对应 Servlet 中的模板名index!DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.org head meta charsetUTF-8 titleTitle/title /head body Welcome to the index page!p/ h1 th:text${hello}Hello/h1 /body /html步骤 4配置 IDEA 项目部署关键打开 IDEA →Run → Edit Configurations→ 选择 Tomcat 10 配置。切换到Deployment选项卡点击→ 选择Artifact→ 选择你的项目格式为xxx:war exploded必须是「解压后的 war 包」。设置Application context项目访问根路径建议设为/方便访问或自定义如/book02。切换到Server选项卡确保URL是http://localhost:8080/对应 Application context 为/或http://localhost:8080/book02/对应自定义路径。勾选After launch启动后自动打开浏览器。四、常见问题排查访问失败必看问题 1404 错误页面找不到检查 Servlet 注解WebServlet(/index)是否拼写正确。检查 Thymeleaf 模板路径/WEB-INF/templates/index.html是否存在目录名、文件名大小写一致。检查 Tomcat 部署的 Application context 是否正确比如配置了/book02访问时必须加这个前缀。问题 2500 错误页面渲染失败检查 Thymeleaf 工具类的resolver.setPrefix(/WEB-INF/templates/)是否以/开头且路径正确。检查 Servlet 中ThymeleafUtil.process(book/list, ...)的模板名是否和模板文件路径匹配book/list对应templates/book/list.html。检查 Thymeleaf 模板中的表达式是否正确比如${books}是否为 null可加非空判断th:if${not #lists.isEmpty(books)}。问题 3静态资源CSS/JS404静态资源放在src/main/webapp/static/下访问路径为/static/xxx比如/static/lib/bootstrap-3.4.1/css/bootstrap.min.css。确保 Tomcat 部署的是war exploded包静态资源会被正确加载。总结核心路径对应关系Servlet 注解路径WebServlet(/book/list)→ 访问 URLhttp://localhost:8080/book/list。Thymeleaf 模板名book/list→ 模板文件路径/WEB-INF/templates/book/list.html。关键配置Thymeleaf 模板解析器必须正确设置prefix/WEB-INF/templates/和suffix.html。Tomcat 部署需选择war exploded包并配置正确的 Application context。访问规则最终访问 URL Tomcat地址 Application context Servlet映射路径。
2025年5月成都事业编公基 中华民族共同体意识是一个民族赖以维系的精神纽带,是一个国家共同的思想道德基础。()核心价值观是一个民族赖以维系的精神纽带,是一个国家共同的思想道德基础。“信息茧房”描述了个体在海量信息中仅选择与自身兴趣、价值观契合的… 2026/7/12 6:12:25
最近在搞运动控制框架开发,随手撸了个指令表架构的Demo。这个框架最有趣的地方在于程序嵌套执行和硬件抽象设计,咱们边看代码边唠嗑 指令表运动控制软件框架Demo。 1.支持多程序增删改; 2.主程序可调用子程序运行; 3.工程文件可加载,保存,另存为; 4.含仿真界面窗口; 5.目前适配雷赛总线DMC-E3032控制卡为例子,其它卡可自主扩展… 2026/7/12 7:43:38
Solidity 代币和金融工具 2|多签钱包(Multi Sig Wallet) 多签钱包(Multi-Signature Wallet)是一种需要多个私钥持有者共同批准才能执行交易的智能合约。它广泛用于提高资金安全性,避免单点故障(如单个私钥泄露)。在 Solidity 中实现多签钱包,核心思路是࿱… 2026/7/11 10:36:06
如何快速部署PilotGo-plugin-prometheus:5分钟搭建集群监控系统 如何快速部署PilotGo-plugin-prometheus:5分钟搭建集群监控系统 【免费下载链接】PilotGo-plugin-prometheus PilotGo prometheus plugin provides cluster monitor and alert. 项目地址: https://gitcode.com/openeuler/PilotGo-plugin-prometheus 前往项目… 2026/7/12 20:10:09
AI Agent自动客服效果跃迁路径(92.6%首次解决率背后的12项技术栈配置) 更多请点击: https://codechina.net 第一章:AI Agent自动客服效果跃迁路径(92.6%首次解决率背后的12项技术栈配置) 实现92.6%的首次解决率(FCR)并非依赖单一模型突破,而是由12项协同演进的技术… 2026/7/12 20:10:09
Appainter部署教程:从本地开发到生产环境的完整指南 [特殊字符] Appainter部署教程:从本地开发到生产环境的完整指南 🚀 【免费下载链接】appainter A material theme editor and generator for Flutter to configure and preview the overall visual theme of your material app. 项目地址: https://gitcode.com/gh… 2026/7/12 20:08:08
货币资金及交易性金融资产合计23.17亿 一条低俗段子,把上市公司股价干出一字涨停,这你听说过吗?7月2日,网名为“南京路宝宝总”的用户(安某)发布帖子,声称,中公教育一年内涨不到20倍,就兑现低俗承诺。该帖在随… 2026/7/12 20:08:08
如何在Mac上3分钟部署Qwopus3.6-35B-A3B-Coder-bf16?超简单MLX转换教程 [特殊字符] 如何在Mac上3分钟部署Qwopus3.6-35B-A3B-Coder-bf16?超简单MLX转换教程 🚀 【免费下载链接】Qwopus3.6-35B-A3B-Coder-bf16 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Qwopus3.6-35B-A3B-Coder-bf16 想在Mac上快速体验强大的多… 2026/7/12 20:06:07
【Bug已解决】openclaw file watcher crashed / Hot reload not working — OpenClaw 文件监视器崩溃解决方案 【Bug已解决】openclaw: "file watcher crashed" / Hot reload not working — OpenClaw 文件监视器崩溃解决方案 1. 问题描述 OpenClaw 的文件监视器崩溃或热重载不工作: # 文件监视器崩溃 $ openclaw --watch "task" Error: File watcher cra… 2026/7/12 20:06:07
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14