整理总结-<jsp:forword page/>的用法:
通常,我们不应该直接暴露jsp页面,而是客户端先访问一个URL地址,Web应用将该URL转发给处理器处理,处理器执行完返回jsp页面。所以,一般JSP文件应该放在WEB-INF文件夹中,这样客户便无法访问了。
现在举一个奇葩的例子:不使用WEB-INF方法:我想让客户直接访问index.jsp,里面包含了必须经过处理器返回的数据,但是直接访问index.jsp是无效的,你看,你直接访问.jsp文件我也能取到数据库中数据,Diao吧。可以有以下办法:
1.把原来的hello.jsp改名(比如ok.jsp),取名index.jsp
2.index.jsp只需要有这一句<jsp:forword page="initOKJSP.servlet"/>
<!--这个initOKJSP.servlet是用于处理生成jsp的Serlvet,最后把请求转发到ok.jsp-->
3.在浏览器输入~/index.jsp即可看到ok.jsp的页面效果
反正就是这么一个效果,在jsp页面中使用<jsp:forword>标签能直接把当前的请求转发到目标文件(可以是jsp,servlet甚至action),起到了缓冲的作用。不过推荐大家还是把jsp文件放到WEB-INF中,然后可以使用MVC框架对请求进行处理。