IDEA Servlet 跳转jsp问题

img

img

img

img

img


问题是,只能跳转工程的web目录下的jsp文件,web里的子目录的jsp文件都不能跳转,我尝试用详细的地址,但是仍然找不都资源

jsp存放的目录贴下

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/744230
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:IDEA中在使用Servlet时发现jsp页面中的值不显示
  • 除此之外, 这篇博客: idea环境下 servlet配置导致jsp页面显示源码问题中的 方法二:将web.xml文件中的servlet文件配置删除改为注解的方式配置: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述
    这里name和urlPatterns属性和web.xml配置中的属性对应。

    上面两种方式我都亲测有效,但具体的原理恕本人学识浅薄,还往大佬多多指正。创作不易,点个赞可好。

  • 您还可以看一下 刘英杰老师的JSP+Servlet实战视频课程课程中的 web课程的介绍小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案: 在Servlet中跳转到web目录中的子目录下的jsp文件时,可以使用相对路径来定位jsp文件位置。具体步骤如下:

    1. 确定jsp文件所在的目录位置,例如在web目录下的subDir目录中,文件名为test.jsp。

    2. 在Servlet中进行跳转时,使用相对路径来指定jsp文件位置,例如:

    request.getRequestDispatcher("../subDir/test.jsp").forward(request, response);
    

    其中".."表示回到上一级目录,再进入subDir目录下的test.jsp文件。

    1. 在web.xml文件中,将servlet-mapping中的url-pattern改为"/",这样就可以让Servlet成为项目的默认servlet,可以更方便地跳转jsp文件。
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    注意事项: 1. 需要正确导入servlet和jsp的依赖库,具体可以参考上面的参考资料中的相关内容。 2. 如果使用绝对路径指定jsp文件位置,需要注意web目录的真实路径可能与开发环境中的路径不同,所以尽量使用相对路径。 3. 跳转jsp文件时,如果url-pattern不是"/",需要在路径中加上对应的url-pattern前缀。例如url-pattern为"/servlet",则跳转到jsp文件时路径为"../subDir/some.jsp"。

404是找不到路径,要加/或者绝对路径