问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java过滤非法字符的filter

发布网友 发布时间:2022-05-01 13:09

我来回答

3个回答

热心网友 时间:2023-10-14 04:53

filter代码在pujia12345提供的代码上改的;
jsp页面的编码你设成你自己的,我用的是utf-8。
input.jsp输入后,正常跳转到handle.jsp,而禁词已经被过滤。
filter:
package test;

import java.io.*;
import javax.servlet.*;
import java.util.*;

public class MyFilter implements Filter
{
private List<String> unString;

public void init(FilterConfig filterConfig) throws ServletException
{
unString = new ArrayList<String>();
unString.add("日");
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String content = request.getParameter("content");//需要过滤的参数
if(content!=null){
for (int i = 0; i < unString.size(); i++)
{
String strIllegal = unString.get(i);
if (content.indexOf(strIllegal) >= 0)
{
content = content.replaceAll(strIllegal, "");//非法字符替换成空
}
request.setAttribute("content", content);//为request设置属性保存修改后的值
}
}
chain.doFilter(request, response);
}
public void destroy()
{
//System.out.println("过滤器销毁");
}
}

//---------------------------//
web.xml:
<filter>
<filter-name>myfilter</filter-name>
<filter-class>test.MyFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

//---------------------------//
输入页面input.jsp:

<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>input.jsp</title>
</head>

<body>
<form action="handle.jsp" method="post">
<input type="text" name="content" />
<input type="submit" value=" 提交 " />
</form>
</body>
</html>

//---------------------------//
input提交的页面handle.jsp:
<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> handle.jsp </title>
</head>

<body>
<%
String content = (String)request.getAttribute("content");
out.println(content);
%>
</body>
</html>

热心网友 时间:2023-10-14 04:53

