亚大伯斯 2025-05-01 19:55 采纳率: 97.9%
浏览 81
已采纳

在 IDEA 中运行 JSP 项目时常见的技术问题: **“Tomcat 配置完成后,JSP 页面显示 404 错误如何解决?”**

在 IntelliJ IDEA 中运行 JSP 项目时,如果 Tomcat 配置完成后访问 JSP 页面出现 404 错误,可能是以下原因导致:1) 项目部署路径配置错误;2) web.xml 文件未正确配置或缺失;3) JSP 文件未放置在正确的目录(如 webapp 或 WebContent);4) Tomcat 的 artifact 配置不完整;5) URL 地址输入错误。解决方法包括:检查项目的 artifact 配置是否包含正确的输出目录,确保 Tomcat 的 context path 设置无误;验证 web.xml 是否符合规范并正确映射资源;确认 JSP 文件存放在 WEB-INF 的上层目录;最后重启 Tomcat 并清理缓存。通过以上步骤可有效定位和解决问题。
  • 写回答

1条回答 默认 最新

  • 大乘虚怀苦 2025-05-01 19:55
    关注

    在 IntelliJ IDEA 中运行 JSP 项目时解决 Tomcat 配置后出现 404 错误的全面指南

    1. 常见原因分析

    访问 JSP 页面出现 404 错误可能由多种原因导致。以下是常见的五个方面:

    • 项目部署路径配置错误:如果 IntelliJ IDEA 的 artifact 配置不正确,可能导致项目无法正常部署到 Tomcat。
    • web.xml 文件未正确配置或缺失:作为 Servlet 容器的核心配置文件,web.xml 的任何错误都会影响页面加载。
    • JSP 文件未放置在正确的目录:JSP 文件必须存放在特定的目录(如 webapp 或 WebContent)下,否则无法被正确解析。
    • Tomcat 的 artifact 配置不完整:IntelliJ IDEA 的 artifact 设置若不包含输出目录,则会导致项目结构异常。
    • URL 地址输入错误:如果请求路径与实际部署路径不符,将直接返回 404 错误。

    2. 解决方案详解

    针对上述问题,以下为逐步排查和解决的方法:

    2.1 检查项目的 artifact 配置

    确保 artifact 配置中包含正确的输出目录:

    1. 打开 IntelliJ IDEA 的 File -> Project Structure -> Artifacts
    2. 确认是否已添加 Web Application 并设置正确的输出路径。
    3. 检查输出路径是否指向项目的 WEB-INF 上层目录。

    2.2 确保 Tomcat 的 context path 设置无误

    Tomcat 的上下文路径配置直接影响 URL 请求的匹配:

    步骤操作
    1进入 Run/Debug Configurations
    2在 Deployment 标签下选择正确的 artifact。
    3验证 Application context 是否与项目名称一致。

    2.3 验证 web.xml 文件

    web.xml 是 Servlet 规范的核心配置文件,需确保其符合规范并正确映射资源:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
        <servlet>
            <servlet-name>exampleServlet</servlet-name>
            <servlet-class>com.example.MyServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>exampleServlet</servlet-name>
            <url-pattern>/example</url-pattern>
        </servlet-mapping>
    </web-app>

    2.4 确认 JSP 文件存放位置

    JSP 文件必须存放在 WEB-INF 的上层目录,例如 webappWebContent

    示例目录结构:

    myProject/
    ├── src/
    ├── webapp/
    │   ├── index.jsp
    │   └── WEB-INF/
    │       └── web.xml
    

    3. 流程图说明

    以下流程图展示了从问题发现到最终解决的整体步骤:

    graph TD; A[出现 404 错误] --> B{检查 artifact 配置}; B --是--> C{验证 web.xml}; B --否--> D{检查 JSP 路径}; C --是--> E{调整 context path}; C --否--> F{清理缓存}; D --是--> G{重启 Tomcat}; D --否--> H{重新部署};

    4. 最终步骤

    完成以上所有检查后,执行以下操作以确保问题彻底解决:

    • 重启 Tomcat 服务。
    • 清理 IntelliJ IDEA 的缓存(File -> Invalidate Caches / Restart)。
    • 重新构建项目并重新部署到 Tomcat。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 5月1日