初学者,一个很简单的Fiter,主体代码如下
public class FilterTest implements Filter{
public void init(FilterConfig servletconfig) throws ServletException {
System.out.println("过滤非法字符");
}
public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws ServletException,IOException{
HttpServletRequest request=(HttpServletRequest)req;
request.setCharacterEncoding("gb2312");
String test=(String)request.getParameter("test");
if(test!=null){
if(test.indexOf("哈")!=-1){
System.out.println("含有");
request.getRequestDispatcher("fail.jsp").forward(req,res);
}else{
System.out.println("不含有");
chain.doFilter(req,res);
}
}else{
chain.doFilter(req,res);
}
}
public void destroy(){
System.out.println("过滤器销毁");
}
经过测试,test.indexOf("r")!=-1,对英文字符的判断正确,test.indexOf("哈")!=-1,中文字符就识别不出来,控制台都是输出 “不含有”有朋友能帮忙解决哈么
public class FilterTest implements Filter{
public void init(FilterConfig servletconfig) throws ServletException {
System.out.println("过滤非法字符");
}
public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws ServletException,IOException{
HttpServletRequest request=(HttpServletRequest)req;
request.setCharacterEncoding("gb2312");
String test=(String)request.getParameter("test");
if(test!=null){
if(test.indexOf("哈")!=-1){
System.out.println("含有");
request.getRequestDispatcher("fail.jsp").forward(req,res);
}else{
System.out.println("不含有");
chain.doFilter(req,res);
}
}else{
chain.doFilter(req,res);
}
}
public void destroy(){
System.out.println("过滤器销毁");
}
经过测试,test.indexOf("r")!=-1,对英文字符的判断正确,test.indexOf("哈")!=-1,中文字符就识别不出来,控制台都是输出 “不含有”有朋友能帮忙解决哈么
解决方案 »
- ssh整合问题 No getter method for property skuname of bean
- 关于ibatis的sqlMapClient.executeBatch()的疑问
- 在myeclipse中开发JSP,用<jsp:include file="">为什么不显示包含页面?大家帮下我
- 一个新手的疑问
- 我要设计一个类似于QQ的系统,请问如何嵌入视频和音频系统呢
- 请教了!!!!!
- JavaWeb项目用ibatis调用存储过程总是报错 求大神帮忙解决
- 紧急求救ldap用户验证的问题!!急急急(在线等,搞定就结贴)
- linux系统下的jsp中文显示乱码问题
- 在程序中怎样实现页面在新窗口打开
- 请高手说下学习WEB方面的知识该怎么顺序学习!
- DRP和OA
String test=(String)request.getParameter("test"); 如果改成
String test=request.getParameter("test");
判断都正常,
为什么前面加个强制转化为String,就会出现问题了?谢谢
而获得属性值Stirng username=(String)request.getAttribute("username");前,又必须(String)强制转化
request.getParameter("test")这个方法的返回类型本来就是String 类型的了,你强转是没有用的。。而getAttribute("username")这个方法的返回类型是Object,所以要进行强转...