filter 过滤emoji

拦截器
public class EmojiFilter implements Filter {

    private FilterConfig filterConfig;

    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("Filter initialized");
        this.filterConfig = filterConfig;
    }

    public void destroy() {
        System.out.println("Filter destroyed");
        this.filterConfig = null;
    }

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        chain.doFilter(new MyRequestWrapper((HttpServletRequest) request), response);
    }

}
web.xml配置
<!-- emoji过滤 -->
    <filter>
        <filter-name>EmojiFilter</filter-name>
        <filter-class>com.qtkj.base.EmojiFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>EmojiFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 1 实际过滤方法
 2 public class MyRequestWrapper extends HttpServletRequestWrapper {
 3     public MyRequestWrapper(HttpServletRequest servletRequest) {
 4         super(servletRequest);
 5     }
 6
 7     public String[] getParameterValues(String parameter) {
 8         String[] results = super.getParameterValues(parameter);
 9         if (results == null)
10             return null;
11
12         int count = results.length;
13         String[] trimResults = new String[count];
14         for (int i = 0; i < count; i++) {
15             trimResults[i] = com.qtkj.weixin.utils.EmojiFilter.filterEmoji(results[i].trim());
16             trimResults[i]=trimResults[i].replace(" ", "");
17         }
18         System.out.println("==========="+trimResults+"----------");
19         return trimResults;
20     }
21 }
22 结合emoji处理方法中的方法
时间: 2024-08-06 09:52:11

filter 过滤emoji的相关文章

Java过滤emoji表情,找出emoji的unicode范围。

/** * 过滤Emoji表情 * @author Kunjie * 2015年7月17日 */ public class EmojiFilter { public static void main(String[] args) { System.out.println(filter("啊阿萨德发秦莞尔")); } public static String filter(String str){ if(str == null || str.l

java代码过滤emoji表情

可以新建一个过滤器的类,在类中书写如下代码: public static String filterEmoji(String source) {           if(source != null)          {              Pattern emoji = Pattern.compile ("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",Pattern.UNIC

验证多个Filter过滤一个资源时执行顺序

当有多个Filter过滤一个资源时,执行顺序到底是怎样? 如下测试: 定义两个Filter,FirstFilter,SecondFilter,它们过滤同一个index.jsp页面,并且SecondFilter的映射写在FirstFilter后面 并在两个Filter的doFilter()方法中加上输出语句: 例如FirstFilter的doFilter方法: @Override public void doFilter(ServletRequest request, ServletRespons

easyui filter 过滤时间段

1 $.extend($.fn.datagrid.defaults.filters, {  2     dateRange: {  3         init: function(container, options){  4             var c = $('<div style="display:inline-block"><input class="d1"><input class="d2">

js过滤emoji表情符号

手机端常常会遇到用户输入框,输入emoji,如果是数据库是UTF8,会遇到报错:SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column 'review' at row 1 原因是:UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 过滤 php过滤emoji表情: $name = preg_replace('/[^\\u0000-\\uFF

filter过滤敏感文字

1.提交页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&

angular&#160;如何获取使用filter过滤后的ng-repeat的数据长度

在做项目的过程中,被产品要求在内容为空的过程中显示提示信息,然哦户内容使用ng-repeat循环输出的,并且使用了filter过滤.后在谷歌上找到解决方案,如下: ?之前代码如下显示: <ul> <li ng-repeat="tagChoose in evaluateObj.tagChooseList|filter:{type:1}"> <label> <input type="checkbox" name="de

Java Filter过滤xss注入非法参数的方法

http://blog.csdn.NET/feng_an_qi/article/details/45666813 Java Filter过滤xss注入非法参数的方法 web.xml: [html] view plain copy <filter> <filter-name>XSSFiler</filter-name> <filter-class> com.paic.mall.web.filter.XssSecurityFilter </filter-c

Android利用Filter过滤数据

MainActivity如下: package cc.testfilterable; import java.util.ArrayList; import java.util.HashMap; import android.os.Bundle; import android.widget.ListView; import android.app.Activity; import android.content.Context; /** * Demo描述: * 利用Filter过滤数据 * 可用于