在 IntelliJ IDEA 中创建一个包含 JSP 和 Servlet6.0 的 Maven Web 项目,并配置 Tomcat 进行调试

前提条件: 配置Maven

在设置中,选择自己下载的Maven文件.并配置上.

maven下载和设置可以参考https://chxii.blog.ZEEKLOG.net/article/details/148175538?spm=1011.2415.3001.5331

第一步:创建 Maven Web 项目

  1. 打开 IntelliJ IDEA → FileNewProject
  2. 选择 Maven(左侧)
  3. 勾选 Create from archetype
  4. 在 archetype 列表中选择:
    • maven-archetype-webapp(这是标准的 Java Web 项目模板)
  5. 点击 Next
  6. 填写 GroupId、ArtifactId(例如):
    • GroupId: com.example
    • ArtifactId: mywebapp
  7. 点击 Finish
⚠️ 第一次创建可能较慢(需下载 archetype)

第二步:完善项目结构(手动补充缺失目录)

默认生成的项目可能缺少 Java 源码目录和测试目录:

  1. 在 src/main 下右键 → New → Directory → 输入 java(作为 Java 源码目录)
  2. (可选)同样创建 src/test/java 并标记为 Test Sources Root

右键 java 目录 → Mark Directory as → Sources Root

最终结构应类似:

mywebapp/ ├── src/ │ ├── main/ │ │ ├── java/ ← Java 源码(Servlet) │ │ ├── resources/ │ │ └── webapp/ ← JSP、HTML、WEB-INF │ │ ├── WEB-INF/ │ │ │ └── web.xml │ │ └── index.jsp └── pom.xml

看下项目结构

确保xml文件位置 和 webapp目录位置正确


第三步:配置 pom.xml

添加 Servlet API 依赖(注意:provided,因为 Tomcat 已提供):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>mywebapp</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- Servlet API (provided by Tomcat) --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>mywebapp</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> </plugin> </plugins> </build> </project>

第四步:编写一个简单 Servlet 和 JSP

1. 创建 Servlet(在 src/main/java/com/example/ServletDemo1.java

package com.example; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; public class ServletDemo1 extends jakarta.servlet.http.HttpServlet { private static final long serialVersionUID = 1L; @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().println("Hello World"); } } 

2. 修改 webapp/index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Home</title></head> <body> <h1>Welcome to My Web App!</h1> </body> </html>
注意:如果不用注解(@WebServlet),需在 web.xml 中配置 servlet 映射。

3. 修改web.xml 

在web.xml 里,修改成servlet6.0的模版

并且配置上servlet访问路径

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" version="6.0" metadata-complete="false"> <!-- 示例:注册一个 Servlet --> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.example.ServletDemo1</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> <!-- 可选:设置欢迎页面 --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 

第五步:配置 Tomcat 调试运行

  1. 点击 Configure...,指定你的 Tomcat 安装目录

点击左上角 + → 选择 Tomcat Server → Local

如果没有 Tomcat 选项,请确认你使用的是 Ultimate 版

点击右上角 → Edit Configurations...

  1. 在 Deployment 标签页:
    • 点击 + → 选择 Artifact
    • 选择 mywebapp:war exploded(推荐使用 exploded 方便热部署)
    • Application context 可设为 / 或 /mywebapp
  2. 回到 Server 标签页:
    • HTTP port 默认 8080(可改)
    • JRE 选择项目对应的 JDK

点击 OK


第六步:启动并调试

  • 点击 ▶️ 运行按钮(或 Debug 按钮)
  • IDEA 会自动编译、打包、部署到 Tomcat
  • 浏览器访问:
    • http://localhost:8080/ → 显示 index.jsp ( Welcome to My Web App! )
    • http://localhost:8080/hello → 显示 ( hello world )

✅ 你可以在 ServletDemo1中打 断点,点击 Debug 模式启动,即可调试!


使用maven插件运行 

