关于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版本其内容如下:
可见,其中并没有我们之前配置的那种处理器映射器和处理器适配器。而这些默认的处理器映射器和处理器适配器都是过时的。不建议使用。