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 翰林 閱讀(183) 評論(0)  編輯  收藏 所屬分類: WEB基礎


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


          網站導航:
           
          主站蜘蛛池模板: 武陟县| 龙陵县| 桑日县| 贡嘎县| 罗田县| 炉霍县| 略阳县| 营口市| 沙湾县| 鄂伦春自治旗| 辽阳县| 铜陵市| 金沙县| 岳普湖县| 荔浦县| 扶风县| 甘孜县| 田阳县| 当阳市| 阳山县| 高密市| 濮阳市| 泗洪县| 宁武县| 抚顺县| 昌黎县| 呼图壁县| 灌阳县| 镇赉县| 彭州市| 盱眙县| 井研县| 普陀区| 上林县| 乌拉特中旗| 绥德县| 武强县| 慈利县| 大方县| 蒲城县| 澳门|