添加依赖pom.xml文件:到Maven Repository里面寻找Java Servlet API jar包
(Tomca版本问题(如果报错为500

)
-
Tomcat 10+ 把包名从
javax.*改成了jakarta.* - 如果代码还在用
javax.servlet,但Tomcat为10+就找不到这个包 - 错误信息里的
NoClassDefFoundError就是因为包名不匹配
)

更新web.xml配置: (可以上tomcat里面找到对应的xml文件,复制上去)

注意servlet-mapping里面的url-pattern必须斜杠开头
-
只是告诉容器:”我创建了一个名叫 hellow 的 Servlet” - 但没有
告诉容器:”这个 hellow Servlet 应该对应哪个 URL 访问路径”
添加Tomcat时候,分为Tomcat和TomcatEE
区别:
- 用 Tomcat,你需要什么功能,就自己“买”什么“家具”(依赖库)放进去。
- 用 TomEE,开发商(Apache)已经把常用的“家具”(企业级功能)都给你配好了,你直接“拎包入住”就行。
如果报错为405

错误信息说:”此URL不支持Http方法GET”,意思是你的 Servlet 没有正确处理 GET 请求。
问题就在 super.doGet(req, resp) 这行!
调用父类的 doGet() 方法,而父类(HttpServlet)的默认实现就是返回 405 错误。
Maven配置
-
clean:会删除
target目录,清理之前的所有编译文件 - package:会重新编译、测试、打包你的项目
- 成功后会在
target目录下生成:Maven_01_Test.war文件
分析结构:
web.xml文件:
-
.xml:是一种标记语言,用标签来写配置
hellowcom.counter.servlethellow/hellow
- 当用户在浏览器输入
http://localhost:8080/项目名/hellow - Tomcat 就会去找
com.counter.servlet这个类 - 然后执行里面的
doGet()或doPost()方法
总结:web.xml 就是你的”项目说明书”,告诉 Tomcat 服务器你的网站该怎么运行。
pom.xml文件
4.0.0com.counterMaven_01_Test1.0-SNAPSHOTwar2121UTF-8jakarta.servletjakarta.servlet-api6.0.0providedjakarta.servlet.jspjakarta.servlet.jsp-api3.1.1providedMaven_01_Testorg.apache.maven.pluginsmaven-compiler-plugin3.11.0
第一到第五行
com.counterMaven_01_Test1.0-SNAPSHOTwar
2️⃣依赖(第6-8行)
jakarta.servletjakarta.servlet-api6.0.0provided
3️⃣properties(第3行)
21
统一管理各种版本号,以后改版本只改这里
Maven 生命周期
clean → 打扫卫生(删除target文件夹) compile → 编译代码(把.java变成.class) test → 运行测试(如果有测试代码) package → 打包(生成war/jar文件) install → 装到本地仓库(给别的项目用)
常见问题
Q:为什么要用 Maven?
A:不用手动找jar包、不用手动添加依赖、自动下载、统一版本。
Q:provided 是什么意思?
A:”自带材料”——Tomcat 服务器里已经有 Servlet 的jar包了,我打包时不用再塞进去,省空间。
Q:我的项目报错说找不到 Servlet 类?
A:检查 pom.xml 里有没有加 Servlet 依赖!
到此这篇关于Tomcat加Maven配置的文章就介绍到这了,更多相关tomcat maven配置内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!
