1,<jsp:include page="include.jsp" flush="true">
页面不会转向include所指向的页面,只是显示该页的结果,主页面还是原来的页面。
执行完以后还会回来,相当于函数调用。并且可以带参数。
例子:
ok.jsp中有如下代码(dlindex.jsp只是一个登录窗口的页面,只有一个table标签,没有head标签和body标签):
<jsp:include page="dlindex.jsp"></jsp:include>
那么在ok.jsp页面显示dlindex.jsp页面直接显示的结果。
2,<jsp:forward page="nextpage.jsp" />
完全转向新页面,不会再回来,相当于GOTO语句。
forward是服务器请求资源,服务器直接访问目标地址的URL,把URL的响应内容读取出来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
3,redirect
服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求事先访问过的那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。