非注解的SpringMVC的映射器

来源:互联网 发布:php 静态变量的特点 编辑:程序博客网 时间:2024/05/20 06:54

 SpringMVC之中的的HandlerMapping处理器映射器能根据请求的url找到对应的Handler处理器以及Interceptor拦截器,将他们封装在HandlerExcutionChain对象之中并返回给前端控制器。

我们可以在classpash之中的springMVC.xml之中配置我们的处理器映射器,只要配置在你的xml配置文件之中即可。

<span style="white-space:pre"></span><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/><bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"></bean>

一个xml文件之中可以存在多个映射器,只要前端的控制器能判断url能让哪个映射器进行映射,就可以让正确的映射器进行映射。

配置的详情如下:

BeanNameUrlHandlerMapping

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>    <!--      实例化了这个对象BeanNameUrlHandlerMapping后,这个映射器可以根据请求的url与spring容器之中定义的bean的name进行匹配,从而找到bean实例      如下-->     <!-- 配置处理器映射 的方法       访问/hello1.action 即可由HelloController处理器处理 -->         <bean  id = "helloController" name="/hello1.action" class="controller.HelloController"/>
此处实例化了BeanNameUrlHandlerMapping,和一个处理器HelloController,并设置HelloController的name为/hello.action,当前端请求的urlweihello1.action时,BeanNameUrlHandlerMapping就能从spring容器之中找到name为hello1.action的bean 也就是我们的HelloController进行处理。

SimpleUrlHandlerMapping

<bean  id = "helloController" name="/hello1.action" class="controller.HelloController"/>

<!--     SimpleUrlHandlerMapping 是BeanNameUrlHandlerMapping的增强版本,它可以将处理器的id和请求的url进行统一映射 -->    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">    <property name="mappings">    <props>    <prop key="/hello2.action">helloController</prop>    </props>    </property>    </bean>

我们实例化了一个bean,并将其id设为helloController,我们在SimpleUrlHandlerMapping这个bean之中进行这样的配置的时候,就能通过hello2.action调用HelloController


源文件代码


0 0
原创粉丝点击