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.配置文件
<!-- 使用BeanNameUrlHandlerMapping完成多个请求对应一个Action-->
<bean name="/add.action,/delete.action,/update.action,/find.action" class="cn.tele.springmvc_003.UserAction"></bean> <!-- 注册action时给与id属性 -->
<bean id="userAction" name="/userController.action" class="cn.tele.springmvc_003.UserController"></bean> <!-- 映射器(默认) -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <!-- 使用SimpleUrlHandlerMapping完成多个请求对应一个Action -->
<!-- <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/add.action">userAction</prop>
<prop key="/delete.action">userAction</prop>
<prop key="/update.action">userAction</prop>
<prop key="/find.action">userAction</prop>
</props>
</property>
</bean> --> <!-- 通过类名.action的形式来访问,userController.action类名首字母小写 -->
<!-- <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
<property name="defaultHandler" ref="userAction"></property>
</bean> -->
值得一提的是这些映射器可以共存,但同一时刻只能有一个映射器起作用,调用哪一个映射器取决于你的访问方式和映射器的order值,多个不同的映射器组成了一条
链,order值越小,优先级越高,当优先级较高的映射器无法处理时会交给优先级低的处理,都无法匹配到处理器(即你定义的Controller)时Spring才会报错
SpringMVC handleMapping 处理器映射器 属性清单的更多相关文章
- springMVC入门(三)------springMVC的处理器映射器和处理器适配器配置
简介 springMVC的处理器映射器和处理器适配器存在多种配置,因此在此专门做一个总结 常见处理器映射器.适配器的配置 springmvc多个映射器多个处理器可以并存 所有的映射器都实现了Handl ...
- SSM-SpringMVC-07:SpringMVC中处理器映射器
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping BeanN ...
- SpringMVC处理器映射器和方法名称解析器
所谓配置式开发是指,“处理器类是程序员手工定义的,实现了特定接口的类,然后再在SpringMVC配置文件中对该类进行显式的,明确的注册”的开发方式” 1.处理器映射器HandlerMapping Ha ...
- 《SpringMVC从入门到放肆》四、SpringMVC配置式开发(处理器映射器)
上一篇我们讲解了DispatcherServlet的url-pattern配置详解,今天我们来真正对SpringMVC进行配置式开发.所谓配置式开发是指“处理器类是程序员自己定义的.实现了特定接口的类 ...
- SpringMVC 学习笔记(处理器映射器的配置)
前端控制器(dispatchServlet) 在web.xml中配置前端控制器,在服务器启动时就被创建,用来对请求和响应进行接收 和 分发处理,其在配置时可以设置一个初始化参数,用来定位SpringM ...
- springMVC三种处理器映射器
1.配置处理器映射器,springmvc默认的处理器映射器BeanNameUrlHandlerMapping <bean class="org.springframework.web. ...
- 4.SpringMVC 配置式开发-处理器映射器
处理器映射器 HandlerMapping HandlerMapping 接口负责根据request请求找到对应的Handler处理器及Interceptor拦截器, 并将它们封装在HandlerEx ...
- SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)
SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图 Spr ...
- SpringMVC的HandlerMapping(处理器映射器)
SpringMvc有四种HandlerMapping:BeanNameUrlHandlerMapping ,SimpleUrlHandlerMapping,ControllerClassNameHan ...
随机推荐
- 给eclipse配置sublime主题的背景
效果例如以下: 步骤: 1.假设你的Eclipse没有Marketplace的话,你自己装一个即可了:Help–>Install New Software–>add location:ht ...
- [NOIP复习]第三章:动态规划
一.背包问题 最基础的一类动规问题.相似之处在于给n个物品或无穷多物品或不同种类的物品,每种物品仅仅有一个或若干个,给一个背包装入这些物品,要求在不超出背包容量的范围内,使得获得的价值或占用体积尽可能 ...
- JAVA入门[8]-测试mybatis
上一节通过mybatis-generator自动生成了CategoryMapper接口,pojo等类,接下来我们写几个简单的测试来进行调用. 一.添加依赖 <dependency> < ...
- 基于Office 365的随需应变业务应用平台
作者:陈希章 发表于 2017年9月7日 这是我去年10月底在微软技术大会(Microsoft Ignite 2016) 上面的演讲主题,承蒙大家抬爱,也沾了前一场明星讲师的光,我记得会场几乎是满座. ...
- CentOS中安装配置Nginx
一.安装Nginx '首先我们需要在nginx官网中下载nginx安装包,在这就下载最新版 nginx-1.13.7版本 下载完成以后我们进入下载页面进行查看 下载文件目录为 home/userNam ...
- 快看Sample代码,速学Swift语言(2)-基础介绍
Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或者Objective-C的开发经验获得一种熟悉感.Swif ...
- DataBase MongoDB高级知识-易扩展
MongoDB高级知识-易扩展 应用程序数据集的大小正在以不可思议的速度增长.随着可用宽带的增长和存储器价格的下跌,即使是一个小规模的应用程序,需要存储的数据也可能大的惊人,甚至超出了很多数据库的处理 ...
- boost::assign(标准容器填充库)
boost::assign通过对"+="和","的重载非常方便的填充标准容器(std::vector,std::set,std::list,std::map), ...
- Who Will Win?
Gautam and Subhash are two brothers. They are similar to each other in all respects except one. They ...
- Swift学习第一天--面向过程
//: Playground - noun: a place where people can play import UIKit //---------------------- Hello wor ...