讲师中心 微信公众号
AI工具推荐 视频效率加速

在Java里如何搭建Web开发环境_JavaServlet与Tomcat说明

落静吖_9457

落静吖_9457

发布时间:2026-01-23 14:01:18

|

482人浏览过

|

来源于php中文网

原创

Java Web开发环境的核心是确保Servlet能被正确加载执行并响应HTTP请求,关键环节为JDK版本匹配、Tomcat部署结构合规、web.xml或注解配置不冲突。

在java里如何搭建web开发环境_javaservlet与tomcat说明

Java Web 开发环境的核心不是装一堆工具,而是让 Servlet 能被正确加载、执行,并响应 HTTP 请求。关键环节只有三个:JDK 版本匹配、Tomcat 部署结构合规、web.xml 或注解配置不冲突。

确认 JDK 与 Tomcat 版本兼容性

新版 Tomcat(如 10.x)默认要求 JDK 11+,且不再支持 javax.servlet.* 包;若你用的是 JDK 17 + Tomcat 10.1,Servlet 类必须导入 jakarta.servlet.*,否则编译报错 package jakarta.servlet does not exist

  • Tomcat 9.x → 支持 JDK 8–15,用 javax.servlet.*
  • Tomcat 10.0+ → 强制 jakarta.servlet.*,且 Servlet API 从 4.0 升级到 5.0+
  • Maven 依赖需同步调整:tomcat-servlet-api 已废弃,改用 jakarta.servlet-api
<dependency>
  <groupId>jakarta.servlet</groupId>
  <artifactId>jakarta.servlet-api</artifactId>
  <version>5.0.0</version>
  <scope>provided</scope>
</dependency>

手动部署 Servlet 到 Tomcat 的目录结构不能错

直接把 class 文件扔进 webapps/ROOT/WEB-INF/classes 是常见错误——缺 web.xml 或路径不对,Tomcat 根本不会扫描它。标准结构必须包含:

  • webapps/myapp/WEB-INF/web.xml(或使用 @WebServlet 注解)
  • webapps/myapp/WEB-INF/classes/com/example/HelloServlet.class
  • webapps/myapp/WEB-INF/lib/(如有第三方 jar)

注意:WEB-INF 必须大写,且不能放在 classes 下面;web.xml 中的 <servlet-class> 必须是完整类名(如 com.example.HelloServlet),包路径和 class 文件实际位置要严格一致。

立即学习Java免费学习笔记(深入)”;

Alibabacloud Sdk Client Initialization For Java
Alibabacloud Sdk Client Initialization For Java

在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。

下载

@WebServlet 注解比 web.xml 更简单,但有隐含限制

@WebServlet("/hello") 可省去 web.xml,但只在以下情况生效:

  • 项目打包为 .war 并部署到 Tomcat,或直接用 IDE(如 IntelliJ)以 “Exploded” 模式运行
  • Servlet 类必须被 Tomcat 的类加载器加载(即不能放在 lib 外部的任意路径)
  • Tomcat 7+ 默认启用注解扫描;若关闭了(如在 context.xml 中设 scanClassPath="false"),注解会失效

典型错误:本地测试时用 java -cp ... HelloServlet 直接运行,@WebServlet 完全不触发——它依赖容器启动时的类扫描机制,不是 JVM 原生特性。

启动后 404 或 405 错误,先查日志再调代码

Tomcat 启动成功不代表 Servlet 就绪。最常忽略的是日志路径:logs/catalina.outlogs/localhost.<date>.log</date> 才记录 Servlet 初始化失败原因。

  • 404:路径没映射上 → 检查 URL 是 http://localhost:8080/myapp/hello 还是 /hello(上下文路径是否遗漏)
  • 405 Method Not Allowed:Servlet 没重写对应方法(如只写了 doGet() 却用 POST 请求)
  • 控制台无任何 “Servlet.init” 日志 → 类根本没被加载,检查 WEB-INF/classes 下 class 是否存在、包路径是否拼错

复杂点在于:IDE 内嵌 Tomcat 和独立安装的 Tomcat 行为可能不一致——前者常自动处理 output directory 映射,后者完全依赖你手建的目录结构。别信“能跑就行”,部署前务必用独立 Tomcat 验证一次。

热门AI工具

更多
Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
如何配置Tomcat环境变量
如何配置Tomcat环境变量

配置Tomcat环境变量需要在系统中添加CATALINA_HOME变量,并将Tomcat的安装路径添加到PATH变量中。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

625

2023.10.26

idea如何集成Tomcat
idea如何集成Tomcat

idea集成Tomcat的步骤:1、添加Tomcat服务器配置;2、配置项目部署;3、运行Tomcat服务器;4、访问项目;5、注意事项;6、关闭Tomcat服务器。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

264

2024.02.23

怎么查看Tomcat源代码
怎么查看Tomcat源代码

查看Tomcat源代码的步骤:1、下载Tomcat源代码;2、在IDEA中导入Tomcat源代码;3、查看源代码;4、理解Tomcat的工作原理;5、参与社区和贡献;6、注意事项;7、持续学习和更新;8、使用工具和插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

469

2024.02.23

常见的tomcat漏洞有哪些
常见的tomcat漏洞有哪些

常见的tomcat漏洞有:1、跨站脚本攻击;2、跨站请求伪造;3、目录遍历漏洞;4、缓冲区溢出漏洞;5、配置漏洞;6、第三方组件漏洞。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

265

2024.02.23

tomcat日志乱码怎么解决
tomcat日志乱码怎么解决

tomcat日志乱码的解决办法:1、修改tomcat的日志编码设置;2、检查ide的编码设置;3、检查操作系统的编码设置;4、使用过滤器处理日志;5、检查外部系统的编码设置;6、检查文件编码方式等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

328

2024.02.23

weblogic和tomcat有哪些区别
weblogic和tomcat有哪些区别

weblogic和tomcat的区别:1、功能;2、性能;3、规模;4、价格;5、安全性;6、配置和管理;7、社区支持;8、集成能力;9、升级和更新;10、可靠性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

329

2024.02.23

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

541

2024.02.23

tomcat启动闪退怎么解决
tomcat启动闪退怎么解决

tomcat启动闪退的解决办法:1、检查java环境;2、检查环境变量配置;3、检查端口被占用;4、检查配置文件编码;5、检查启动时需要的配置文件;6、检查相关文件是否丢失;7、检查防火墙和杀毒软件设置。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

302

2024.02.23

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

0

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn