Struts+Hibernate模板开发笔记---解决汉字编码问题
2005-06-04 17:07
519 查看
1.修改web.xml文件,在<web-app>标签后增加如下内容. <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>com.company.demo.util.SetEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet>2.创建类文件(SetEncodingFilter.java) package com.company.demo.util; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.UnavailableException; /** * Set All HttpRequest Encoding */ public class SetEncodingFilter implements Filter { /** * The default character encoding to set for requests that pass through * this filter. */ protected String encoding = null; /** * The filter configuration object we are associated with. If this value * is null, this filter instance is not currently configured. */ protected FilterConfig filterConfig = null; /** * Should a character encoding specified by the client be ignored? */ protected boolean ignore = true; /** * Take this filter out of service. */ public void destroy() { this.encoding = null; this.filterConfig = null; } /** * Select and set (if specified) the character encoding to be used to * interpret request parameters for this request. * * @param request The servlet request we are processing * @param result The servlet response we are creating * @param chain The filter chain we are processing * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet error occurs */ public void doFilter( ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (ignore || (request.getCharacterEncoding() == null)) { request.setCharacterEncoding(selectEncoding(request)); } chain.doFilter(request, response); } /** * Place this filter into service. * @param filterConfig The filter configuration object */ public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter("encoding"); String value = filterConfig.getInitParameter("ignore"); if (value == null) this.ignore = true; else if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("yes")) this.ignore = true; else this.ignore = false; } /** * Select an appropriate character encoding to be used, based on the * characteristics of the current request and/or filter initialization * parameters. If no character encoding should be set, return * <code>null</code>. * <p> * The default implementation unconditionally returns the value configured * by the <strong>encoding</strong> initialization parameter for this * filter. * * @param request The servlet request we are processing */ protected String selectEncoding(ServletRequest request) { return (this.encoding); } /** * Returns the filterConfig. * @return FilterConfig */ public FilterConfig getFilterConfig() { return filterConfig; } /** * Sets the filterConfig. * @param filterConfig The filterConfig to set */ public void setFilterConfig(FilterConfig filterConfig) { this.filterConfig = filterConfig; } } |
相关文章推荐
- Struts+Hibernate模板开发笔记---设计模式:门面
- Struts+Hibernate模板开发笔记---自定义标签
- Struts+Hibernate模板开发笔记---设计模式:DAO
- Struts+Hibernate模板开发笔记
- Struts+Hibernate模板开发笔记(转)
- Struts+Hibernate模板开发笔记(一)
- Struts+Hibernate模板开发笔记---设计模式:单例
- Struts+Hibernate模板开发笔记---设计模式:MVC
- (开发笔记)转载:解决Maven的“Missing artifact ……”问题
- 学习笔记之ArcgisEngine 开发 10.1程序运行在10.0平台上的兼容问题解决
- Android开发笔记 合理解决获取唯一标识符及其授权问题
- Hibernate开发实践笔记--对象在set属性时更新了数据库问题
- Hibernate开发实践笔记--对象在set属性时更新了数据库问题
- iOS开发笔记>> 怎么解决cell缓存池满的问题
- Android开发笔记: 解决View宽高为0的问题
- Struts+Hibernate中解决汉字编码问题
- OpenInventor开发笔记:解决FaceSet的填充问题
- office档开发遇到的问题的解决方法笔记
- ArcGIS API for javascript开发笔记(二)——解决ArcGIS Service中的服务在内网环境下无法进行javascript预览问题
- 黑马程序员自学笔记————字符编码原理,以及开发中常见的问题的解决方法: