访问WebContent/WEB-INF下的jsp页面404

访问WebContent/WEB-INF下的jsp页面404

"resultTypeRedirect" class="com.csy.struct2.ResultTypeRedirect"
            method="doAction">
        "success" type="redirect">
            "location">/WEB-INF/jsp/ResultTypeRedirect.jsp
        

如图配置action的jsp页面路径/WEB-INF/jsp/ResultTypeRedirect.jsp访问的时候404,直接把全路径放到地址栏也是404。

jsp页面中的a标签做的路径是访问不到WEB-INF根目录下的jsp文件的,只能通过servlet去访问,所以一定要把jsp页面放在WEB-INF下,而且还要用jsp的a标签访问可以做如下改动即可:WEB-INF文件夹外的jsp页面a标签 → servlet → WEB-INF文件夹下jsp页面。

我们通常做项目,都会把jsp网页放在WebContent目录下,而不是WEB-INF下,因为大家都知道WEB-INF下的jsp页面访问会报404错误。

后来,做项目为了安全起见,可以把页面放入WEB-INF目录下,因为WEB-INF目录下的网页是访问不到的,但是可以通过servlet去访问到。

那上面还有个问题,为什么上面配置了Actio,访问还是404呢?因为result type指定为
redirect,这样就相当于客户端重新发起了一个请求。

下面是官方文档的说明;

Redirect Result

Calls the {@link HttpServletResponse#sendRedirect(String) sendRedirect} method to the location specified. The response is told to redirect the browser to the specified location (a new request from the client). The consequence of doing this means that the action (action instance, action errors, field errors, etc) that was just executed is lost and no longer available. This is because actions are built on a single-thread model. The only way to pass data is through the session or with web parameters (url?name=value) which can be OGNL expressions.

后续文章持续更新中,微信扫码下方二维码免费关注!,点此查看全部最新文章


我的博客
我的简书
我的GitHub,喜欢的话给个star吧

你可能感兴趣的:(Web后台开发)