1. ()
是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,,(),此时form提交的所有信息在 ,参数自动传递. 但forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比如servlet?name=frank,这样不行,("name",name)来传至下一个页面。
重定向后浏览器地址栏URL不变。
例:在servlet中进行重定向
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{ ("text/html; charset=gb2312"); ServletContext sc = getServletContext(); RequestDispatcher rd = null; rd = ("/"); //定向的页面 (request, response);}
通常在servlet中使用,不在jsp中使用。
2. ()
是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,sendRedirect().
重定向后在浏览器地址栏上会出现重定向页面的URL
例:在servlet中重定向
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
("text/html; charset=gb2312");
("/");
}
由于response是jsp页面中的隐含对象,()直接实现重定位。
注意:
(1) ,前面不能有HTML输出;
这并不是绝对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制,一般在8K(我是说 JSP SERVER),这就意味着,除非你关闭了cache,()强制刷新,那么在使用sendRedirect之前,有少量的HTML输出也
java资讯—JSP页面跳转方法 来自淘豆网m.daumloan.com转载请标明出处.