1.SessionFilter类,实现了Filter接口
package filters;

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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;



public class SessionFilter implements Filter ...{


public void destroy() ...{
// TODO Auto-generated method stub
// System.out.println("** 过滤器销毁...") ;
}


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException ...{
// TODO Auto-generated method stub
HttpServletRequest req = (HttpServletRequest)request ;

HttpSession session = req.getSession();

// if(session.getAttribute("loginname")!=null){ //暂时只过滤登陆名
// chain.doFilter(request,response);
// }else{
// // 通过requestDispatcher跳转到登陆页
// request.getRequestDispatcher("login.jsp").forward(request,response);
// }
try

...{
request.setCharacterEncoding("GBK");
String url= req.getRequestURI();
System.out.println(url);


if(session.getAttribute("loginname")!=null)...{ //暂时只过滤登陆名
chain.doFilter(request,response);

}else...{

if(url.indexOf("login.jsp")!=-1 || url.indexOf("login.do")!=-1)...{
chain.doFilter(request,response);

}else...{
// 通过requestDispatcher跳转到登陆页
request.getRequestDispatcher("login.jsp").forward(request,response);
}
}
}
catch (Exception ex)

...{
ex.printStackTrace();
}

}


public void init(FilterConfig config) throws ServletException ...{
// TODO Auto-generated method stub
// System.out.println("** 过滤器初始化...") ;
}

}

2.配置web.xml,说明哪些文件需要过滤
<filter-name>SessionFilter</filter-name>
<filter-class>filters.SessionFilter</filter-class>
</filter>
<!-- ... -->
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>/manager/*</url-pattern>
</filter-mapping>
搞定,洗个澡睡觉,明天开始写其他功能.