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

相关文章
相关标签/搜索