❶ jsp中为什么加上了过滤器就报错 (HTTP Status 404)
路径配置错误
❷ jsp关于过滤器顺序的乱码问题
首先过滤器 是有加载顺序的!!!这点要明确!! 任何代码都是从上往下执行,怎么可能 隔空执行,这不符合人为规范逻辑的!
characterfilter,是字符编码过滤器,会帮你处理字符编码 转义 ,
如果先加载loginfilter,你传递的中文参数 没有进行任何的编码与解码当然为乱码啊。
❸ filter过滤器问题
你的问题好像是只需要Filter处理jsp的请求,只要改web.xml里Filter配置就可以。url-pattern别给/*,给/.jsp,如果需要过滤多种文件请求,可以再增加filter-mapping,每个的url-pattern对应一种文件。
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
</filter-mapping>
❹ 在filter中,我要过滤所有JSP和action,但登录页login.jsp和login.action不能过滤,这样的话怎么配置
把login.jsp换一个后缀嘛,比如login.htm
❺ jsp用过滤器解决中文乱码问题的方法
定义一过滤器,实现Filtter接口
public
class
EncodingFilter
implements
Filter
{
@Override
public
void
destroy()
{
//
TODO
Auto-generated
method
stub
}
@Override
public
void
doFilter(ServletRequest
req,
ServletResponse
resp,
FilterChain
chain)
throws
IOException,
ServletException
{
//
TODO
Auto-generated
method
stub
HttpServletRequest
request=(HttpServletRequest)req;
HttpServletResponse
response=(HttpServletResponse)resp;
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
chain.doFilter(req,
resp);
}
@Override
public
void
init(FilterConfig
filterConfig)
throws
ServletException
{
//
TODO
Auto-generated
method
stub
}
}
web.xml文件中,配置过滤器
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>pers.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
以上这篇jsp用过滤器解决中文乱码问题的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
❻ JSP中使用Filter的问题
你的filter里面应该指定一下重定向!
就是session里面没有值的时候定向到哪个页面!
你都是返回空!
❼ JSP Filter过滤器设置编码问题。。。
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.omg.CORBA.Request;
{
@Override
publicvoiddestroy(){
//TODOAuto-generatedmethodstub
}
@Override
publicvoiddoFilter(ServletRequestreq,ServletResponseres,
FilterChainchain)throwsIOException,ServletException{
//TODOAuto-generatedmethodstub
System.out.println("字符编码过滤器");
HttpServletRequestrequest=(HttpServletRequest)req;
HttpServletResponseresponse=(HttpServletResponse)res;
request.setCharacterEncoding("UTF-8");
chain.doFilter(request,response);
}
@Override
publicvoidinit(FilterConfigconfig)throwsServletException{
//TODOAuto-generatedmethodstub
}
}
以上就是Filter过滤器的代码, 都设置成UTF-8 支持中文, 写好了以上代码之后,要在web.xml文件中进行配置。
❽ 在线等,jsp不是很熟悉,是filter过滤器报错的吗报错信息贴在下面了。
java.lang.NullPointerException
at com.tkhf.filter.AuthFilter.doFilter(AuthFilter.java:45)
说明你写的doFilter有问题:没有这个对象,或者这个对象为空
AuthFilter.java:45:你看一下45行,可能就是用了没有初始化或者new的对象。
你在检查检查,不然贴你的过滤类来看看
❾ 如何配置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>
❿ 在eclipse中配置了filter之后 运行。jsp界面就显示404
应该是你的过滤器的代码有问题 ,在拦截代码之后都要加上FilterChain.doFilter(reuqest, reponse);才会往下执行