一.敏感字符过滤成(*******)
1. 创建过滤器filter包新建CharFilter类
package filter;
import util.MyRequest01;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.Set;
@WebFilter(filterName = "CharFilter",urlPatterns = "/CharServlet")
public class CharFilter implements Filter {
private Properties p = new Properties();
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//初始化,读取文件,存放的;ist中
InputStream stream=filterConfig.getServletContext().getResourceAsStream("/WEB-INF/text.txt");
InputStreamReader is=null;
BufferedReader reader=null;
try {
is=new InputStreamReader(stream,"utf-8");
reader=new BufferedReader(is);
String txt="";
while ((txt=reader.readLine())!=null){
list.add(txt);
System.out.println(txt);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
reader.close();
is.close();
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)servletRequest;
request.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
servletResponse.setContentType("text/html;charset=utf-8");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
System.out.println(filterName+"过滤器销毁");
}
}
2. 创建工具包util新建MyRequest类
package util;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import java.util.ArrayList;
import java.util.List;
public class MyRequest extends HttpServletRequestWrapper {
private HttpServletRequest httpServletRequest;
private List list = new ArrayList<>();
public MyRequest(HttpServletRequest request, List list) {
super(request);
httpServletRequest = request;
this.list = list;
}
@Override
public String getParameter(String name) {
String txt = httpServletRequest.getParameter(name);
//
if(txt!=null&&!txt.isEmpty()){
for (int i=0;i
- 新建txt文档,里面写上你要过滤的字符
text.txt里面包括
傻逼
sb
逗比
TMD
这些就是你要过滤的敏感字符
二·.敏感字符过滤成好听的文字
1. 创建过滤器filter包新建CharFilter01类
package filter;
import util.MyRequest01;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.Set;
@WebFilter(filterName = "CharFilter",urlPatterns = "/CharServlet")
public class CharFilter implements Filter {
private Properties p = new Properties();
@Override
public void init(FilterConfig filterConfig) throws ServletException {
InputStream stream=filterConfig.getServletContext().getResourceAsStream("/WEB-INF/char.properties");
try {
p.load(stream);
} catch (IOException e) {
e.printStackTrace();
}
Set
- 创建工具包util新建MyRequest01类
package util;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import java.util.Properties;
import java.util.Set;
public class MyRequest01 extends HttpServletRequestWrapper {
private HttpServletRequest httpServletRequest;
private Properties p = new Properties();
public MyRequest01(HttpServletRequest request, Properties p) {
super(request);
this.p=p;
httpServletRequest = request;
}
@Override
public String getParameter(String name) {
String txt = httpServletRequest.getParameter(name);
if(txt!=null&&!txt.isEmpty()){
Set
以上这些你可以写一个jsp页面传值到servlet在页面上显示出来



