1)派遣器模式 Spring有一个统一集中的派遣器org.springframework.web.servlet.DispatcherServlet, 一般在web.xml中把所有的页面请求都发送到该派遣器: <servlet> <servlet-name>countries</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>countries</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> 2)控制器模式 派遣器收到请求后,把不同的页面派遣到不同的控制器进行处理: <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/home.htm">countriesController</prop> <prop key="/notfound.htm">errorsController</prop> </props> </property> </bean> Spring有两种MAPPING的机制,默认为BeanNameUrlHandlerMapping,我们这里采用的是 SimpleUrlHandlerMapping. 3)拦截器模式 在控制器处理前,我们可以将其拦截,进行一些特殊或通用处理;拦截器可以选用Spring已经实现 的或我们自己实现的: <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="interceptors"> <list> <ref local="localeChangeInterceptor"/> <ref local="themeChangeInterceptor"/> <ref local="copyInterceptor"/> </list> </property> </bean>
其实我们在平常的开发中,也经常用到上面的设计模式;只是Spring的实现比较优美,所以Spring 能很快流行.

|