posts - 56, comments - 54, trackbacks - 0, articles - 4
             ::  ::  :: 聯(lián)系 :: 聚合  :: 管理
          forward,include,redirect是jsp中web頁面(jsp或servelt)的三種不同的路由關(guān)系,三個貌似相同,其實還是有許多差別的,而了解這些細微的差別,在web開發(fā)中是很重要的。
          說明:
          一、forward、include由javax.servlet.RequestDispatcher來封裝,由包容器container提供RequestDispatcher接口的實現(xiàn),其中聲明如下:
          void forward(ServletRequest req,ServletResponse res)
          void include(ServeltRequest req,ServletResponse res)
          可以通過兩種方式得到RequestDispatcher:
          1、ServletContext.getRequestDispatcher(String path);
          其中這里的path必須開始為"/",即這里的path必須相對于context的root.
          2、ServeltRequest.getRequestDispatcher(String path)
          這里的path可以為相對路徑,如果path開始為"/",則也認為是從context的root開始的。
          二、Redirect由HttpServletResponse.sendRedirect(String location)來支持
          差別:
          三個都可以對用戶的request進行轉(zhuǎn)發(fā),但是還是有許多的不同,差別最主要集中在如下幾個方面:
          1、forward與include共亨Request范圍內(nèi)的對象,而redirect則不行,即:如果一個javabean被聲明為request范圍的話,則被forward到的資源也可以訪問這個javabean,而redriect則不行。
          2、forward與include基本上都是轉(zhuǎn)發(fā)到context內(nèi)部的資源,而redirect可以重定向到外部的資源,如: req.sendRedriect("
          以上來源
          http://www.cn-java.com/target/news.php?news_id=3176


          struts-config.xml
          <forward name="succ"? path="/pages/dynabean2.jsp" redirect="true"/>
          設(shè)置redirect="true"后 轉(zhuǎn)向目標頁面時效果和redirect一致。
          主站蜘蛛池模板: 申扎县| 宁南县| 淮北市| 文昌市| 卓尼县| 宜兴市| 伊吾县| 白城市| 梁山县| 旺苍县| 句容市| 海南省| 六盘水市| 宁夏| 东方市| 日照市| 灌阳县| 项城市| 新巴尔虎右旗| 仁布县| 桂平市| 大石桥市| 温泉县| 南澳县| 东港市| 华坪县| 浦城县| 博湖县| 汝城县| 静海县| 云霄县| 屯昌县| 九龙城区| 扬州市| 乐山市| 宣汉县| 扶风县| 哈巴河县| 朝阳市| 锡林浩特市| 四会市|