You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署test.war至Tomcat 6后访问出现HTTP 503错误,请求排查问题

解决Tomcat部署后出现HTTP Status 503 - This application is not currently available的问题

先梳理下你的场景:用Eclipse开发Web项目,导出test.war部署到Tomcat的webapps目录,访问localhost:8080/test/servlet时遇到503错误。先贴出你提供的代码方便参考:

你的Servlet代码

package com.jwt.servlet; 
import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class ServletTest extends HttpServlet { 
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
        PrintWriter out = response.getWriter(); 
        out.println("Hello World"); 
    } 
}

你的web.xml配置

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
    <servlet> 
        <servlet-name>ServletTest</servlet-name> 
        <servlet-class>com.jwt.servlet.ServletTest</servlet-class> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>ServletTest</servlet-name> 
        <url-pattern>/servlet</url-pattern> 
    </servlet-mapping> 
</web-app>

从代码来看,Servlet的逻辑和web.xml的配置是没问题的,503错误一般是应用没有成功启动或者Tomcat无法提供该应用服务,给你几个排查方向:

1. 先查Tomcat日志,定位具体故障

这是最关键的一步,Tomcat的日志会直接告诉你应用启动失败的原因。去Tomcat安装目录下的logs文件夹,重点看catalina.out或者localhost.log,找包含test应用的报错信息——比如有没有ClassNotFoundException(说明编译后的class文件没在war包里)、web.xml语法错误,或者其他依赖缺失的问题。

2. 验证war包的完整性

手动解压test.war,检查两个核心点:

  • 确认WEB-INF/classes/com/jwt/servlet/目录下存在ServletTest.class文件,这是Eclipse编译后的类文件,如果缺失,说明导出war包时没把编译产物包含进去;
  • 检查WEB-INF/web.xml的内容是否和你写的一致,有没有XML语法错误(比如标签没闭合、属性写错)。

3. 检查Tomcat中应用的状态

如果你的Tomcat启用了管理控制台(需要提前在conf/tomcat-users.xml配置管理员权限),访问localhost:8080/manager/html,找到test应用,看它的状态是不是stopped。如果是,点击Start按钮手动启动,看看能不能成功。

4. 确认Tomcat本身是否正常运行

先访问localhost:8080,如果Tomcat的默认欢迎页打不开,说明Tomcat服务本身没启动成功:

  • 检查8080端口是否被其他进程占用:Windows用netstat -ano | findstr 8080,Linux/Mac用lsof -i :8080,找到占用进程后关闭它;
  • 重启Tomcat,观察启动窗口的输出,看有没有报错信息。

按照这个顺序排查,基本能快速定位问题。

内容的提问来源于stack exchange,提问作者M.Marquez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:25:05