springmvc 工作流程及注意点

Ø  工作流程:

1)      客户端发送http请求给web服务器,服务器对该请求进行解析。若匹配DispatcherServlet的请求映射路径,web容器将用户请求转交给DispatcherServlet。DispatcherServlet在web.xml中配置。

2)      DispatcherServlet控制器查询HandlerMapping,找到处理请求的Controler。

3)      Controler调用业务逻辑(xxxService)处理后,返回ModelAndView

4)      DispatchServlet查询视图解析器,找到ModelAndView制定的视图。

5)      视图展现在客户端。

Ø  m、v、c分别指:

1)      m:model,即模型。持久层。与数据库打交道,封装数据操作。

2)      v:view,即视图。显示层。接收c传过来的参数,并显示给用户

3)      c:controler,即控制器。业务逻辑层。

Ø  注意点(俗称坑):

1)      DispatcherServlet配置路径

<servlet-mapping><url-pattern/>路径配置一般为”/”,表示所有请求都让SpringMVC处理,包括静态资源,如js,css,jpg等。但需要在SpringMVC配置文件中添加mvc:resources。

2)      特殊bean的id应固定

在xml中配置MultipartResolver的bean时,常用

org.springframework.web.multipart.commons.CommonsMultipartResolver。但bean id必须为multipartResolver。其他还有localeResolver、themeResolver等。必须使用固定的id,且不可省略。若遇到配置是正常的,但却不工作,去DispatcherServlet看看bean的id是不是被固定了。

3)      项目既使用Spring容器,又使用SpringMVC

需在web.xml配置容器监听器

org.springframework.web.context.ContextLoaderListener。

并配置DispatcherServlet。如下。

<servlet> 

   <servlet-name>zsfz</servlet-name> 

   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 

   <load-on-startup>2</load-on-startup> 

</servlet> 

<servlet-mapping> 

    <servlet-name>zsfz</servlet-name> 

   <url-pattern>*.zsfz</url-pattern> 

</servlet-mapping>

4)      提供springmvc annotation

默认<mvc:annotation-driven/>。作用:向spring容器注册

AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、

PersistenceAnnotationBeanPostProcessor 、RequiredAnnotationBeanPostProcessor这 4 个BeanPostProcessor。为了系统能够识别相应的注解。


参考:

http://blog.csdn.net/monkeyking1987/article/details/19022387

你可能感兴趣的:(spring,mvc,mvc)