做项目时要把jsp页面都放在web-inf下面,目的是防止用户直接访问
今天是重新学习struts2的第二天,讲到了struts.xml中配置redirect重定向路径的问题,说是要把转发的页面放到WebRoot下才能访问到,要是放在WEB-INF下面就访问不到,自己试了一下,果真是这样的,但做了3年的javaEE了还不知道这个事儿呢,查了一下,果真如此,分享下吧
引用
般项目都是要求隐藏性的,只让客户通过请求访问而不是直接访问jsp页面。若放在webroot下面,肯定要加一个过滤器阻止所有对*.jsp的访问。只要比较的话:
放在webroot下面:优点,程序结构清晰,便于编码和维护;缺点,要加过滤器。
放在web-inf下面:优点,不用过滤器;缺点,打乱了程序结构,编码和维护麻烦点。
其实二者没啥大区别,个人倾向于放在webroot下面。
-------------------------------
web-inf文件夹在正常情况下系统是不允许外界直接访问的,访问里面的文件就会出现404错误,但是系统可以自身进行访问,所有要使系统去访问的话就需要使用拦截控制器去接受外界命令,由控制器来转发访问请求,这样将网页放到web-inf下能降低网页的注入漏洞和BUG的出现概率,能很好的维护系统稳定!
引用
http://dingchaoqun12.blog.163.com/blog/static/11606250420103244100615/
http://zhidao.baidu.com/question/290907610.html
http://zhidao.baidu.com/question/288619233.html?fr=qrl&cid=870&index=2&fr2=query