Tomcat 部署后无法访问 Servlet,出现 404 的原因及解决方案

在使用 Tomcat 部署 Java Web 项目时,我们可能会遇到 静态页面(如 login.html)可以正常访问,但 Servlet 访问时报 404 的问题。这次我在自己的项目 request-demo 部署时就遇到了这个情况,发现 Tomcat 自动将项目名称中的 -(连字符)替换为了 _(下划线),导致 Servlet 访问路径变更,最终引发 404 错误。

点击确定之后

这里的_war后缀可以去掉

本文将详细分析这个问题的原因,并提供相应的解决方案,帮助大家在遇到类似问题时能快速定位和修复。

1. 问题描述

我的 Web 项目名是 request-demo,正常情况下,应该可以通过以下路径访问:

• 静态页面(正常访问 ✅):

htt
### 如何在Java Web应用中部署Servlet工件 #### 准备工作 为了成功部署Servlet工件,在开始之前需确保拥有一个完整的Java Web项目结构。这包括但不限于`web.xml`配置文件以及编写好的Servlet类[^2]。 #### 打包过程 对于Java Web应用程序而言,通常会将其打包成WAR(Web Application Archive)格式而非JAR。这是因为WAR专门设计用来封装Web组件及其资源,使之能够被像Apache Tomcat这样的Servlet容器识别并执行。通过Maven构建工具可以方便地完成这一操作: ```groovy pipeline { agent any stages { stage('Build') { steps { // 清理旧版本并创建新的WAR包 sh 'mvn clean package' } } stage('Archive') { steps { // 存档生成的WAR文件以便后续使用或分发 archiveArtifacts artifacts: 'target/*.war', fingerprint: true } } } } ``` 上述脚本展示了如何利用Jenkins Pipeline配合Maven来自动化WAR包的构建与存档流程[^4]。 #### 部署Tomcat 一旦拥有了WAR包,则可以通过多种方式将其部署Tomcat服务器上。最简单的方法之一就是直接将WAR文件复制到Tomcat安装目录下的`webapps`文件夹内;随后启动Tomcat服务端口,默认情况下可通过访问`http://localhost:8080/YourAppContextPath`查看已部署的应用效果[^3]。 例如,如果目标路径设置为`chapter03/HelloWorldServlet`,那么应该能在浏览器地址栏输入`http://localhost:8080/chapter03/HelloWorldServlet`后看到预期的结果页面。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值