过滤器复用代码【中文乱码、HTML转义】
来源:互联网 发布:如何重新编译java项目 编辑:程序博客网 时间:2024/06/05 10:48
中文乱码
public class CharacterEncodingFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); chain.doFilter(new MyRequest(request), response); } public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } public void destroy() { // TODO Auto-generated method stub }}class MyRequest extends HttpServletRequestWrapper{ private HttpServletRequest request; public MyRequest(HttpServletRequest request) { super(request); this.request = request; } @Override public String getParameter(String name) { String value = this.request.getParameter(name); if(value==null){ return null; } if(!this.request.getMethod().equalsIgnoreCase("get")){ return value; } try { value = new String(value.getBytes("iso8859-1"),"UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } return value; }}
过滤HTML
public class HtmlFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; chain.doFilter(new MyRequest2(request), response); } public void destroy() { // TODO Auto-generated method stub } public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub }}class MyRequest2 extends HttpServletRequestWrapper{ private HttpServletRequest request; public MyRequest2(HttpServletRequest request) { super(request); this.request = request; } @Override public String getParameter(String name) { String value = this.request.getParameter(name); if(value==null){ return null; } return filter(value); } public String filter(String message) { if (message == null) return (null); char content[] = new char[message.length()]; message.getChars(0, message.length(), content, 0); StringBuffer result = new StringBuffer(content.length + 50); for (int i = 0; i < content.length; i++) { switch (content[i]) { case '<': result.append("<"); break; case '>': result.append(">"); break; case '&': result.append("&"); break; case '"': result.append("""); break; default: result.append(content[i]); } } return (result.toString()); }}
1 0
- 过滤器复用代码【中文乱码、HTML转义】
- java web过滤器实际应用(解决中文乱码 html标签转义功能 敏感字符过滤功能)
- 用过滤器让全站html标签转义输出
- 用过滤器治理中文乱码
- 用myeclipse开发java,中文乱码过滤器
- Struts用Filter过滤器解决中文乱码
- jsp用过滤器解决中文乱码
- 怎么用过滤器处理中文乱码问题
- 过滤器解决中文乱码
- Filter 过滤器 中文乱码
- 中文乱码和过滤器
- 中文乱码过滤器
- java中文乱码过滤器
- 用正则表达式转义html代码
- HTML转义JAVA代码
- 一个中文过滤器代码
- jsp 中文乱码之过滤器
- Spring 的中文乱码过滤器
- Linux du(disk usage)命令详解
- PBC library学习历程(一)
- yum的特点和基本应用
- 网络问题处理流程
- 史上最简单的Hibernate入门
- 过滤器复用代码【中文乱码、HTML转义】
- FTP工作原理与抓包
- RPM包管理之查询软件包
- jdbcType与数据类型的对应以及DATE ,TIMESTAMP类型的区别
- Samba的安装和基本应用
- https原理解析:证书传递、验证和数据加密、解密过程解析
- JSON基础知识总结
- 网络常见攻击类型
- RabbitMQ .NET Client 实战实验