• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    Contorller的配置方式

          控制器提供的應用程序行為通常通過服務接口定義.Controller翻譯用戶的輸入并將其轉換為一個模型,用于提供給用戶視圖。Spring用一種非常抽象的方式實現控制器,它使您能夠創建一個多樣化的控制器。

          在Spring2.5中為MVC Controller引入一種基于annotaion的編程模型。你可以使用像@RequestMapping,@RequestParam, @ModelAttribute等等這些注解。這些注解支持即可以從Servlet MVC又可以從Portlet MVC獲取到。通過這種方式實現Controller你不需要繼承特殊的base class與不需要實現特殊的接口。而且,他們通常不是直接依賴于Servlet或者Portlet的API,但是你能夠很容易的通過Servlet或者Portlet工具來使用。

    工具/原料

    • 電腦
    • 開發工具

    第一種:URL對應Bean

    1. 1

      使用此類配置方式,需要在XML中做如下樣式配置:

    2. 2

      <!-- 表示將請求的URL和Bean名字映射-->  

      <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>  

      <bean name="/test.do" class="test.TestController"></bean>

    3. 3

      訪問/test.do就會尋找ID為/test.do的Bean,此類方式僅適用小型的應用系統  

    第二種:URL分配Bean

    1. 1

      配置集合,對每個URL做對應的Controller的關系映射

      1. <!-- 最常用的映射配置方式 -->  

      2. <!-- <prop key="/test*.do">testController</prop>-->  

      3. <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  

      4.  <property name="mappings">  

      5.   <props>  

      6.    <prop key="/test.do">testController</prop>  

      7.   </props>  

      8.  </property>  

      9. </bean>  

      10. <bean name="testController" class="test.TestController"></bean>

      此類配置還可以使用通配符,訪問/test.do時,Spring會把請求分配給TestController進行處理  

    第三種:URL匹配Bean

    1. 1

      Java代碼  

      <!-- 將test*.do交給testController處理-->  

      <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>  

      <bean name="testController" class="test.TestController"></bean>  

    第四種:注解方式

    1. 1

      1、需要在Spring的配置文件中開啟注解

      <context:component-scan base-package="test" />  

      <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>    //加入這個包

       

    2. 2

      2、在編寫類上使用注解標記@org.springframework.stereotype.Controller,這個是一個Controller對象。

      使用@RequestMapping("/test.do")指定方法對應處理的路徑。

      簡單的演示代碼類如下:

      package test;  

      import java.util.Date;  

      import javax.servlet.http.HttpServletRequest;  

      import javax.servlet.http.HttpServletResponse;  

      import org.springframework.web.bind.annotation.RequestMapping;  

      // http://localhost:8080/spring/test.do?user=java  

      @org.springframework.stereotype.Controller  

      public class TestController{  

          @SuppressWarnings("deprecation")  

          @RequestMapping("/test.do")  

          public String test(HttpServletRequest request,HttpServletResponse response){  

              request.setAttribute("user", request.getParameter("user") + "-->" + new Date().toLocaleString());  //設置測試值

              return "test";  

          }  

      }  

    注意事項

    • 希望對讀者有所幫助~~~喜歡的請給小編點個大拇指
    • 發表于 2018-01-31 00:00
    • 閱讀 ( 801 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