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基礎


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


          網站導航:
           
          主站蜘蛛池模板: 大城县| 五莲县| 临邑县| 广水市| 陵川县| 石屏县| 乾安县| 宕昌县| 乌拉特前旗| 永年县| 靖西县| 九龙城区| 曲阳县| 济南市| 老河口市| 东兴市| 大理市| 呈贡县| 广州市| 汶上县| 玉田县| 额敏县| 广河县| 黎平县| 广州市| 松溪县| 民丰县| 武隆县| 南康市| 赤峰市| 雷山县| 姜堰市| 阿瓦提县| 海口市| 迁安市| 云和县| 四川省| 织金县| 江城| 涞源县| 襄汾县|