在web.xml中配置
html
<!-- 配置字符集 --> <filter> <filter-name>encodingFilter</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>encodingFilter</filter-name> <url-pattern>/*</url-pattern> <!-- 注意/* --> </filter-mapping>
/ 和 /* 的區別(摘抄):java
老是現象就是:
spring用到forward("/WEB-INF/jsp/*.jsp")
而forward固然是又要通過web.xml的映射的,
而後,在URL匹配時,
<url-pattern>/</url-pattern> 不會匹配到*.jsp,致使進入spring的DispatcherServlet類,而後去尋找controller,接着找不到對應的controller因此報錯。web
<url-pattern>/*</url-pattern> 會匹配*.jsp,不會進入spring的DispatcherServlet類
總之,關於web.xml的url映射的小知識:
<url-pattern>/</url-pattern> 會匹配到/login這樣的路徑型url,不會匹配到模式爲*.jsp這樣的後綴型url
<url-pattern>/*</url-pattern> 會匹配全部url:路徑型的和後綴型的url(包括/login,*.jsp,*.js和*.html等) spring