@WebFilter("/FilterController")
public class Filter01 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String text = request.getParameter("text");
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("guanjianci.Properties");
Properties properties = new Properties();
properties.load(resourceAsStream);
Collection<Object> values = properties.values();
String temp = "";
for (Object value : values) {
String s = (String) value;
if (text.contains(s)){
for (int i = 0; i < s.length(); i++) {
temp+="*";
}
String replace = text.replace(s, temp);
text = replace;
}
}
request.setAttribute("text",text);
System.out.println(text);
filterChain.doFilter(request,response);
}
@Override
public void destroy() {
}
}
利用 text.contains(s) 查找出包含关键字的字符串
然后利用 text.replace(s, temp) 替换即可
这篇博客介绍了如何在Java后端开发中利用Filter机制,通过text.contains()方法查找包含特定关键字的字符串,并用text.replace()进行替换操作。
441

被折叠的 条评论
为什么被折叠?



