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

NetBeans中Tomcat运行JSP报404请求资源不可用的解决方法

JSP访问返回404问题排查记录

问题现象

在NetBeans中使用Tomcat运行.jsp文件时触发404报错:
404报错截图
问题特征:

  • 仅访问.jsp文件时触发错误,访问.html文件无任何异常
  • 多环境复现:NetBeans 13、NetBeans 8.2两个版本,分别搭配Tomcat、GlassFish服务器运行,均出现相同错误
  • 服务器启动无明显报错,启动流程正常完成

项目结构如下:
项目结构截图

相关配置与文件

测试JSP文件内容

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

Context配置文件内容

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/WebApplication1"/>

Tomcat启动日志

Using CATALINA_BASE:   "G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81"
Using CATALINA_HOME:   "G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81"
Using CATALINA_TMPDIR: "G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81\temp"
Using JRE_HOME:        "G:\Program Files\Java\jdk1.8.0_331"
Using CLASSPATH:       "G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81\bin\bootstrap.jar;G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
14-Jun-2022 22:45:59.386 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本名称: Apache Tomcat/8.5.81
14-Jun-2022 22:45:59.401 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:                      Jun 8 2022 21:30:15 UTC
14-Jun-2022 22:45:59.401 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号:     8.5.81.0
14-Jun-2022 22:45:59.401 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:                           Windows 10
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统版本:      10.0
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 系统架构:                      amd64
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:                         G:\Program Files\Java\jdk1.8.0_331\jre
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:                       1.8.0_331-b09
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM厂商:                       Oracle Corporation
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:                     G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:                     G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Djava.util.logging.config.file=G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81\conf\logging.properties
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Dhttp.nonProxyHosts=localhost|127.0.0.1|SALOMON-PC
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Djdk.tls.ephemeralDHKeySize=2048
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Dignore.endorsed.dirs=
14-Jun-2022 22:45:59.402 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Dcatalina.base=G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81
14-Jun-2022 22:45:59.403 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Dcatalina.home=G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81
14-Jun-2022 22:45:59.403 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument:             -Djava.io.tmpdir=G:\Program Files\apache-tomcat-8.5.81-windows-x64\apache-tomcat-8.5.81\temp
14-Jun-2022 22:45:59.403 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 已加载Apache Tomcat原生APR库[1.2.33],APR版本为[1.7.0]
14-Jun-2022 22:45:59.403 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR能力: IPv6 [true], 文件发送 [true], 接收过滤器 [false], 随机数 [true], UDS [{4}]
14-Jun-2022 22:45:59.403 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置: useAprConnector [false], useOpenSSL [true]
14-Jun-2022 22:45:59.491 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL初始化成功 [OpenSSL 1.1.1o  3 May 2022]
14-Jun-2022 22:45:59.993 信息 [main] org.apache.coyote.AbstractProtocol.init 正在初始化协议处理器["http-nio-8080"]
14-Jun-2022 22:46:00.016 信息 [main] org.apache.catalina.startup.Catalina.load 初始化处理完成,耗时959 ms
14-Jun-2022 22:46:00.093 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
14-Jun-2022 22:46:00.093 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动Servlet引擎: [Apache Tomcat/8.5.81]
(后续异常栈与部署日志保留原始技术字段不变)
14-Jun-2022 22:46:01.088 信息 [main] org.apache.catalina.startup.Catalina.start 服务器启动完成,耗时1071 ms

验证有效的解决方案

将.jsp首页文件名修改为全小写的index.jsp即可解决该问题。

根因说明:Tomcat、GlassFish等Java Web服务器默认的欢迎页匹配规则对文件名大小写敏感,默认仅识别全小写的index系列文件作为首页,使用大写、驼峰等其他命名格式的首页文件不会被自动匹配,直接访问项目根路径时就会返回404错误。

内容的提问来源于stack exchange,提问作者Samir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:21:28