jbrg2008

          人以銅為鏡,可以正衣冠;以古為鏡,可以見興替;以人為鏡,可以知得失.

          比較jsp中forword和sendRedirect的區別

          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);
          }

          2.response.sendRedirect()

          是在用戶的瀏覽器端工作,sendRedirect()可以帶參數傳遞,比如servlet?name=frank傳至下個頁面,同時它可以重定向至不同的主機上,且在瀏覽器地址欄上會出現重定向頁面的URL.sendRedirect()可以重定向有frame的jsp文件.

          例:servlet文件中重定向

          public void doPost(HttpServletRequest request,HttpServletResponse response)
                 throws ServletException,IOException
          {
                 response.setContentType("text/html; charset=gb2312");
                 response.sendRedirect("/index.jsp");
          }

          posted on 2008-01-04 08:49 翰林 閱讀(184) 評論(0)  編輯  收藏 所屬分類: WEB基礎


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 玉树县| 探索| 聂荣县| 泰宁县| 朔州市| 陇西县| 汪清县| 尼勒克县| 石门县| 西乌珠穆沁旗| 柳林县| 安溪县| 广昌县| 东方市| 香格里拉县| 保亭| 汽车| 芒康县| 庄浪县| 岳阳县| 保康县| 江西省| 台东县| 阿勒泰市| 东兰县| 泰来县| 荣昌县| 蒙城县| 台东市| 宿州市| 琼结县| 庆安县| 丰顺县| 辛集市| 武夷山市| 金堂县| 东乡| 灵石县| 龙泉市| 剑河县| 宁陕县|