1.配置 [WEB-INF/web.xml]
1.1----->配置上下文载入器listener(web项目可以不配置listener):
配置listener后容器默认加载[WEB-INF/applicationContext.xml]配置文件(通过1.3可以改变配置文件位置)
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
1.2----->配置DispatcherServlet
<servlet>
<servlet-name>spring</servlet-name><!--名字任取-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern><!--要发送给DispatcherServlet的请求的URL-->
</servlet-mapping>
容器默认加载[WEB-INF/xxxxx-servlet.xml]作为servlet配置文件(通过1.3可以改变配置文件位置)
1.3----->指定配置文件的位置contextConfigLocation(可选)
<context-param>
<para-name>contextConfigLocation</param-name>
<para-value>
/WEB-INF/spring-servlet.xml
/WEB-INF/config/xxxx.xml
......
</param-value>
</context-param>
1.4----->配置编码过滤器(可选),解决中文乱码问题
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.配置 [WEB-INF/xxxx-servlet.xml](xxxx指的是web.xml中的给servlet取的名字)
2.1-----》在[WEB-INF/xxxx-servlet.xml]文件的配置决定哪个控制器处理哪个HTTP请求,下面是两种配置方式(任选其一)
方式一:----->配置处理器映射
DispatcherServlet收到HTTP请求之后将其交给处理器映射
使用处理器映射可以讲HTTP请求映射到你想指定的控制器上
<!-- ----------------------------------------------------------------------------------
处理器映射:BeanNameUrlHandlerMapping:简单而强大的处理器映射
这是DispatcherServlet的默认处理器映射,当没有声明任何处理器映射时默认使用它
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
-->
<!-- 处理器映射:SimpleUrlHandlerMapping:另一更强大的处理器映射
它是通过mappings属性讲URL映射到相应的处理器的
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/reg.do">regCon</prop>
<prop key="/sss.do">controller1</prop>
<prop key="/qqq.do">controller2</prop>
...... ......
</props>
</property>
</bean>
--------------------------------------------------------------------------------------->
注:如果不指定处理器映射,DispatcherServlet会默认使用BeanNameUrlHandlerMapping
方式二:----->通过注解的方式 例如: @Controller @RequestMapping("xxxx.do") ... ...
在[WEB-INF/xxxx-servlet.xml]文件中添加语句:
<context:component-scan base-package="您的包名"/>
这句话告诉spring容器扫描你的包(src目录下),将包 里面有注解的类纳入容器管理
2.2----->配置视图解析器
控制器处理请求之后返回ModelAndView需要调用视图解析器来把视图显示在网页上
常用视图解析器:InternalResourceResolver
如果需要使用freemarker或者velocity可以使用
FreeMarkerViewResolver和VelocityViewResolver或VelocityLayoutViewResolver
<!-- 配置视图解析器 -->
(InternalResourceViewResolver默认使用InternalResourceView作为viewClass)
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
<property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/>
</bean>
附:参考applicationContext.xml与xxx-servlet.xml的区别:
http://blog.csdn.net/zb0567/article/details/7930642