参考vscode里的配置https://blog.ZEEKLOG.net/chxii/article/details/154356950?sharetype=blogdetail&sharerId=154356950&sharerefer=PC&sharesource=chxii&spm=1011.2480.3001.8118

补充

Java EE 原由 Oracle 主导,现移交 Eclipse Foundation 管理,并更名为 Jakarta EE。为避免商标问题并体现社区主导,强制更改了命名空间。

以下是关键时间节点:


📅 2017 年 8 月

  • Oracle 宣布计划将 Java EE 移交给开源社区。
  • Oracle 表示希望找到一个中立的、成熟的开源基金会来接管 Java EE,以加速其创新和开放治理。

📅 2017 年 9 月

  • Oracle 正式提名 Eclipse Foundation 作为 Java EE 的新归属机构。
  • IBM、Red Hat 等主要 Java 企业也公开支持这一决定。

📅 2017 年 10 月 24 日

  • Oracle 官方正式宣布:将 Java EE 及其参考实现 GlassFish 移交给 Eclipse Foundation
  • 同时明确:由于商标限制,不能继续使用 “Java” 品牌,因此需要更名。

📅 2018 年 3 月

  • Eclipse 基金会发起命名投票,“Jakarta EE” 以 64.4% 的得票率胜出。
  • Java EE 正式更名为 Jakarta EE

📅 2018 年 5 月

  • 项目在 Eclipse 基金会下正式启动,包括:
    • Eclipse Enterprise for Java (EE4J) 项目
    • GlassFish 更名为 Eclipse GlassFish
    • 所有规范逐步迁移到 jakarta.* 命名空间

📅 2019 年 9 月

  • Jakarta EE 8 发布 —— 这是第一个由 Eclipse 基金会发布的版本,API 与 Java EE 8 完全兼容,仅变更了项目归属和流程,包名仍为 javax.*

📅 2021 年 5 月

  • Jakarta EE 9 发布 —— 包名正式从 javax.* 改为 jakarta.*,标志着技术栈的彻底迁移。

 拥抱 Java 生态的未来方向

  • Jakarta EE 是 Java 企业级开发的官方继承者
  • Spring Boot 3(2022 年底发布)已全面转向 Jakarta EE 9+,要求使用 jakarta.* 包。
  • 未来的 Java 框架、工具链和云原生平台(如 Quarkus、Helidon)都基于 Jakarta EE 构建。
💡 如果你计划使用 Spring Boot 3+、JDK 21+ 长期支持版本,就必须迁移到 jakarta.*


总结:为何推荐?

原因说明
✅ 兼容性支持 Tomcat 10+、Spring Boot 3+ 等现代技术栈
✅ 安全性获得持续维护和漏洞修复
✅ 未来就绪对齐 Jakarta EE 和云原生发展方向
✅ 降低风险避免被旧技术栈锁定,减少后期迁移成本
🔜 结论:除非你必须长期停留在 Tomcat 9 / Spring Boot 2.x 等旧环境,否则强烈建议新项目直接使用 jakarta.servlet,老项目尽早规划迁移

Read more

AI绘画新手入门到进阶全攻略:提示词+工具+实战,看完就能出图

AI绘画新手入门到进阶全攻略:提示词+工具+实战,看完就能出图

AI绘画已成为自媒体、电商运营、设计师的必备高效工具,但很多新手刚接触时会陷入“关键词堆了一堆,出来的图却杂乱无章”的困境。本文结合主流AI绘画工具(稿定AI绘画、Stable Diffusion WebUI),从工具选型、核心提示词技巧,到3个高频场景实战,再到常见问题解决,全程干货无废话,新手跟着操作就能快速产出高质量配图。 一、新手必看:2款主流AI绘画工具选型(附优缺点对比) 新手无需盲目追求复杂工具,优先根据需求选择适配工具可大幅提升效率。以下2款工具覆盖“零门槛上手”和“开源可定制”核心需求,按需挑选即可: 1.1 稿定AI绘画(新手首选,零配置) 核心优势:零配置,浏览器/APP直接使用;内置国潮、治愈系等海量风格模板;支持参考图风格迁移,新手3分钟出图。适用场景:自媒体配图、PPT插图、电商主图快速制作。缺点:自定义模型等高级功能需付费,个性化定制度较低。

