北大青鸟南京泰思特鼓楼校区·华东区专业软件测试培训学校_免费咨询电话 400-888-6020
您的位置:首页 - 技术通道 - 软件开发
返回首页
Java中过滤器Filter的使用配置
2010/2/22  发布人:qiantai
 最近做项目的时候,用到了过滤器的使用配置。
  作为项目的笔记记录:
  import java.io.IOException;
  import java.io.PrintWriter;
  import javax.servlet.Filter;
  import javax.servlet.FilterChain;
  import javax.servlet.FilterConfig;
  import javax.servlet.RequestDispatcher;
  import javax.servlet.ServletException;
  import javax.servlet.ServletRequest;
  import javax.servlet.ServletResponse;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import javax.servlet.http.HttpSession;
  /**
  * 过滤器使用:用户没用登录,不可以在浏览器输入地址访问页面
  * @author Administrator
  *
  */
  public class OnlineFilter extends HttpServlet implements Filter {
  public void doFilter(ServletRequest request, ServletResponse response,
  FilterChain chain) throws IOException, ServletException {
  RequestDispatcher dispatcher = request.getRequestDispatcher("Login.jsp");
  HttpServletRequest req =(HttpServletRequest)request;
  HttpServletResponse res =(HttpServletResponse)response;
  HttpSession session =req.getSession(true);
  //从session 里面获取用户名的信息
  String user =(String)session.getAttribute("user");
  //判断如果没有取到用户信息,就跳转到登陆页面,提示用户进行登陆
  if(user == null || "".equals(user)){
  //跳转到登陆的页面,进行用户登录
  dispatcher.forward(request,response);
  System.out.println("用户没有登录,请登陆!");
  }else{
  System.out.println("用户已经登陆成功,允许继续操作!");
  }
  chain.doFilter(request, response);
  }
  public void init(FilterConfig arg0) throws ServletException {
  }
  /**
  * Destruction of the servlet. <br>
  */
  public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
  }
  public void init() throws ServletException {
  }
  }
  Web.xml配置
  <!-- 过滤器的  过滤用户登陆的session对象 -->
  <filter>
  <filter-name>sessionFilter</filter-name>
  <filter-class>biz.sdna.cbrc.util.OnlineFilter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>sessionFilter</filter-name>
  <url-pattern>/jsp/*</url-pattern>
  </filter-mapping>
 

TAG: java
首页 | 走进校区 | 培训课程 | 师资力量 | 行业资讯 | 学员天地 | 就业中心 | 在线报名 | 联系我们 | 友情链接
南京北大青鸟泰思特鼓楼校区|南京软件测试职业培训学校|南京软件人才培养基地|江苏软件测试联盟
地址:南京市中山北路26号新晨国际大厦14层 报名咨询电话:025-83240832 全国免费电话:400-888-6020
版权所有:2008-2010 北大青鸟南京软件测试 苏ICP备07033297号
在线客服
在线客服系统