实例如下:
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中过滤器选择过滤器的写法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持硕编程。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!