HelloWorld 善戰(zhàn)者,求之于勢(shì),不責(zé)于人;故能擇人而任勢(shì)。

          知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

            BlogJava :: 首頁(yè) ::  :: 聯(lián)系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 40 評(píng)論 :: 0 Trackbacks
          Spring提供了MethodNameResolver的三種方式:

          1 : ParameterMethodNameResolver,這個(gè)可以根據(jù)請(qǐng)求的參數(shù)來確定一個(gè)需要調(diào)用的方法。
          例如,http://www.sf.net/index.view?testParam=testIt,這個(gè)請(qǐng)求會(huì)調(diào)用名稱為testIt的處理方法。

          2 : InternalPathMethodNameResolver,這個(gè)可以根據(jù)請(qǐng)求的路徑名稱來調(diào)用相應(yīng)的方法。
          例如,http://www.sf.net/testing.view,這個(gè)請(qǐng)求會(huì)調(diào)用testing方法。

          3 : PropertiesMethodNameResolver,這個(gè)可以根據(jù)一個(gè)URLs 映射列表來調(diào)用相應(yīng)的方法。
          例如,如果定義了/index/welcome.html=doIt,那么當(dāng)請(qǐng)求為/index/welcome.html時(shí),會(huì)調(diào)用doIt方法。在定義URLs時(shí)可以使用通配符。/**/welcom?.html



          ParameterMethodNameResolver
          InternalPathMethodNameResolver
          PropertiesMethodNameResolver
          配置web.xml
          Java代碼
          1. <servlet>
          2. <servlet-name>spring</servlet-name>
          3. <servlet-class>
          4. org.springframework.web.servlet.DispatcherServlet
          5. </servlet-class>
          6. <load-on-startup>2</load-on-startup>
          7. </servlet>
          8. <servlet-mapping>
          9. <servlet-name>spring</servlet-name>
          10. <url-pattern>/spring/*</url-pattern>
          11. </servlet-mapping>
          定義一個(gè)Controller繼承與MultiActionController
          Java代碼
          1. package cn.iwoo.server.controller;
          2.
          3. import javax.servlet.http.HttpServletRequest;
          4. import javax.servlet.http.HttpServletResponse;
          5.
          6. import org.springframework.web.servlet.ModelAndView;
          7. import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
          8.
          9. public class BController extends MultiActionController {
          10. public ModelAndView doSearch(HttpServletRequest request, HttpServletResponse response) throws Exception {
          11. System.out.println(this.getClass() + "." + "doSearch()");
          12. return new ModelAndView("");
          13. }
          14. }
          方法的定義必須符合下面的格式
          Java代碼
          1. public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response);
          定義ViewResolver
          Java代碼
          1. <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          熱點(diǎn)推薦
          中國(guó)民間魔術(shù)、原來如此
          百?gòu)埲S立體圖
          社交禮儀講座
          75
          為什么要使用三家禽肉不能吃的中國(guó)各省人口排發(fā)人警醒:一個(gè)一個(gè)人的世界
          新概念英語(yǔ)學(xué)習(xí)英語(yǔ)名人名言
          經(jīng)典感悟的十個(gè)現(xiàn)實(shí)生活中的你[原創(chuàng)
          壯哉,
          落伍沒?盤點(diǎn)
          寧?kù)o(音畫)
          給想干事的人以衛(wèi)星電視初學(xué)者相關(guān)文章:
          Spring架構(gòu)設(shè)計(jì)-增強(qiáng)MultiActionController
          MultiActionController綁定command
          Spring的MultiActionController使用
          推薦圈子: GT-Grid
          更多相關(guān)推薦
          Google
          Java
          Spring Wire
          MVC
          Compression Spring
          關(guān)閉
          MultiActionController與3種MethodNameResolver的配置http://www.360doc.com/content/10/0329/17/968587_20...
          第1頁(yè) 共3頁(yè)2011-07-29 15:59
          <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</2. value></property>
          3. <property name="prefix"><value>/WEB-INF/jsp/</value></property>
          4. <property name="suffix"><value>.jsp</value></property>
          5. </bean>
          定義UrlHandlerMapping
          Java代碼
          1. <bean id="urlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
          2. lt;property name="urlMap">
          3. <map>
          4. <entry key="/b/*"><ref bean="bController"></ref></entry>
          5. </map>
          6. lt;/property>
          7. </bean>
          定義MethodNameResolver
          一共定義了3個(gè)不同類型的MethodNameResolver.
          Java代碼
          1. <!-- MethodNameResolver Definition -->
          <bean id="bMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
          2.
          3. <property name="paramName" value="method"></property>
          4. <property name="logicalMappings">
          5. <props>
          6. <prop key="doSearch">doSearch</prop>
          7. </props>
          8. </property>
          9. </bean>
          10.
          <bean id="cMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver">
          11.
          12. </bean>
          13.
          <bean id="dMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
          14.
          15. <property name="mappings">
          16. <value>
          17. /b/page.html=doSearch
          18. </value>
          19. </property>
          20. </bean>
          定義Controller
          Java代碼
          1. <!-- Controller Definition -->
          2. <bean id="bController" class="cn.iwoo.server.controller.BController">
          3. <!-- <property name="methodNameResolver"><ref local="bMethodNameResolver"/></property> -->
          4. <!-- <property name="methodNameResolver"><ref local="cMethodNameResolver"/></property> -->
          5. <property name="methodNameResolver"><ref local="dMethodNameResolver"/></property>
          6. </bean>
          測(cè)試
          下面是對(duì)應(yīng)于不同MethodNameResolver的測(cè)試url.
          http://localhost:9080/cn.iwoo/spring/b?method=doSearch
          http://localhost:9080/cn.iwoo/spring/b/doSearch
          http://localhost:9080/cn.iwoo/spring/b/page.html
          注:/b/是我的controller的映射前綴,在PropertiesMethodNameResolver的mappings配置里面,網(wǎng)址必須是/b/開頭,也就是controller的前綴也需
          要寫進(jìn)去. 這是我測(cè)試的結(jié)果,不知是否必須這樣.



          </script>

          posted on 2011-07-29 16:00 helloworld2008 閱讀(1054) 評(píng)論(0)  編輯  收藏 所屬分類: java - spring
          主站蜘蛛池模板: 鄂伦春自治旗| 龙江县| 如皋市| 资源县| 桃源县| 永川市| 南陵县| 合阳县| 新昌县| 琼中| 建瓯市| 顺义区| 大庆市| 嵩明县| 藁城市| 绥中县| 通榆县| 崇州市| 开封县| 腾冲县| 巫溪县| 云梦县| 商水县| 祁阳县| 崇义县| 明溪县| 藁城市| 习水县| 黄石市| 镇赉县| 普定县| 寿宁县| 龙陵县| 凤台县| 连州市| 乐东| 张家口市| 凤翔县| 大厂| 东乡县| 淄博市|