springmvc handlermapping在哪
答案:2 悬赏:50 手机版
解决时间 2021-04-04 02:12
- 提问者网友:最爱你的唇
- 2021-04-03 22:12
springmvc handlermapping在哪
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-04-03 22:43
在基于Spring MVC的Web应用程序中,我们可以为DispatcherServlet提供多个Handler- Mapping供其使用。DispatcherServlet在选用HandlerMapping的过程中,将根据我们所指定的一系列HandlerMapping的优先级进行排序,然后优先使用优先级在前的HandlerMapping。如果当前的HandlerMapping能够返回可用的Handler,DispatcherServlet则使用当前返回的Handler进行Web请求的处理,而不再继续询问其他的HandlerMapping。否则,DispatcherServlet将继续按照各个HandlerMapping的优先级进行询问,直到获取一个可用的Handler为止。
HandlerMapping的优先级规定遵循Spring框架内一贯的Ordered接口所规定的语义。Spring MVC中可用的HandlerMapping实现全都实现了Ordered接口。假设我们优先使用SimpleUrl- HandlerMapping进行Handler的映射管理,其次使用BeanNameUrlHandlerMapping,那么就可以在DispatcherServlet特定的WebApplicationContext中增加如代码清单24-3所示的配置内容。
代码清单24-3 HandlerMapping指定优先级配置代码示例
<bean id="handlerMapping" class="org.
springframework.Web.servlet.handler.?
SimpleUrlHandlerMapping">
<property name="order" value="1"/>
<property name="mappings">
<value>
...
</value>
</property>
</bean>
<bean id="defaultHandlerMapping" ?
class="org.springframework.Web.servlet.
handler.BeanNameUrlHandlerMapping">
</bean>
如果不为HandlerMapping明确指定order,那么默认值为Integer.MAX_VALUE,对应最低优先级。所以,拥有order值为1的SimpleUrlHandlerMapping较之BeanNameUrlHandlerMapping优先被调用。
HandlerMapping的优先级规定遵循Spring框架内一贯的Ordered接口所规定的语义。Spring MVC中可用的HandlerMapping实现全都实现了Ordered接口。假设我们优先使用SimpleUrl- HandlerMapping进行Handler的映射管理,其次使用BeanNameUrlHandlerMapping,那么就可以在DispatcherServlet特定的WebApplicationContext中增加如代码清单24-3所示的配置内容。
代码清单24-3 HandlerMapping指定优先级配置代码示例
<bean id="handlerMapping" class="org.
springframework.Web.servlet.handler.?
SimpleUrlHandlerMapping">
<property name="order" value="1"/>
<property name="mappings">
<value>
...
</value>
</property>
</bean>
<bean id="defaultHandlerMapping" ?
class="org.springframework.Web.servlet.
handler.BeanNameUrlHandlerMapping">
</bean>
如果不为HandlerMapping明确指定order,那么默认值为Integer.MAX_VALUE,对应最低优先级。所以,拥有order值为1的SimpleUrlHandlerMapping较之BeanNameUrlHandlerMapping优先被调用。
全部回答
- 1楼网友:人類模型
- 2021-04-03 23:57
在Spring MVC中,关于HandlerMapping的使用,主要包括两个部分:注册和查找。在HandlerMapping的实现中,持有一个handlerMap这样一个HashMap<String, Object>,其中key是http请求的path信息,value可以是一个字符串,或者是一个处理请求的HandlerExecutionChain,如果是String类型,则会将其视为Spring的bean名称。在HandlerMapping对象的创建中,IoC容器执行了一个容器回调方法setApplicationContext,在这个方法中调用initApplicationContext方法进行初始化,各个子类可以根据需求的不同覆写这个方法。关于handlerMap信息的注册就是在initApplicationContext方法中被执行的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