web.xml有监听器、前置控制器、过滤器
监听器:当web容器启动时,自动装配ApplicationContext的配置信息
前置控制器:使用spring MVC配置前置控制器是第一步;一个DispatcherServlet代表一个servlet,所以可配置多个DispatcherServlet。
过滤器:针对每次的请求进行过滤。CharacterEncodingFilter可解决页面传来字符串的编码问题(其中encoding用来设置编码格式,forceEncoding用来设置是否理会 request.getCharacterEncoding()方法,设置为true则强制覆盖之前的编码格式。)
<display-name>项目名称</display-name> <context-param><!--ApplicationContext 配置信息 --> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/spring/applicationContext-*.xml</param-value> </context-param>
<listener><!-- 监听器:当web容器启动时,会自动装配ApplicationContext 中的配置信息--> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet><!--前置控制器:在DispatcherServlet初始化中会扫描路径下的xml文件,生成文件定义的bean --> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping><!--前端控制器的拦截设置 --> <servlet-name>springmvc</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping>
<filter> <!--过滤器--> <filter-name>characterEncodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>