`
xq30397022
  • 浏览: 12956 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

struts2.1+hibernate+spring 乱码处理

 
阅读更多

做项目时由于数据库的编码格式错误,使我误认为自己的项目配置出现了问题,因此用了很多解决乱码的方法,现在整理出来供大家借鉴:

注意事项一:

设置jsp页面的编码格式:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

注意事项二:

struts.xml配置文件加入编码配置:

<constant name="struts.i18n.encoding" value="UTF-8"></constant>(这个基本上是不起作用的)

注意事项三:

web.xml中配置struts过滤器,用spring来监听

<!-- spring 监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- struts2 过滤器-->

<filter>
<filter-name>strutsFilterDispatcher</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>strutsFilterDispatcher</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

注意事项四:

编写自己的编码过滤器,用来对HttpServletRequest设定

先写个EcodingFilter类,代码如下:

public class EcodingFilter implements Filter{

private FilterConfig filterConfig;
public void destroy() {
// TODO Auto-generated method stub

}

public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest) arg0;
HttpServletResponse response = (HttpServletResponse) arg1;

String encode = this.filterConfig.getInitParameter("encode");
request.setCharacterEncoding(encode);
response.setCharacterEncoding(encode);
arg2.doFilter(request, response);
}

public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
this.filterConfig = filterConfig;

}

}

然后在web.xml里注册该过滤器,写法如下:

<!-- ecoding filter -->
<filter>
<filter-name>EcodingFilter</filter-name>
<filter-class>com.oa.util.EcodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EcodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

注意事项五:

在web.x中用spring的字符过滤器,代码如下:

<!-- spring 编码 -->
<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>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

注意事项六:

在tomcat中的service.xml中修改tomcat的编码格式,方法如下找到tomcat中config文件夹里面的service.xml文件,打开修改:

找到这段代码:

<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

把它改为:

<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />

注意事项七:

就是你的数据库编码要和你的页面和过滤器中的编码要一致,为什么把这条放在最后呢,我想大家一般不会犯这种低级错误的,呵呵~~

经过上面的设置,你应该完全可以摆脱乱码问题了!

(吐血推荐啊!!!)



分享到:
评论

相关推荐

    解决struts2.1.6+spring+hibernate 中文乱码

    web.xml(仅写出中文处理部分,spring的配置不用改变) &lt;filter-name&gt;encodingFilter &lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter &lt;init-param&gt; &lt;param-name&gt;encoding...

    JavaWeb学生在线选课系统Struts+Hibernate+Spring

    JavaWeb学生在线选课系统,使用了三大框架SSH Struts+Hibernate+Spring 编码格式是UTF-8,打开请注意调一下格式,如果出现乱码,请下载一个高级记事本例如Notepad+++直接打开 .java源文件 复制粘贴即可.内含数据库脚本...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...

    struts1.2+spring2.0+hibernate3.1框架整合实例

    采用在web.xml中加载spring配置文件的方法降低struts和spring的耦合度,使用自定义的MyDelegatingRequestProcessor类来代替spring的DelegatingRequestProcessor类来解决spring中action的bean的重复配置问题。...

    maven3+struts2+spring+ibatis

    maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...

    javaee SSH整合(Spring4+Struts2+Hibernate4)所需的包

    含有 SSH整合(Spring4+Struts2+Hibernate4)所需的包,包括spring-jdbc-4.0.0.RELEASE.jar,struts2-dojo-plugin-2.3.15.1.jar,hibernate-commons-annotations-4.0.4.Final,spring-jdbc-4.0.0.RELEASE.jar等等,...

    Struts2+Spring2+Hibernate3整合的例子.rar

    Struts2+Spring2+Hibernate3整合的例子,含mysql数据库,解决了关于utf-8中文乱码问题

    maven3.0+struts+spring+hibernate

    1.STRUTS2乱码,解决方法是在struts.xml中加入 &lt;constant name="struts.i18n.encoding" value="gb2312" /&gt; 2.验证失败一次后就连续验证失败 (即使密码正确) 这个属于与Spring整合的问题,Spring容器在初始化对象的...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...

    Struts+hibernate含金量很高的例子

    处理了汉字乱码,例子中有现成的数据库 开发环境:JBuilder2006+MSSQL2000 朋友们,说到hibernate持久化数据 你还一头雾水。那你不要担心,下载这个例子,直到弄懂它, 从此,你就会用hibernate进行基本操作了。...

    struts2.1宝典

    目录 ...struts2表单标签 1 1、struts资源文件中文解决...SSH Struts+Spring+Hibernate整合 38 创建WEB工程 39 添加Struts2.1开发支持 39 添加Spring开发支持 39 添加Hibernate支持 40 添加Jar包 42 修改Web.xml文件, 42

    网上书店系统(Struts+Hibernate)(Java EE项目案例)

    ed2k://|file|%E7%B2%BE%E9%80%9AJava.EE%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B-%E5%9F%BA%E4%BA%8EEclipse.Spring.Struts.Hibernate%E5%85%89%E7%9B%98%E6%BA%90%E7%A0%81.rar|70436209|475e7c3548acf955e89e378...

    Spring + Hibernate + Struts 事务配置小例子(带提示框等小技巧)

    前几天搞 Spring + Hibernate + Struts 事务配置 ,网上找了好多资料,不过好无语,大多都是 Ctrl + V,浪费俺的宝贵时间 现在我总结配出一套,给大家参考参考,可能有不足,请大家多多交流。 附:内有弹出...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    java web hibernate struts spring 全方位解决乱码

    java web hibernate struts spring 全方位解决乱码 很全!

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring...

    个性化定制系统(Ajax+Spring+Hibernate)(Java EE项目案例)

    ed2k://|file|%E7%B2%BE%E9%80%9AJava.EE%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B-%E5%9F%BA%E4%BA%8EEclipse.Spring.Struts.Hibernate%E5%85%89%E7%9B%98%E6%BA%90%E7%A0%81.rar|70436209|475e7c3548acf955e89e378...

    struts2 spring hibernate ssh整合实例

    解决了中文上传,下载中文乱码问题。添加了基本的ajax功能讲读取json数据

    struts spring hibernate完整环境配置

    本程序是struts spring hibernate的完整环境配置, 包括: struts1.3 spring 2.0 hibernate 3.1 的所有完整的包。 BeanNameAutoProxyCreator事务处理 中文乱码解决 MD5程序加密 AJAX验证码等 ...

Global site tag (gtag.js) - Google Analytics