敏感字过滤:不能替换中文;代码如下。
myeclipse 和project的text file encoding皆utf-8.
1.filter/comments.jsp:
<%@ page language ="java" import="java.util.*" pageEncoding="UTF-8" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort()+path+ "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body >
<form action="commentsResult.jsp">
用户名: <input type ="text" name="uname" /><br/>
评论: <textarea rows ="7" cols="10" name= "comments"></textarea ><br/>
<input type ="submit" value="提交"/>
</form >
</body >
</html>
2.filter/commentsFilter.java:
package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CommentsFilter implements Filter{
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding( "utf-8"); //
response.setContentType( "text/html; charset=UTF-8");
String uname=request.getParameter( "uname");
String comments=request.getParameter( "comments");
if( null!=uname){
uname=uname.replace( "hui", "#");
//若是替换中文,则页面显示乱码,尚未解决
request.setAttribute( "uname", uname);
}
if( null!= comments){
comments=comments .replace("dang" , "*" );
request.setAttribute( "comments", comments);
}
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
}
}
同时在web.xml中配置如下:
<filter >
<filter-name >CommentsFilter </filter-name>
<filter-class >filter.CommentsFilter </filter-class>
</filter >
<filter-mapping >
<filter-name >CommentsFilter </filter-name>
<url-pattern >/filter/commentsResult.jsp </url-pattern>
</filter-mapping >
3.filter/commentsResult.jsp:
<%@ page language ="java" import="java.util.*" pageEncoding="UTF-8" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort()+path+ "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body >
用户名: <%=request.getAttribute( "uname") %><br />
评论: <%=request.getAttribute( "comments") %>
</body >
</html>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。