ITPub博客

首页 > IT职业 > IT生活 > 重定向学习小记(forward与sendRedirect) (转)

重定向学习小记(forward与sendRedirect) (转)

原创 IT生活 作者:worldblog 时间:2007-12-14 09:35:32 0 删除 编辑
重定向学习小记(forward与sendRedirect) (转)[@more@]XMLns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:Office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

1.RequestDispatcher.forward()

  是在服务器端起作用,当使用forward()时,servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在b.jsp都可以获得,参数自动传递.

但forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比如servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个页面.

重定向后浏览器地址栏URL不变.

例:servlet文件中重定向

 

public void doPost(HttpServletRequest request,HttpServletResponse response)

  throws ServletException,IOException

{

  response.setContentType("text/html; charset=gb2312");

  ServletContext sc = getServletContext();

  RequestDispatcher rd = null;

  rd = sc.getRequestDispatcher("/index.jsp");

  rd.forward(request, response);

}

 

dbottom"/>
2.response.sendRedirect()

  是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,且在浏览器地址栏上会出现重定向页面的URL.

  sendRedirect()可以重定向有framejsp文件

:servlet文件中重定向

 

public void doPost(HttpServletRequest request,HttpServletResponse response)

  throws ServletException,IOException

{

  response.setContentType("text/html; charset=gb2312");

  response.sendRedirect("/index.jsp");

}

 


 


/**

 *author eMail:fuhx@gasoft.com.cn

 */

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-993279/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 列举进程 (转)
请登录后发表评论 登录
全部评论