首页 > 学院 > 开发设计 > 正文

使用Filter访问Session信息

2019-11-18 16:06:57
字体:
来源:转载
供稿:网友
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
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 {

  PRivate FilterConfig config;

  /** Creates new SessionFilter */
  public SessionFilter() {
  }

  public void init(FilterConfig filterConfig) throws ServletException {

    System.out.println("Instance created of " + getClass().getName());
    this.config = filterConfig;
  }

  public void doFilter(ServletRequest request, ServletResponse response,
      FilterChain chain) throws java.io.IOException, ServletException {

    HttpSession session = ((HttpServletRequest) request).getSession();
    ServletContext context = config.getServletContext();
    /*
     * use the ServletContext.log method to log filter messages
     */
    context.log("doFilter called in: " + config.getFilterName() + " on "
        + (new java.util.Date()));

    // log the session ID
    context.log("session ID: " + session.getId());

    // Find out whether the logged-in session attribute is set
    String logged = (String) session.getAttribute("logged-in");
    if (logged == null)
      session.setAttribute("logged-in", "no");

    //log a message about the log-in status
    context.log("log-in status: "
        + (String) session.getAttribute("logged-in"));
    context.log("");
    chain.doFilter(request, response);
  }

  public void destroy() {
    /*
     * called before the Filter instance is removed from service by the web
     * container
     */
  }
}

(出处:http://www.VeVb.com)



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表