欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp中过滤器选择过滤器的写法详解

程序员文章站 2023-01-04 08:02:00
实例如下: public class logincheckfilter implements filter { private filterconfig...

实例如下:

public class logincheckfilter implements filter {


private filterconfig config=null;
private string webroot=null;
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;
httpsession session=request.getsession(false); //取得当前会话的session,没有session也不创建session,同request.getsession()一样


string url=request.getrequesturi(); //获取当前输入的 /项目/当前访问的路径 与我们定义的路径是否相同


if(url!=null&&url.equals(webroot+"/login.jsp")&&url.equals(webroot+"/loginservlet")){

chain.dofilter(req,resp);
}else{

if(session==null){
response.sendredirect(webroot+"/login.jsp");

}else{

string user2=(string)session.getattribute("user1");
if(user2==null){

response.sendredirect(webroot+"/login.jsp");

}else{

chain.dofilter(request, response);

}
}

}

}


@override
public void init(filterconfig config) throws servletexception {
// todo auto-generated method stub
this.config=config;
servletcontext ctx=config.getservletcontext(); //获取url  /项目名
webroot=ctx.getcontextpath();    //项目名


}
}

这里需要注意的是loginservlet跳转到欢迎页面所用的跳转是客户端跳转。

以上这篇jsp中过滤器选择过滤器的写法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。