org.springframework.web.filter.CharacterEncodingFilter不起作用

shan9liang 2013-04-24 09:47:24
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>ssh2_test</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<!-- 配置spring资源 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/applicationContext-*.xml</param-value>
</context-param>

<!-- 配置CharacterEncoding,设置字符集 -->
<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>


<!-- 将HibernateSession开关控制配置在Filter,保证一个请求一个session,并对lazy提供支持 -->
<filter>
<filter-name>OpenSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>

</filter>

<filter-mapping>
<filter-name>OpenSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 配置Struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,/config/struts.xml</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<!-- 配置spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

</web-app>


测试spring3.2+struts2+hibernate4

中文乱码,配置的filter不起作用。
...全文
13026 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linda L 2015-11-19
  • 打赏
  • 举报
回复
引用 15 楼 shan9liang 的回复:
引用 14 楼 programming123 的回复:
[quote=引用 13 楼 shan9liang 的回复:] [quote=引用 4 楼 haiyan_cf 的回复:] 过滤器中是不是少写了FilterChain.doFilter()的调用
用得是spring的filter。
同样问题。 你找到问题了吗?[/quote] 我把代码中所有的编码方式全部改为utf-8,然后把数据库编码也改为utf-8,就没事了[/quote]所有的包括哪些?
summmer- 2013-10-22
  • 打赏
  • 举报
回复
这个不用配置,我没问题。
programming123 2013-06-26
  • 打赏
  • 举报
回复
引用 15 楼 shan9liang 的回复:
引用 14 楼 programming123 的回复:
[quote=引用 13 楼 shan9liang 的回复:] [quote=引用 4 楼 haiyan_cf 的回复:] 过滤器中是不是少写了FilterChain.doFilter()的调用
用得是spring的filter。
同样问题。 你找到问题了吗?[/quote] 我把代码中所有的编码方式全部改为utf-8,然后把数据库编码也改为utf-8,就没事了[/quote] 我也找到了。 不过谢谢了。
shan9liang 2013-06-26
  • 打赏
  • 举报
回复
引用 14 楼 programming123 的回复:
引用 13 楼 shan9liang 的回复:
[quote=引用 4 楼 haiyan_cf 的回复:] 过滤器中是不是少写了FilterChain.doFilter()的调用
用得是spring的filter。
同样问题。 你找到问题了吗?[/quote] 我把代码中所有的编码方式全部改为utf-8,然后把数据库编码也改为utf-8,就没事了
programming123 2013-06-25
  • 打赏
  • 举报
回复
引用 13 楼 shan9liang 的回复:
引用 4 楼 haiyan_cf 的回复:
过滤器中是不是少写了FilterChain.doFilter()的调用
用得是spring的filter。
同样问题。 你找到问题了吗?
shan9liang 2013-05-11
  • 打赏
  • 举报
回复
引用 4 楼 haiyan_cf 的回复:
过滤器中是不是少写了FilterChain.doFilter()的调用
用得是spring的filter。
shan9liang 2013-05-11
  • 打赏
  • 举报
回复
引用 10 楼 shadowsick 的回复:
请参考我的基于spring,security,struts的开源项目 http://blog.csdn.net/shadowsick
项目不错
shan9liang 2013-05-11
  • 打赏
  • 举报
回复
引用 9 楼 u010616605 的回复:
你用了GET吧
post
小丑哥_V5 2013-05-10
  • 打赏
  • 举报
回复
请参考我的基于spring,security,struts的开源项目 http://blog.csdn.net/shadowsick
Sh_neXu 2013-05-08
  • 打赏
  • 举报
回复
你用了GET吧
shan9liang 2013-05-01
  • 打赏
  • 举报
回复
引用 4 楼 haiyan_cf 的回复:
过滤器中是不是少写了FilterChain.doFilter()的调用
无论是我自己写的filter,还是spring带的filter都不起作用。能顺利添加数据到数据库,但是乱码
shan9liang 2013-05-01
  • 打赏
  • 举报
回复
引用 5 楼 fei1710 的回复:
这个要在web容器里配置吧
放在tomcat中了
shan9liang 2013-05-01
  • 打赏
  • 举报
回复
引用 3 楼 fangmingshijie 的回复:
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>放到characterEncodingFilter前面,不然characterEncodingFilter起不到作用
试了依然不起作用,如果换成我自己写的filter,能执行到,但依然是转换不过来,仍然是乱码
fei1710 2013-04-30
  • 打赏
  • 举报
回复
这个要在web容器里配置吧
刘海燕 2013-04-30
  • 打赏
  • 举报
回复
过滤器中是不是少写了FilterChain.doFilter()的调用
  • 打赏
  • 举报
回复
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>放到characterEncodingFilter前面,不然characterEncodingFilter起不到作用
shan9liang 2013-04-26
  • 打赏
  • 举报
回复
引用 1 楼 qeppykqsn 的回复:
是不是数据库字符集不匹配呀?
我在控制台打印也是一大堆问号
雨中的看客 2013-04-25
  • 打赏
  • 举报
回复
是不是数据库字符集不匹配呀?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