authfilter.java
来自「Hibernate开发及整合应用大全 蔡雪焘编著 本书用典型的示例剖析Hiber」· Java 代码 · 共 55 行
JAVA
55 行
package ch14_5_1;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
public class AuthFilter implements Filter
{
String LOGIN_PAGE="/14.5.1/login.jsp";
protected FilterConfig filterConfig;
/**
*过滤器中最重要的处理方法
*/
public void doFilter(final ServletRequest req,final ServletResponse res,FilterChain chain)throws IOException,ServletException
{
HttpServletRequest hreq = (HttpServletRequest)req;
HttpServletResponse hres = (HttpServletResponse)res;
HttpSession session = hreq.getSession();
String isLogin="";
try
{
isLogin=(String)session.getAttribute("isLogin");//从session中取得是否登录的标识对象
if(isLogin!=null&&isLogin.equals("true")) //如果有登录标识为"true"
{
System.out.println("在AuthFilter中验证通过");//在控制台打印一行验证成功语句
chain.doFilter(req,res); //验证成功,交给下一步继续处理,
} //可能是另一个过滤器,也可能是jsp页面
else
{
hres.sendRedirect(LOGIN_PAGE); //验证不成功,让用户登录
System.out.println("被AuthFilter拦截一个未认证的请求");//在控制台打印一验证失败行语句
}
}catch(Exception e)
{
e.printStackTrace();
}
}
/**
*销毁过滤器
*/
public void destroy()
{
this.filterConfig=null;
}
/**
*初始化过滤器,和一般的Servlet一样,它也可以获得初始参数。
*/
public void init(FilterConfig config) throws ServletException {
this.filterConfig = config;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?