我想大部分人都知道WEB-INF目录下的文件是不能够直接被访问的,所以考虑到安全问题,很多时候我们都把JSP页面放在WEB-INF目录下。
WEB-INF的文件不能直接被访问,那么要怎么处理才能访问到页面呢?答案是通过web.xml配置。大家应该都知道servlet在web.xml中的配置,其实在web.xml中配置JSP页面也是非常简单的。举个例子:
<servlet>
<servlet-name>demo</servlet-name>
<jsp-file>/WEB-INF/search.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/search</url-pattern>
</servlet-mapping>
与servlet的配置相比,只是把<servlet>的子标签<servlet-class>修改成<jsp-file>,而且路径是以/WEB-INF/为基础的,一定不能写错。当要访问该页面,也是像访问servlet一样,在表单或者是超链接中使用web.xml中约定的访问路径,例子中即使用<a hrep=”search”></a>。这样对JSP的访问能起到初级的保护,别人就不能直接通过浏览器的地址看出项目的目录结构。
至于WEB-INF目录下的JSP页面要怎么访问非WEB-INF目录下的其它资源,也是非常简单的,使用绝对路径,绝对路径在Web项目开发中能够解决很多问题,非常好用,详情可以看我的另外一篇博客:JSP项目相对路径与绝对路径的问题。
Author:立礼
Sign:人生不要有太多的幻想,而要有更多的行动。