java过滤器心得_配置过滤器

在web.xml中的配置

encodingFilter

org.springframework.web.filter.CharacterEncodingFilter

encoding

GB2312

forceEncoding

true

SessionFilter

com.i5ic.common.filter.SessionFilter

encodingFilter

*.do

iwicweb

*.do

以下为过滤器2 的实现

package com.i5ic.common.filter;

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.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;

//import cn.chiness.office.model.Employee;

public class SessionFilter implements Filter {

private final String  loginPage = "/iwicweb";

protected FilterConfig filterConfig = null;

private Logger log = Logger.getLogger(SessionFilter.class);

public void init(FilterConfig filterConfig) throws ServletException {

// TODO Auto-generated method stub

this.filterConfig = filterConfig;

}

public void doFilter(ServletRequest request, ServletResponse reponse,

FilterChain filterDo){

// TODO Auto-generated method stub

log.info("Start Session-fileter");

System.out.println("Start Session-fileter");

HttpServletRequest httpRequest = (HttpServletRequest)request;

HttpServletResponse httpResponse = (HttpServletResponse)reponse;

try{

HttpSession session = httpRequest.getSession(false);

if(session == null)

{

System.out.println("Session is pass max Age!");

httpResponse.sendRedirect(loginPage);

return ;

}

Object loginEmp = (Object) session.getAttribute("loginInfo");

if(loginEmp == null)

{

log.info("You are'nt login!");

System.out.println("You are'nt login!");

httpResponse.sendRedirect(loginPage);

}

else

{

log.info("Filter is Pass -->Success!");

try {

filterDo.doFilter(request,reponse);

} catch (ServletException e) {

log.info("filterDao.doFilter  exception throws ");

e.printStackTrace();

}

}

}catch(IOException ex){

log.info(ex.getMessage());

log.info("Session is not Validate!");

System.out.println("Session is not Validate!");

try {

httpResponse.sendRedirect(loginPage);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public void destroy() {

// TODO Auto-generated method stub

this.filterConfig = null;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值