Spring MVC 筆記

監聽器 》過濾器 》 DispatcherSevlet 》前端

 

【前端控制器】負責分發調度       ===    Spring Web Mvc 裏面的 DispatcherServletweb

【控制器】業務數據抽取,傳遞 Model 。spring

【視圖解析器】頁面呈現express

【模型】 model  modelAndView  Mapmvc

DispatcherServlet  怎麼發現 @Controller ?app

原理是    適配器模式,使用 HandlerAdapter。jsp

 

HandlerIntercepter 攔截器 (貌似是代理模式)post

HandlerMapping  這樣Dispatcher就能根據  @RequestMapping 使用正確的 Controllerurl

HandlerExecutionChain     pre   controller的方法  post*     spa

 

【web.xml配置 DispatcherServlet 啓動順序】

【dispatcher-servlet.xml 配置】

<web-app>
    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 默認爲/WEB-INF/$servlet-name$-servlet.xml-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
<beans>
    <context:annotation-config />

    <!--  配置只掃描 @Controller  -->
    <context:component-scan base-package="com.imooc">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>
<!-- 打開mvc的註解 數據綁定、 --> <mvc:annotation-driven />

<!-- 靜態資源處理 -->
<mvc:resources mapping="/resources/**" location="/resources/" />
<bean class="org.springframwork.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/view/jsps/" /> <property name="suffix" value="*.jsp"/> </bean> </beans>

 

spring容器 applicationContext.xml

<beans>
    <context:annotation-config />
    
    <context:component-scan base-package="com.imooc">
        <context:exclude-fliter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>
</beans>

 

=======================    Controller  ============================

數據綁定 @RequestParam  @PathVariable    @ModelAndAttribute  

文件上傳  MultipartFile

相關文章
相關標籤/搜索