2401_83908026 2025-07-28 10:03 采纳率: 0%
浏览 25

IDEA中运行JSP文件,启动Tomcat运行正常,对编译代码右键网页显示404。

IDEA中运行JSP文件,启动Tomcat网页运行正常,但对.jsp编译代码右键网页显示404。

img

img

img

img

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-07-28 10:04
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    在使用 IntelliJ IDEA 运行 JSP 文件 时,如果 Tomcat 启动正常,但通过浏览器访问 .jsp 页面时出现 404 错误,可能是由于以下几个原因导致的。下面我将详细说明问题的原因,并提供解决方案


    ✅ 一、常见原因分析

    1. 项目结构配置错误

      • JSP 文件未被正确部署到 Tomcat 的 webapp 目录中。
      • 没有正确设置 Web 应用程序的根目录(Web Resource Directories)。
    2. Servlet 映射或 URL 路径错误

      • 如果是通过 Servlet 访问 JSP,可能没有正确配置映射路径。
      • 或者直接访问 JSP 文件时,URL 路径不正确。
    3. Tomcat 配置问题

      • 部署的上下文路径(Context Path)与实际访问路径不一致。
      • 部署的 Web 应用未被正确加载。
    4. IDEA 缓存问题

      • IDEA 缓存了旧版本的部署文件,导致新修改的 JSP 未被正确部署。

    ✅ 二、解决方案

    1. 检查项目结构和 Web 资源目录

    • 步骤:
      1. 打开 Project StructureFile > Project Structure)。
      2. Project Settings > Modules 中选择你的模块。
      3. 点击 Sources 标签页,确认 Web Resource Directories 是否包含你存放 JSP 文件的目录(如 webappWEB-INF/jsp)。
      4. 如果没有,点击 + 添加对应的 Web 资源目录。

    重点:确保 JSP 文件位于正确的 Web 资源目录下,否则不会被部署到 Tomcat。


    2. 检查 Tomcat 的部署配置

    • 步骤:
      1. 打开 Run/Debug ConfigurationsRun > Edit Configurations)。
      2. 选择你的 Tomcat 配置。
      3. Deployment 标签页中,确认是否添加了你的 Web 应用(如 YourApp:war)。
      4. 确保 Application context 设置为正确的上下文路径(例如 /myapp)。

    重点:确保应用上下文路径与你在浏览器中输入的 URL 匹配。


    3. 检查 JSP 文件的访问路径

    • 示例:
      • 假设你的 JSP 文件位于 src/main/webapp/index.jsp
      • 访问地址应为:http://localhost:8080/your-app-context/index.jsp

    重点:确保 URL 中的上下文路径和 JSP 文件的实际位置一致。


    4. 清理并重新部署项目

    • 步骤:
      1. 在 IntelliJ IDEA 中,点击菜单栏的 Build > Rebuild Project
      2. 然后在 Tomcat 配置中点击 Redeploy 或重启 Tomcat。
      3. 删除 outwork 目录(位于 Tomcat 的 webappswork 文件夹中),然后重新启动 Tomcat。

    重点:清理缓存并重新部署可以解决因旧文件残留导致的 404 问题。


    5. 检查是否有错误的日志信息

    • Run 窗口查看 Tomcat 启动日志:
      • 查看是否有以下提示:
        • No mapping found for HTTP request with URI [...]
        • FileNotFoundException
        • The requested resource is not available

    重点:日志是排查 404 问题的关键,务必仔细查看。


    6. 示例代码:确保 JSP 文件在正确路径

    如果你的 JSP 文件在 src/main/webapp 下:

    // 正确路径:src/main/webapp/index.jsp
    

    如果你的 JSP 文件在 src/main/webapp/WEB-INF/jsp 下:

    // 正确路径:src/main/webapp/WEB-INF/jsp/index.jsp
    

    ✅ 三、总结

    | 问题 | 解决方案 | |------|----------| | JSP 文件未被正确部署 | 检查 Web 资源目录配置 | | 上下文路径不匹配 | 确认 Application Context 和 URL 一致 | | 缓存导致旧文件未更新 | 清理项目并重新部署 | | 日志未查看 | 检查 Tomcat 日志定位错误 |


    ✅ 四、参考代码片段(JSP 文件)

    假设你有一个 index.jsp 文件:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>My JSP Page</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
    </body>
    </html>
    

    将其放在 src/main/webapp/index.jsp,然后通过 http://localhost:8080/your-app-context/index.jsp 访问。


    如有需要,我可以提供完整的 pom.xml 配置或 Tomcat 配置模板,帮助你进一步排查问题。欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 7月28日