jbrg2008

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

          比較jsp中forword和sendRedirect的區(qū)別

          1.RequestDispatcher.forward()

          是在服務(wù)器端起作用,當(dāng)使用forward()時(shí),Servlet engine傳遞HTTP請(qǐng)求從當(dāng)前的Servlet or JSP到另外一個(gè)Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此時(shí)form提交的所有信息在 b.jsp都可以獲得,參數(shù)自動(dòng)傳遞.但forward ()無法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同時(shí)forward()無法在后面帶參數(shù)傳遞,比如 servlet?name=frank,這樣不行,可以程序內(nèi)通過response.setAttribute("name",name)來傳至下一個(gè)頁面.重定向后瀏覽器地址欄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()可以帶參數(shù)傳遞,比如servlet?name=frank傳至下個(gè)頁面,同時(shí)它可以重定向至不同的主機(jī)上,且在瀏覽器地址欄上會(huì)出現(xiàn)重定向頁面的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) 評(píng)論(0)  編輯  收藏 所屬分類: WEB基礎(chǔ)


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 错那县| 山阴县| 德江县| 会同县| 海盐县| 凤阳县| 达尔| 湖口县| 神木县| 房山区| 顺昌县| 龙游县| 平舆县| 万源市| 宁陵县| 炉霍县| 新干县| 依安县| 巢湖市| 盘山县| 留坝县| 灵川县| 嘉鱼县| 包头市| 宁强县| 黄石市| 明星| 驻马店市| 定陶县| 晋江市| 黔西县| 三江| 亳州市| 珠海市| 内丘县| 永安市| 巫溪县| 乌拉特后旗| 梓潼县| 镇雄县| 乐至县|