spring mvc 之 HandlerMapping 配置

来源:互联网 发布:出世 入世 知乎 编辑:程序博客网 时间:2024/05/23 12:10

1、web,xml   dispatcher、authentication、service  三种访问方式

url 中*.htm 格式的 访问走 dispatcher 方式

url 中*.json  *.do 格式的 访问走 authentication方式

url 中   /services/*  格式的 访问走 service方式

 

 

 <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>2</load-on-startup>
 </servlet>
 <servlet>
  <servlet-name>authentication</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>3</load-on-startup>
 </servlet>
 <servlet>
  <servlet-name>service</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>4</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>*.htm</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>authentication</servlet-name>
  <url-pattern>*.json</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>authentication</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
  <servlet-name>service</servlet-name>
  <url-pattern>/services/*</url-pattern>
 </servlet-mapping>

 

 

2、authentication-servlet.xml    authentication 访问方式的配置文件,定义项目中 HandlerMapping 和  ViewResolver

a  缺省的是 ID=“defaultHandlerMapping ”  BeanNameUrlHandlerMapping 控制器映射方式,控制器声明方式如下

<bean class="<!-类包路径-!>.AdditionalProjectController" />    

 访问的格式 : <!--项目名服务--!>/additionalproject/<!--method--!>.do 或  <!--项目名服务--!>/additionalproject/method.json

 

b 在缺省控制器映射方式中找不到的使用 ControllerClassNameHandlerMapping  方式,控制器声明方式如下

 <bean  name="/cp/bus/cpinf/*.*" class="<!---类包路径-!>.CpinfController" />
   访问的格式:  <!--项目名服务--!>/cp/bus/cpinf/<!--method--!>.do  或   <!--项目名服务--!>/cp/bus/cpinf/<!--method--!>.json

 

 <bean id="defaultHandlerMapping"
  class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" p:order="2">

  <property name="interceptors">
   <list>
    <ref bean="authenticationInterceptor" />
   </list>
  </property>

 </bean>
 
   <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" p:order="1">

  <property name="interceptors">
   <list>
    <ref bean="authenticationInterceptor" />
   </list>
  </property>

 </bean> 

 <bean id="authenticationInterceptor" class="gfsoft.his.common.login.web.AuthenticationInterceptor"></bean>   
 
 <bean name="/*.do" class="gfsoft.his.common.login.web.IndexController"></bean>
 <bean id="viewResolver"
  class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  p:prefix="/WEB-INF/pages/" p:suffix=".jsp" p:contentType="text/html;charset=utf-8" />
 <bean id="beanNameViewResolver"
  class="org.springframework.web.servlet.view.BeanNameViewResolver"
  p:order="1" />
 <bean id="jsonView" class="net.sf.json.spring.web.servlet.view.JsonView"
  p:contentType="application/json;charset=UTF-8" />

 

 


 

0 0
原创粉丝点击