为了体系化控制用户登录,做粗粒度的认证登录,可以采用应用层的拦截器或过滤器来实现。经验证测试发现只有struts和spring在自身层面上支持,不能同时支持各种请求拦截,为此考虑粗粒度处理,因此考虑使用filter机制,基本上jsp,servlet,struts均能够被拦截到。
小例子如下(TestFilter.java):
public class TestFilter implements Filter
{
public void doFilter(ServletRequest srt, ServletResponse sre,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest)srt;
HttpServletResponse response = (HttpServletResponse)sre;
String name= (String)request.getSession().getAttribute("name");
System.out.println(name+" "+(iGobal++));
if( name== null || name.trim().length() < 1) {
filterChain.doFilter(request, response);
}else {