重定向學習小記(forward與sendRedirect) (轉)

worldblog發表於2007-12-14
重定向學習小記(forward與sendRedirect) (轉)[@more@]ns:v="urn:schemas--com:vml" xmlns:o="urn:schemas-microsoft-com::office" xmlns:w="urn:schemas-microsoft-com:office:" xmlns="">

1.RequestDispatcher.forward()

  是在端起作用,當使用forward()時, engine傳遞HTTP請求從當前的Servlet or 到另外一個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 e:fuhx@gasoft.com.cn

 */

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993279/,如需轉載,請註明出處,否則將追究法律責任。

下一篇: 列舉程式 (轉)
重定向學習小記(forward與sendRedirect) (轉)
請登入後發表評論 登入
全部評論

相關文章