WEB-INF文件夹下的jsp页面资源问题

来源:互联网 发布:英孚网络作业网址 编辑:程序博客网 时间:2024/05/17 07:23

目前手上的一个项目目录的一部分如下所示:


总结:

  1. 可以看出一部分jsp页面放在了WEB-INF目录下,这样做是因为:jsp放在WebContent目录下 这样jsp页面就可以被用户直接访问,而jsp文件放在WEB-INF目录下就必须要通过请求才能访问,而项目是要求隐藏性的,只让客户通过请求访问而不是直接访问jsp页面。
  2. 注意像cssjs等页面资源文件不可以放到WEB-INF目录下,而应该直接放到WebContent目录下,否则即使页面中具有引用这些资源的代码也是不生效的。
  3. 对于WEB-INF目录下的jsp文件而言,不可避免的需要引用cssjs等资源,引用语句可以使用:<script type="text/javascript" src="/CampusNetwork/js/publicJs.js"></script>,其中CampusNetwork是项目名称;也可以使用相对路径的形式,引用语句也可以写成:<script type="text/javascript" src="js/publicJs.js"></script>。对于引用images目录下front文件夹中的图片xnw3.jpg来说也是可以用两种形式:

  • 绝对路径:<img src="/xiaoneinew/images/front/xnw3.jpg"/>
  • 相对路径:<img src="images/front/xnw3.jpg"/>
4. 用户只能通过请求转发的方式来访问WEB-INF目录下的jsp页面,不能通过重定向的方式来访问。以访问上面目录树中WEB-INF/public/index.jsp文件为例:

  • 在最下面的index.jsp文件写下列代码,主要有两种方式(A或者B都可以):

A.  使用<jsp:forward>标签:

<jsp:forward page="/WEB-INF/public/index.jsp"></jsp:forward>

B.  使用jsp中嵌套Java代码:

<%request.getRequestDispatcher("/WEB-INF/public/index.jsp").forward(request,response);%>

  • .在WebContent/test/index.jsp文件中写下列代码,也可以访问到。两种方式(A或者B都可以)

A.  使用<jsp:forward>标签:

<jsp:forward page="../WEB-INF/public/index.jsp"></jsp:forward>

B.  使用jsp中嵌套Java代码:

<%request.getRequestDispatcher("../WEB-INF/public/index.jsp").forward(request,response);%>


上面涉及到的请求转发与重定向将在下一篇文章加以说明。
原创粉丝点击