目前手上的一个项目目录的一部分如下所示:
总结:
- 可以看出一部分jsp页面放在了WEB-INF目录下,这样做是因为:jsp放在WebContent目录下 这样jsp页面就可以被用户直接访问,而jsp文件放在WEB-INF目录下就必须要通过请求才能访问,而项目是要求隐藏性的,只让客户通过请求访问而不是直接访问jsp页面。
- 注意像css、js等页面资源文件不可以放到WEB-INF目录下,而应该直接放到WebContent目录下,否则即使页面中具有引用这些资源的代码也是不生效的。
- 对于WEB-INF目录下的jsp文件而言,不可避免的需要引用css、js等资源,引用语句可以使用:<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"/>
- 在最下面的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);%>
上面涉及到的请求转发与重定向将在下一篇文章加以说明。