博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中文乱码和HTML过滤器【代码库】
阅读量:6929 次
发布时间:2019-06-27

本文共 2932 字,大约阅读时间需要 9 分钟。


tags: 代码库


#中文乱码#

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());    }		}复制代码

如果您觉得这篇文章帮助到了您,可以给作者一点鼓励

转载地址:http://zkujl.baihongyu.com/

你可能感兴趣的文章
有关HTTP的粗读
查看>>
在线支付系统功能
查看>>
如果有个库函数接受的是无参数的回调函数怎么办?
查看>>
Asp.Net Core Authentication Middleware And Generate Token
查看>>
[C++]简单的udp通信
查看>>
Recovery模式【转】
查看>>
SQL数据分析概览——Hive、Impala、Spark SQL、Drill、HAWQ 以及Presto+druid
查看>>
mongodb备份与恢复
查看>>
iOS 11确认将完全停止支持 32 位应用
查看>>
hdu 4857 逃生 (拓扑排序+保证最小在前面)
查看>>
shell 编程笔记
查看>>
1215 迷宫
查看>>
盖茨对微软有多少控制力?比你想象的要大
查看>>
Android学习系列(二)布局管理器之线性布局的3种实现方式
查看>>
U盘复制文件到最后5秒会卡住怎么办解决
查看>>
sqlserver提高篇
查看>>
Scrollanim – CSS3 & JavaScript 创建滚动动画
查看>>
reportng之测试报告升级美化
查看>>
习题四——数字智力题
查看>>
搜狗笔试的思考
查看>>