pagefilter

来源:互联网 发布:xcode 9 mac os 编辑:程序博客网 时间:2024/05/16 04:58

package edu.inspuruptec.su02.utils;

import java.io.IOException;
import java.io.PrintWriter;


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

public class PageFileter implements Filter{
   private String encoding="gbk";
 public void destroy() {
  // TODO Auto-generated method stub
  System.out.println("I will go now");
 }
 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
  // TODO Auto-generated method stub
  //req.setCharacterEncoding(this.encoding);
  //res.setCharacterEncoding(this.encoding);
  System.out.println("dofiler  我在这啊");
  HttpServletRequest request=(HttpServletRequest)req;
  HttpServletResponse response=(HttpServletResponse)res;
  HttpSession session = request.getSession();
  String username=(String)request.getParameter("username");
  if(null==username||"".equals("username")){
   String path = request.getContextPath();   
   //String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
   response.sendRedirect(path+"/login.jsp");
   //PrintWriter out = response.getWriter();
   System.out.println("hello!");
  }
  else{
   chain.doFilter(request, response);
  }
  //chain.doFilter(request, response);
 }

 public void init(FilterConfig arg0) throws ServletException {
  // TODO Auto-generated method stub
  
 }
 
}

 

开发Servlet过滤器的步骤如下:
①编写实现Filter接口的Servlet类。
②在web.xml中配置Filter。
开发一个过滤器需要实现Filter接口,Filter接口定义了以下方法:
①destory()由Web容器调用,销毁此Filter。
②init(FilterConfig filterConfig)由Web容器调用,初始化此Filter。
③doFilter(ServletRequest request,ServletResponse response,FilterChain chain)具体过滤处理代码。

原创粉丝点击