SpringMVC handleMapping 处理器映射器 属性清单

映射器的属性清单

defaultHandler         在映射与所有处理器都不匹配的情况下,指定默认的处理器(处理器即你定义的Controller(action)类)

order                        Spring根据order的值对映射器进行排序,并使用第一个匹配的处理器,order值越小优先级越高(相当于链的索引位置,从0开始,0级最高)

interceptors             使用的拦截器列表

alwaysUseFullPath 是否使用servlet context中的全路径匹配处理器,默认false

urlDecode        默认false,如果你希望映射器在寻找处理器之前对URL/URI进行解码,那么将此属性设置为true.

lazyInitHandlers      默认false,可以对单例处理器进行延迟初始化

urlPathHelper     可以通过此属性来检查URL,一般无需修改其默认值

spingmvc的映射器有很多,但常用的就三种BeanNameUrlHandlerMapping(默认映射器),SimpleUrlHandlerMapping,ControllerClassNameHandlerMapping

说明:我的web.xml里用的是<url-pattern>*.action</url-pattern>

1.BeanNameUrlHandlerMapping

顾名思义,是以Bean的name属性作为url来访问的时候进行映射,那么这个bean指的是什么?当然指的我们开发人员自己定义的Controller(action)

这里我使用的是userController

地址栏:http://127.0.0.1:8080/项目/userController.action

具体配置文件见下面



2.SimpleUrlHandlerMapping

这个映射器通常用于处理多个请求对应一个Controller(action)的情况,当然也可以用别名的方式替代此映射器.具体配置文件见下面



3.ControllerClassNameHandlerMapping

使用Controller的类名(首字母小写).action来访问时进行映射

使用这个映射器要注意的是你的Controller类命名必须是xxxController,而不能是xxxAction这种,否则会找不到

当然,你可以给它加个defaultHandler属性,指定一个默认处理器(即你定义的Controller类),但这样就没有必要使用此映射器了



4.配置文件

 1  <!-- 使用BeanNameUrlHandlerMapping完成多个请求对应一个Action-->
 2       <bean name="/add.action,/delete.action,/update.action,/find.action" class="cn.tele.springmvc_003.UserAction"></bean>
 3
 4       <!-- 注册action时给与id属性 -->
 5       <bean id="userAction" name="/userController.action" class="cn.tele.springmvc_003.UserController"></bean>
 6
 7       <!-- 映射器(默认) -->
 8       <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
 9
10       <!-- 使用SimpleUrlHandlerMapping完成多个请求对应一个Action -->
11       <!-- <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
12           <property name="mappings">
13                   <props>
14                   <prop key="/add.action">userAction</prop>
15                   <prop key="/delete.action">userAction</prop>
16                   <prop key="/update.action">userAction</prop>
17                   <prop key="/find.action">userAction</prop>
18                   </props>
19           </property>
20       </bean>     -->
21
22     <!-- 通过类名.action的形式来访问,userController.action类名首字母小写 -->
23     <!-- <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
24         <property name="defaultHandler" ref="userAction"></property>
25     </bean> -->

值得一提的是这些映射器可以共存,但同一时刻只能有一个映射器起作用,调用哪一个映射器取决于你的访问方式和映射器的order值,多个不同的映射器组成了一条

链,order值越小,优先级越高,当优先级较高的映射器无法处理时会交给优先级低的处理,都无法匹配到处理器(即你定义的Controller)时Spring才会报错

 

时间: 2024-11-10 00:25:50

SpringMVC handleMapping 处理器映射器 属性清单的相关文章

SSM-SpringMVC-07:SpringMVC中处理器映射器

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping BeanNameUrlHandlerMapping属于springmvc默认的处理器映射器,配不配这个都可以 因为它在springmvc的配置文件已经配置过了 自己也可以再配置一下BeanNameUrlHandlerMapping,不过没什么用,在自己的xml配置文件中: <!--处理器映射器,写不写都行,这

SpringMVC处理器映射器和方法名称解析器

所谓配置式开发是指,“处理器类是程序员手工定义的,实现了特定接口的类,然后再在SpringMVC配置文件中对该类进行显式的,明确的注册”的开发方式” 1.处理器映射器HandlerMapping HandlerMapping接口负责根据request请求找到对应的Handler处理器即Interceptor拦截器,并将它们封装在HandlerExecutionChain对象中,返回给中央调度器. 其常用的实现类有两种: 01BeanNameUrlHandlerMapping 02SimpleUr

springmvc 前段控制器 处理器映射器 处理器适配器 视图视图解析器 配置

1. 前段控制器 新建项目在web.xml中配置前段控制器 <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</pa

【SpringMVC笔记】第四课 注解的处理器映射器和处理器适配器使用

一.注意点: 版本问题 spring3.2以前的版本,注解的映射器和适配器使用以下两个类. org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping.class org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.class 在新版本的源码中可以看到以下注释: 在3.2 包含及以后的版本中使用如

【SpringMVC笔记】第三课 处理器映射器+处理器适配器

第二课的例子中,在springmvc.xml中配置使用了第一种处理器映射器和处理器适配器,如下所示. <!-- 配置第一种处理器映射器 BeanNameUrlHandlerMapping --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <!-- 配置第一种处理器适配器 SimpleControllerHandl

SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)

SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图 SpringMVC请求流程图 SpringMVC请求流程图语述: request-------->DispatcherServler(中央调度器/前端控制器)-----> HandlerMapping(处理器映射器)------>返回一个执行链----->将执行链转交给HandlerAdap

springMVC非注解常用的&quot;处理器映射器&quot;、&quot;适配器&quot;、&quot;处理器&quot;

非注解处理器映射器1. org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping url 到bean name的映射2. org.springframework.web.servlet.handler.SimpleUrlHandlerMapping url 到bean id的映射 非注解适配器1. org.springframework.web.servlet.mvc.SimpleControllerHandlerAdap

SpringMVC (三)处理器映射器的配置和AbstractController的使用

在开始创建spingmvc项目的时候,我们只需要配置前端控制器和处理器就可以,其他三项系统会默认配置,我们也可以自己配置 首先看配置处理器映射器,系统默认的 在springmvc.xml中配置 另一种配置方式是:同样在springmvc.xml中配置,使用的是  SimpleUrlHandlerMapping  这个类 <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

SpringMVC源码剖析2——处理器映射器

1.处理器映射器 HandlerMapping 一句话概括作用: 为 我 们 建 立 起 @RequestMapping 注 解 和 控 制 器 方 法 的 对 应 关 系 . 怎么去查看 第一步: 处理器映射器的实体类:RequestMappingHandlerMapping   父类  RequestMappingInfoHandlerMapping父类的父类AbstractHandlerMethodMapping父类的父类的父类AbstractHandlerMapping 第二步:找到对应