LeRobot故障排除:5分钟快速定位机器人异常

LeRobot故障排除:5分钟快速定位机器人异常 【免费下载链接】lerobot🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot 当机器人突然停止响应,你是否感到手足无措?别担心,掌握LeRobot框架的故障排查技巧,就能让机器人快速恢复正常工作。本文专为新手和普通用户设计,带你轻松应对常见的机器人异常情况。 系统健康检查:从基础开始 在深入排查之前,先进行基础检查。LeRobot提供了多个诊断工具,可以快速评估系统状态。 摄像头连接状态检测 摄像头是机器人的"眼睛",连接问题最为常见。使用lerobot-find-cameras命令,系统会自动扫描所有可用摄像头设备,并显示它们的连接状态和基本信息。 常见症状: * 画面卡顿或完全黑屏 * 深度传感器数据异常 * 系统提示"TimeoutError"

WebUI LiuMo Batch:下一代AIGC工作流批量生成平台深度解析

WebUI LiuMo Batch:下一代AIGC工作流批量生成平台深度解析

WebUI LiuMo Batch:下一代AIGC工作流批量生成平台深度解析 引言:AIGC工作流优化的新范式 在当今人工智能生成内容(AIGC)爆炸式增长的时代,Stable Diffusion等文生图模型已成为创意工作者和研究人员的重要工具。然而,随着应用场景的不断扩展,传统WebUI的单张图像生成模式已难以满足批量生产、参数对比和工作流管理的复杂需求。正是在这样的背景下,WebUI LiuMo Batch应运而生,它将工作流思维与批量处理能力深度融合,为AIGC创作提供了全新的解决方案。 WebUI LiuMo Batch是由开发者liudef06与DeepSeek v3.2 AI共同打造的创新型批量生成平台,基于现代Web技术栈构建,充分利用了Stable Diffusion WebUI的API接口,通过多标签页管理、JSON配置驱动和智能队列系统三大核心机制,彻底改变了用户与AI图像生成模型的交互方式。本文将从项目架构、核心代码、功能特性、应用场景等多个维度对这一开源项目进行全面剖析。 一、项目概述与核心价值 1.1 项目定位与特色 WebUI LiuMo

Qwen3-32B开源模型+Clawdbot=高效AI工作流:Web网关配置与Prompt工程结合教程

Qwen3-32B开源模型+Clawdbot=高效AI工作流:Web网关配置与Prompt工程结合教程 1. 为什么需要这个组合:从“能用”到“好用”的关键跃迁 你有没有遇到过这样的情况:好不容易本地跑起了Qwen3-32B,Ollama也顺利加载了模型,可一到实际使用环节就卡壳——API调不通、前端连不上、提示词一发过去,回复要么跑题、要么啰嗦、要么干脆沉默?这不是模型不行,而是缺了一层“智能连接器”。 Clawdbot就是这个连接器。它不替代Qwen3-32B,也不重写Ollama,而是以极轻量的方式,把大模型能力“翻译”成真正可用的对话服务。它像一个懂行的调度员:知道什么时候该把用户问题精准传给Qwen3,什么时候该拦截无效请求,什么时候该用预设模板帮用户补全提示词,甚至能在用户还没打完字时,就悄悄准备好上下文。 更重要的是,它不依赖云服务、不上传数据、不走公网——所有流量都在你自己的内网里闭环流转。8080端口进,18789网关出,中间没有第三方中转,也没有配置复杂的反向代理规则。这种“直连式网关”设计,让部署变得像启动一个本地应用一样简单,