『壹』 在web.xml中加入过滤器
在web.xml中加入过滤器,参考代码如下:
<filter>
<filter-name>authority</filter-name> //过滤器的名称,可以自行修改
<filter-class>com.topcheer.filter.AuthorityFilter</filter-class>
<init-param> //初始化的参数
<param-name>NotRequiredAuthorityURL</param-name>
<param-value>/downloadImageControl.action,/initLogin.action,/default.jsp,/logout.jsp,/invalidation.jsp,/login.action,/default.action</param-value>
</init-param> //初始化的参数
<init-param> //初始化的参数
<param-name>invalidURL</param-name> //过滤器要过滤的对象,可自行设置
<param-value>/invalidation.jsp</param-value>
</init-param>
</filter>
<filter-mapping> //过滤器映射
<filter-name>authority</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping> //过滤器映射
<filter-mapping> //过滤器映射
<filter-name>authority</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
『贰』 web.xml 配置过滤器 问题
伙计,别这样写了,出错的原因不在过滤器本身,而是在xml文件上,xml文件不支持通配符版,所以你可以把<url-pattern>的值权改为"*",默认全都过滤,然后在过滤器里面写一个正则表达式:
String str = "[\\w]{1,}\\.jsp$";来判断是否是jsp页面,如果是就不执行doFilter()方法,这样过滤才算灵活,获取请求的文件名不用我说了吧?相信你会的
『叁』 jsp中的中文乱码过滤器如何写,在web.xml里如何配置有没劳永逸的决绝方案
写在jsp文件中 只对post有效. request.setCharacterEncoding("gbk");该代码一般放在最前面. 上面这行代码只能getParameter()前设置,否则此代码无效.
『肆』 为什么我项目创建了过滤器web。XML配置也没问题,还存在中文乱码的问题
过滤器只能针对post 请求的数据进行编码转换,对于get 提交的数据乱码是处理 不了的
『伍』 如何在web.xml配置过滤器实现过滤web下所有文件夹下的文件
比如我要过滤web文件夹下的所有文件内
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/web/*</url-pattern>
</filter-mapping>
不要什容么.jsp
『陆』 在web.xml中,配置过滤器出现的问题
你把顺序写错了,它是根据上面的dtd规范来的,你把鼠标移上错误那里去看,它有每个标签的先后顺序,看那filter和filter-mapping是写在servlet前面的,明白问题所在了么
『柒』 web.xml中关于spring字符集过滤器
默认为false
『捌』 如何配置Filter过滤器处理JSP中文乱码
注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk。虽然两种都可以出来中文乱码,但是却造成了处理乱码的格式不一致。所以编译出错。
解决方法:所有地方都用utf-8或gbk
//过滤器类
CharactorFilter.jsp
package cn.com.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 CharactorFilter implements Filter { //继承Filter类
//字符编码
String encoding=null;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(encoding!=null){
//设置request字符编码
request.setCharacterEncoding(encoding);
//设置response字符编码
response.setContentType("text/html;charset="+encoding);
}
//传递给下一个过滤器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
//获取初始化参数
encoding=filterConfig.getInitParameter("encoding");
}
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
}
web.xml
<filter> <!--注意这里是filter,不要配置成servlet-->
<filter-name>CharactorFilter</filter-name> <!--过滤器名称-->
<filter-class>cn.com.Filter.CharactorFilter</filter-class> <!--过滤器的完整类名-->
<init-param> <!--初始化参数-->
<param-name>encoding</param-name> <!--参数名称-->
<param-value>utf-8</param-value> <!--参数值-->
</init-param>
</filter>
<filter-mapping> <!--过滤器映射-->
<filter-name>CharactorFilter</filter-name><!--过滤器名称-->
<url-pattern>/*</url-pattern><!--URL映射,给所有页面处理乱码-->
</filter-mapping>
『玖』 javaweb,给HTML文件加上过滤器以后,HTML显示乱码。
那是你的浏览器不识别Content-Type,采用了默认的GBK/GB2312编码显示,这个可以在打开页面“右键-编码”看到;meta最好给一个结束符,即:<meta http-equiv="content-type" content="text/html; charset=utf-8" />
『拾』 关于jsp页面的乱码问题,在web.xml文件中配置了过滤器
首先,你要把你整个项目的编码格式设置成utf-8,还有就是默认的编码格式也要是utf-8,
如果还不行的话,可能是你浏览器的编码格式造成的.修改下试试.祝你好运!