使用springMVC时xml文件如何配置?

关于springMVC中配置的步骤:

1.在web.xml中配置前端控制器,即springMVC的核心控制器

它在服务器启动时就被创建,用来对请求和响应进行接收和分发处理。(其实就是一个servlet : 跑在服务器端的java类,只不过这个servlet更加强大些罢了)。其配置如下:

<!--其中的<servlet-name>中的名字随便改
但是在WEB-INF中要再创建一个servlet-name-servlet.xml的文件与之对应
这里即:springMVC-servlet.xml
--> 
<servlet>
    <servlet-name>springMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
<servlet-mapping>
  <servlet-name>springMVC</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

 2.在WEB-INF中创建的***-servlet.xml中配置处理器映射器和适配器等(非注解式的映射器和适配器已经过时了,这里就不提了)

<!--注解的处理器映射器--> 
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
 <!--注解的处理器适配器-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
<!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
<!--使用组件扫描来代替一个一个用于配置handler的<bean class=""/>-->
    <context:component-scan base-package="controller"></context:component-scan>

 在实际开发中配置处理器映射器和处理器映射器的方法是下面这种:

 <!--注解驱动
    使用注解驱动,可以代替上边注解的处理器映射器和注解的适配器的配置
    其还默认加载了很多的参数绑定方法,例如:json转换解析器
    -->
    <mvc:annotation-driven >

    </mvc:annotation-driven>

 谈到这里的时候可能部分同学会提出一个问题就是:有些项目中的***-servlet.xml中并没有配置处理器映射器和前端控制器,只是在web.xml中配置了一个前端控制器,它依旧可以跑起来,并且跑的还贼6。是什么原因?难道是没有用处理器映射器和适配器吗?不是的,而是因为如果自己不在***-servlet.xml中进行配置的话,spring会加载默认的。而默认的都是那些呢?打开项目中的jar包中的DispatcherServlet.properties 如下:

 spring4.2.6版本其内容如下:

 可见,其中并没有我们之前配置的那种处理器映射器和处理器适配器。而这些默认的处理器映射器和处理器适配器都是过时的。不建议使用。

猜你喜欢

转载自blog.csdn.net/My_name_is_ZwZ/article/details/83794724