默认包含Spring MVC bean

时间:2014-07-18 14:20:11

标签: spring-mvc servlets netbeans

我是SpringMVC的新手,当我在NetBeans 8.0创建新的网络应用程序项目时,我发现dispatcher-servlet.xml包含以下内容:

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="index.htm">indexController</prop>
        </props>
    </property>
</bean>

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp" />

<bean name="indexController"
      class="org.springframework.web.servlet.mvc.ParameterizableViewController"
      p:viewName="index" />

你能简单解释一下这些豆的目的是什么吗?

1 个答案:

答案 0 :(得分:1)

当客户端在Web应用程序中请求资源时,Spring Front Controller会拦截请求并尝试查找相应的处理程序映射。

Handler映射通过浏览配置文件中定义的各种控制器,将请求从客户端映射到其控制器对象。

    <bean id="urlMapping"  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
    <props>
        <prop key="index.htm">indexController</prop>
    </props>
    </property>
    </bean>

这是一个处理程序映射Bean。此bean的核心目的是将请求映射到控制器对象。

SimpleUrlHandlerMapping是最简单的Handler Mapping,它直接将客户端请求映射到Controller对象。

在Property标签内,我们有一个&#39; prop&#39;元素与&#39;键&#39;属性是Url,value是Controller对象的标识符。

现在我们知道将请求转发到哪个控制器对象,Handler Adapter将请求转发给控制器对象。

         <bean name="indexController"
  class="org.springframework.web.servlet.mvc.ParameterizableViewController"
  p:viewName="index" />

这是一个实现Controller接口的Controller Bean

控制器中的HandleRequest方法返回具有逻辑视图名称的ModelAndView对象。视图解析器映射逻辑视图名称和视图的物理位置

  <bean id="viewResolver"
  class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  p:prefix="/WEB-INF/jsp/"
  p:suffix=".jsp" />

这是View Resolver Bean,它映射逻辑名称和物理视图位置。

InternalResourceViewResolver是内置的Spring Resolvers之一。