正在装载数据…… 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>搞定,洗个澡睡觉,明天开始写其他功能. 本文来源:http://blog.csdn.net/x03570227/archive/2007/07/11/1685879.aspx
|