web项目,用了ShiroFilter以后,POST上来的中文乱码。
用的JFinal+JFinalShiroPlugin ,在一个html页面进行post提交JSON的时候,在服务端Request拿到的中文内容是乱码。html页面已经设置编码方式为UTF-8
如果把这个取消ShiroFilter的话,上传的内容正常,各位有没有遇到这个问题,请指导一下。
代码如下:如果url-pattern 拦截全部,用html页面post上来的内容就乱码。
如果ShiroFilter的url-pattern不拦截那个html页面post的url的话,上传的内容是正常,所以这里推断可能是ShiroFilter影响到的。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!-- shiro监听和拦截器 -->
<listener>
<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
</listener>
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern>/*</url-pattern>
<!--
<url-pattern>/user/*</url-pattern>
<url-pattern>/group/*</url-pattern>
<url-pattern>/news/*</url-pattern>
<url-pattern>/admin/*</url-pattern>
<url-pattern>/log/*</url-pattern>-->
</filter-mapping>
<!-- JFinal拦截器 -->
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.xiangtian.plugin.WebConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
</web-app>