public class SignonFilter implements Filter
{
String LOGIN_PAGE="login.jsp";
protected FilterConfig filterConfig;
//過(guò)濾處理的方法
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");
System.out.print(isLogin);
if(isLogin!=null&&isLogin.equals("true"))
{
System.out.println("在SignonFilter中驗(yàn)證通過(guò)");
//驗(yàn)證成功,繼續(xù)處理
chain.doFilter(req,res);
}
else
{
//驗(yàn)證不成功,讓用戶登錄。
hres.sendRedirect("login.jsp");
System.out.println("被SignonFilter攔截一個(gè)未認(rèn)證的請(qǐng)求");
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void setFilterConfig(final FilterConfig filterConfig)
{
this.filterConfig=filterConfig;
}
//銷毀過(guò)濾器
public void destroy()
{
this.filterConfig=null;
}
/**
*初始化過(guò)濾器,和一般的Servlet一樣,它也可以獲得初始參數(shù)。
*/
public void init(FilterConfig config) throws ServletException {
this.filterConfig = config;
}
}