<body> <form action="<c:url value='/WordServlet'/>" method="post"> 姓名:<input type="text" name="name"/><br/> 留言内容:<textarea rows="10" cols="10" name="textarea"></textarea><br/> <input type="submit" value="提交"/> </form> </body>
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name =request.getParameter("name");//名字
String text=request.getParameter("textarea");//浏览内容
PrintWriter pw =response.getWriter();
pw.println("name="+name);//这里直接输出,仅仅只是为了查看能否过滤那些关键字。。
pw.print("内容"+text);
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req=(HttpServletRequest) request;
MyFilter myf =new MyFilter(req);
chain.doFilter(myf, response);//采勇我们加强的类的request,传给后面的servlet使用
}
class MyFilter extends HttpServletRequestWrapper{
//这是采用包装模式
public MyFilter(HttpServletRequest request) {
super(request);
}
@Override //从写这个方法
public String getParameter(String name) {
String words =super.getParameter(name);
System.out.println(words);//过滤前的文字
List<String> list=WordUtils.getword();
for(String ll:list){
words=words.replace(ll, "*");//敏感词汇采用**代替
}
return words;
}
public class WordUtils {
//采用单例模式
private static List<String> list =new ArrayList<String>();//我们可以从这访问数据库中存的敏感词汇,封装成list返回
static {//手动添加几个
list.add("坑货");
list.add("骂人");
list.add("傻逼");
}
public static List<String> getword(){
return list;
}
public static void addWord(String name){
list.add(name);
}
public static void sava(){
//这里可以list里面的数据存到数据库中,方便维护,当然也可以写增删改查等
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有