jsp存放的目录贴下
这里name和urlPatterns属性和web.xml配置中的属性对应。
上面两种方式我都亲测有效,但具体的原理恕本人学识浅薄,还往大佬多多指正。创作不易,点个赞可好。
解决方案: 在Servlet中跳转到web目录中的子目录下的jsp文件时,可以使用相对路径来定位jsp文件位置。具体步骤如下:
确定jsp文件所在的目录位置,例如在web目录下的subDir目录中,文件名为test.jsp。
在Servlet中进行跳转时,使用相对路径来指定jsp文件位置,例如:
request.getRequestDispatcher("../subDir/test.jsp").forward(request, response);
其中".."表示回到上一级目录,再进入subDir目录下的test.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是找不到路径,要加/或者绝对路径