会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
hibernate3例子
博客园
首页
新随笔
联系
订阅
管理
Servlet编码过滤器(Post和get方式都支持)
package com.pdsu.filter; import java.io.IOException; import java.io.UnsupportedEncodingException; 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.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; /** * 类说明:字符过滤器 * * @author 作者: LiuJunGuang * @version 创建时间:2011-11-18 下午07:05:51 */ public class CharacterEncodingFilter implements Filter { private String encode = "UTF-8";// 默认UTF-8编码 public void init(FilterConfig filterConfig) throws ServletException { String encoding = filterConfig.getInitParameter("encode"); if (encoding != null) { encode = encoding; } } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; // 设置request编码 request.setCharacterEncoding(encode); // 设置相应信息 response.setContentType("text/html;charset=" + encode); response.setCharacterEncoding(encode); chain.doFilter(new CharacterEncodingRequest(request), response); } public void destroy() { } } /** * 对Get方式传递的请求参数进行编码 */ class CharacterEncodingRequest extends HttpServletRequestWrapper { private HttpServletRequest request = null; public CharacterEncodingRequest(HttpServletRequest request) { super(request); this.request = request; } /** * 对参数重新编码 */ @Override public String getParameter(String name) { String value = super.getParameter(name); if(value == null) return null; String method = request.getMethod(); if ("get".equalsIgnoreCase(method)) { try { value = new String(value.getBytes("ISO8859-1"), request.getCharacterEncoding()); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return value; } }
在web.xml中添加如下内容:
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>com.pdsu.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encode</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
posted @
2011-11-19 10:38
hibernate3例子
阅读(
259
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
公告