jsp页面放到webroot或web-inf下面的区别

Posted lcs-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp页面放到webroot或web-inf下面的区别相关的知识,希望对你有一定的参考价值。

我们知道,实现页面的跳转有两种方式,一种是通过redirect的方式,一种是通过forward的方式。redirect方式的跳转,系统会在一个新的页面打开要跳转的网页;而forward方式跳转,系统会在原来的页面上打开一个要跳转的网页。所以放到WEB-INF目录下的文件是不允许采用redirect方式的跳转来访问的
x
1
我们知道,实现页面的跳转有两种方式,一种是通过redirect的方式,一种是通过forward的方式。redirect方式的跳转,系统会在一个新的页面打开要跳转的网页;而forward方式跳转,系统会在原来的页面上打开一个要跳转的网页。所以放到WEB-INF目录下的文件是不允许采用redirect方式的跳转来访问的
<jsp:forward page="/WEB-INF/jsp/login.jsp" />

jsp放在webroot目录下 这样就可以让用户直接访问,jsp放在web-inf目录下就必须要通过请求才能访问。 
    因此放在web-inf下jsp页面显得要安全。 

通过设置过滤器,放在webroot下面的文件也可以实现不能直接访问。

写一个过滤器,实现Filter接口

一般项目都是要求隐藏性的,只让客户通过请求访问而不是直接访问jsp页面。若放在webroot下面,肯定要加一个过滤器阻止所有对*.jsp的访问。

只要比较的话: 放在webroot下面:优点,程序结构清晰,便于编码和维护;缺点,要加过滤器。 放在web-inf下面:优点,不用过滤器;缺点,打乱了程序结构,编码和维护麻烦点。 


推荐放在webroot下面 








以上是关于jsp页面放到webroot或web-inf下面的区别的主要内容,如果未能解决你的问题,请参考以下文章

解决/WEB-INF目录下的jsp页面引入webRoot下的Jscss和图片的问题

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

所有的jsp页面都放到WEB-INF目录

jsp文件放在WebRoot下还是WebInfo下

关于WEB-INF下的jsp,使用绝对路径如何访问?

在一个WEB工程中,JSP和HTML页面应放在啥地方?