1、DispatcherServlet:作为前端控制器,负责分发客户的请求到 Controller

  其在web.xml中的配置如下:

<servlet>
<servlet-name>dispatcherServlert</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlert</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

2、Controller:负责处理客户请求,并返回ModelAndView实例。  

     Controller必须实现接口 org.springframework.eb.servlet.mvc.Controller,实现该接口中的方法                  handleRequest(),在该方法中处理请求,并返回ModelAndView实例。

3、HandlerMapping:DispatchServlet根据它来决定请求由哪一个Controller处理。

  • 默认情况下,DispatcherServlet将使用 org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,即使用和客户端请求的URL名称一致的Controller的bean实例来处理请求。
  • 另一种常用的 HandlerMapping 是 org.springframework.web.servlet.handler.SimpleUrlHandlerMapping,配置如下:
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">        
    <props>            
      <prop key="/add.do"></prop>        
    </props>  
  </property>
</bean>

  在以上 mappings 属性设置中, key为请求的URL,value 为处理请求的Controller的bean名称。

4、ModelAndView:用来封装View与呈现在View中的Model对象。

  DispatcherServlet根据它来解析View名称,并处理呈现在View中的Model对象。

5、ViewResolver:DispatcherServlet委托ViewResolver来解析View名称。

  常用的ViewResolver实例配置如下:

 <!-- 处理 /WEB-INF/aa/ 下的所有文件-->
<bean
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  
<property name="prefix" value="/WEB-INF/aa/" />
  
<property name="suffix" value=".jsp" />
</bean>
posted on 2011-07-09 13:50  瓶叔  阅读(3507)  评论(0编辑  收藏  举报