import java.io.*;
import javax.servlet.*;
public class CharFilter implements Filter
{
private List<String> unString;
public void init(FilterConfig filterConfig)throws ServletException
{
unString=new ArrayList<String>();
unString.add("日");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
{
String content=request.getParameter("content");//需要过滤的参数
for(int i=0;i<unString.size();i++){
if(content.indexOf(unString.get(i)>=0) { System.out.println("有非法文字");
request.getRequestDispatcher("error.jsp").forward(request,response);
}
}
chain.doFilter(request,response);

}

}
public void destroy()
{
//System.out.println("过滤器销毁");
}
-----------------
web.xml
----------------
<filter>
<filter-name> char </filter-name>
<filter-class> cn.mldn.lxh.filter.CharFilter </filter-class>
</filter>

<filter-mapping>
<filter-name> char </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>

热心网友 时间:2023-10-14 04:54

你用的是什么框架,FILTER程序是自己写的吗?
代码贴过来看看

热心网友 时间:2023-10-14 04:53

filter代码在pujia12345提供的代码上改的;
jsp页面的编码你设成你自己的,我用的是utf-8。
input.jsp输入后,正常跳转到handle.jsp,而禁词已经被过滤。
filter:
package test;

import java.io.*;
import javax.servlet.*;
import java.util.*;

public class MyFilter implements Filter
{
private List<String> unString;

public void init(FilterConfig filterConfig) throws ServletException
{
unString = new ArrayList<String>();
unString.add("日");
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String content = request.getParameter("content");//需要过滤的参数
if(content!=null){
for (int i = 0; i < unString.size(); i++)
{
String strIllegal = unString.get(i);
if (content.indexOf(strIllegal) >= 0)
{
content = content.replaceAll(strIllegal, "");//非法字符替换成空
}
request.setAttribute("content", content);//为request设置属性保存修改后的值
}
}
chain.doFilter(request, response);
}
public void destroy()
{
//System.out.println("过滤器销毁");
}
}

//---------------------------//
web.xml:
<filter>
<filter-name>myfilter</filter-name>
<filter-class>test.MyFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

//---------------------------//
输入页面input.jsp:

<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>input.jsp</title>
</head>

<body>
<form action="handle.jsp" method="post">
<input type="text" name="content" />
<input type="submit" value=" 提交 " />
</form>
</body>
</html>

//---------------------------//
input提交的页面handle.jsp:
<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> handle.jsp </title>
</head>

<body>
<%
String content = (String)request.getAttribute("content");
out.println(content);
%>
</body>
</html>

热心网友 时间:2023-10-14 04:53

import java.io.*;
import javax.servlet.*;
public class CharFilter implements Filter
{
private List<String> unString;
public void init(FilterConfig filterConfig)throws ServletException
{
unString=new ArrayList<String>();
unString.add("日");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
{
String content=request.getParameter("content");//需要过滤的参数
for(int i=0;i<unString.size();i++){
if(content.indexOf(unString.get(i)>=0) { System.out.println("有非法文字");
request.getRequestDispatcher("error.jsp").forward(request,response);
}
}
chain.doFilter(request,response);

}

}
public void destroy()
{
//System.out.println("过滤器销毁");
}
-----------------
web.xml
----------------
<filter>
<filter-name> char </filter-name>
<filter-class> cn.mldn.lxh.filter.CharFilter </filter-class>
</filter>

<filter-mapping>
<filter-name> char </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>

热心网友 时间:2023-10-14 04:54

你用的是什么框架,FILTER程序是自己写的吗?
代码贴过来看看

热心网友 时间:2023-10-14 04:53

filter代码在pujia12345提供的代码上改的;
jsp页面的编码你设成你自己的,我用的是utf-8。
input.jsp输入后,正常跳转到handle.jsp,而禁词已经被过滤。
filter:
package test;

import java.io.*;
import javax.servlet.*;
import java.util.*;

public class MyFilter implements Filter
{
private List<String> unString;

public void init(FilterConfig filterConfig) throws ServletException
{
unString = new ArrayList<String>();
unString.add("日");
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String content = request.getParameter("content");//需要过滤的参数
if(content!=null){
for (int i = 0; i < unString.size(); i++)
{
String strIllegal = unString.get(i);
if (content.indexOf(strIllegal) >= 0)
{
content = content.replaceAll(strIllegal, "");//非法字符替换成空
}
request.setAttribute("content", content);//为request设置属性保存修改后的值
}
}
chain.doFilter(request, response);
}
public void destroy()
{
//System.out.println("过滤器销毁");
}
}

//---------------------------//
web.xml:
<filter>
<filter-name>myfilter</filter-name>
<filter-class>test.MyFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

//---------------------------//
输入页面input.jsp:

<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>input.jsp</title>
</head>

<body>
<form action="handle.jsp" method="post">
<input type="text" name="content" />
<input type="submit" value=" 提交 " />
</form>
</body>
</html>

//---------------------------//
input提交的页面handle.jsp:
<%@page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> handle.jsp </title>
</head>

<body>
<%
String content = (String)request.getAttribute("content");
out.println(content);
%>
</body>
</html>

热心网友 时间:2023-10-14 04:53

import java.io.*;
import javax.servlet.*;
public class CharFilter implements Filter
{
private List<String> unString;
public void init(FilterConfig filterConfig)throws ServletException
{
unString=new ArrayList<String>();
unString.add("日");
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException
{
String content=request.getParameter("content");//需要过滤的参数
for(int i=0;i<unString.size();i++){
if(content.indexOf(unString.get(i)>=0) { System.out.println("有非法文字");
request.getRequestDispatcher("error.jsp").forward(request,response);
}
}
chain.doFilter(request,response);

}

}
public void destroy()
{
//System.out.println("过滤器销毁");
}
-----------------
web.xml
----------------
<filter>
<filter-name> char </filter-name>
<filter-class> cn.mldn.lxh.filter.CharFilter </filter-class>
</filter>

<filter-mapping>
<filter-name> char </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>

热心网友 时间:2023-10-14 04:54

你用的是什么框架,FILTER程序是自己写的吗?
代码贴过来看看
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 怎么在JAVA中实现关键字过滤 java 如何过滤html代码,只保留中文或英文及基本常用符号 游戏防沉迷填写的身份证就只是验证年龄是否达到18岁而已吗? 为什么我18了注册的身份证满了18玩游戏还是有防沉迷? 在JAVA中怎么实现关键字过滤 vivo手机怎么设置异形门禁卡频率 java里如何从一个字符串里过滤掉一个子串? 防沉迷关联过身份证。又不是18岁以上的!可以解除吗? java 中 jsp页面怎么过滤文本框中的 头尾空格 有几种方法!!! 夏季安全保证书450字 QQ游戏防沉迷系统 我填写了一个未满18岁的身份证 我该怎么改啊? java中文件浏览对话框中怎么过滤文件类型 java读取网页内容:使用readLine拿到网页的一行文本后,如何过滤掉不需要的元素呢? 没18岁以上身份证怎么办 玩游戏老是防沉迷。。 java读取txt文件,如何过滤掉注释 我身份证已经够18了为什么不能注册防沉迷游戏 我现在的身份证还未满18岁,现在有防沉迷。过了18岁还会有防沉迷吗? Java中的文件过滤器是怎么添加的 如何用java代码对同一个txt文本逐行读写并过滤掉不要的信息。 java读取txt文件,如何过滤掉注释以及空格 java正则表达式过滤html p标签 如果有人隐身访问我的qq空间 有没有办法查到? 对方隐身访问你的空间是什么意思?什么心理?我男她女。我们经常聊天,聊的还挺好 如果一个人空间对我设置了隐身访问,那我进他空间也没有记录的吗? 车辆免责协议书有法律效果吗 ...是.3dm的文件到底是什么文件啊?用什么软件打开能看全图呀?_百度知 ... 车辆没有过户但是签了免责协议有法律效益吗? 朋友把车过户到我的名下了,但是车还是他开,我们能不能签订免责合同 家里的抹布是不是油腻腻的,还一股难闻的味儿? 车辆未过户的免责协议 Dnf这次的卡片白银合成器不会下架了吗? DNF卡片合成器:我刚买了10个白银卡片合成器,求合成值钱的卡片方法。在线等!在线等!DNF。 dnf活动处的白银卡片合成器活动结束后还能用吗? 求解 DNF白银卡片合成器怎么样,让我来告诉大家 2017dnf白银卡片合成器什么时候下架 dnf现在出卡片合成器了?多少钱?买了就能合一次还是无限合? 白银卡片合成器合成个什么鬼 健康证网上怎么预约 ipad2能升级ios9以后用什么下载游戏 NaOH在空气中放置一段时间后为什么会潮解?