了解Spring3 mvc

 

一、核心类与接口:
 
DispatcherServlet:前置控制器
HandlerMapping接口:处理请求的映射

HandlerMapping接口的实现类:

SimpleUrlHandlerMapping:通过配置文件,把一个URL映射到Controller

DefaultAnnotationHandlerMapping:通过注解,把一个URL映射到Controller类上

HandlerAdapter接口:处理请求的映射

AnnotationMethodHandlerAdapter类 通过注解,把一个URL映射到Controller类的方法上

Controller接口:控制器

由于我们使用了@Controller注解,添加了@Controller注解,注解的类就可以担任控制器(Action)的职责,所以我们并没有用到这个接口。

HandlerInterceptor接口:拦截器

需自己实现这个接口,来完成拦截的器的工作。

ViewResolver接口的实现类:

UrlBasedViewResolver类 通过配置文件,把一个视图名交给到一个View来处理

InternalResourceViewResolver类,比上面的类,加入了JSTL的支持

HandlerExceptionResolver接口:异常处理

SimpleMappingExceptionResolver实现类


 
二、常用的注解:

@Autowired  自动注入[根据类型注入]
@Resource   自动注入[根据名称注入],可写参数name=""
@Controller 表示控制器
@Service    表示业务处理层[一般在serviceImpl]
@Repository 表示持久层[一般在daoImpl]
@Component  当你的类不清楚是哪一层的时候使用该注解
@ResponseBody  异步返回数据类型为json
@RequestMapping  路径,请求类型等设置
@InitBinder   数据绑定
三、Spring3 mvc流程图:
四、DispatchServlet说明:

 

DispatcherServlet是前置控制器,配置在web.xml文件中。用来拦截匹配到的请求。

<servlet-name>theDispatcher</servlet-name>该Servlet的名字,可以配多个DispatcherServlet
<load-on-startup>1</load-on-startup>启动顺序,让该Servlet随Servlet容器一起启动。

<url-pattern>*.do</url-pattern> 会拦截*.do结尾的请求。

<param-value>/WEB-INF/theDispatcher-servlet.xml</param-value>

在DispatcherServlet初始化时,框架会在WEB-INF文件夹下寻找名为theDispatcher-servlet.xml 的配置文件,生成文件中定义的bean。

 

五、theDispatcher-servlet.xml 配置文件:

 

 <!-- 默认的注解映射的支持 -->
 <mvc:annotation-driven /><!--会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的,并提供了数据绑定支持,@DateTimeFormat支持,@Valid支持,@NumberFormatannotation支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。-->
 
 <!-- 自动扫描的包名 -->
 <context:component-scan base-package="com.well" />
    
 <!-- 视图解析类 -->
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/jsp/" />
  <property name="suffix" value=".jsp" />
 </bean>

 

<mvc:interceptors/> 可以配置多个HandlerMapping。它会为每个HandlerMapping注入一个拦截器。

 

<mvc:default-servlet-handler/> 使用默认的Servlet来响应静态文件。

 

<mvc:resources/>把mapping的URI注册到SimpleUrlHandlerMapping的urlMap中。

 

你可能感兴趣的:(Spring3 MVC)