天天看點

SpringMVC-預設加載的元件

處理器映射器

  • ​@RequestMapping​

    ​:定義請求 url 到處理器的映射
  • 注解式的處理器映射器,對類中标記了​

    ​@ResquestMapping​

    ​ 的方法進行映射
  • ​@ResquestMapping​

    ​​ 定義了請求 url 的映射用來比對​

    ​@ResquestMapping​

    ​ 标記的方法
  • 比對成功後,傳回​

    ​HandlerMethod​

    ​​ 對象給​

    ​前端控制器​

  • ​HandlerMethod​

    ​​ 對象中封裝了​

    ​url​

    ​ 對應的方法
SpringMVC-預設加載的元件

處理器擴充卡

  • 對标記​

    ​@ResquestMapping​

    ​ 的方法進行适配
  • 也就是用來,解析對應的方法
SpringMVC-預設加載的元件

視圖解析器

  • 視圖解析器使用 SpringMVC 架構預設的​

    ​InternalResourceViewResolver​

  • 這個視圖解析器支援​

    ​JSP​

    ​ 的視圖解析
SpringMVC-預設加載的元件

配置視圖解析器

  • 當一個頁面存放的目錄結構比較深,就可以來配置目錄如下:
  • 還可以在傳回位址上添加​

    ​字首​

    ​​ 和​

    ​字尾​

SpringMVC-預設加載的元件
...

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/view"/>
    <property name="suffix" value=".jsp"/>
</bean>

...      
  • 待會轉發的位址就是​

    ​WEB-INF/view/first.jsp​

  • 修改​

    ​MyFirstController​

    ​,修改設定的視圖字尾,去掉字尾因為我們在配置檔案當中已經配置了是以不需要了,如下圖:
SpringMVC-預設加載的元件
  • 運作項目發起請求,同我們之前說的那樣即可驗證了

老版本之前加載的映射器和擴充卡

  • ​3.2​

    ​ 之前
  • 它使用的并不是​

    ​RequestMappingHandlerAdapter​

    ​​ 而是​

    ​defaultAnnotationHandlerMapping​

SpringMVC-預設加載的元件
  • 它使用的并不是​

    ​RequestMappingHandlerMapping​

    ​​ 而是​

    ​AnnotationMethodHandlerAdapter​

SpringMVC-預設加載的元件
  • 而且還需要做如下的這個配置
  • 現在就根本不需要加這個東西了
<mvc:annotation-driven/>