首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

web filter过滤器不起作用,帮忙见见

2013-10-12 
webfilter过滤器不起作用,帮忙看看我做了一个简单的web demo,写了个过滤器,但就是不生效,tomcat6,启动的时

web filter过滤器不起作用,帮忙看看
我做了一个简单的web demo,写了个过滤器,但就是不生效,tomcat6,启动的时候都不进断点,不知道是不是自己配置错了,大家帮分析一下。启动也不报错

---------web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  
    <filter>       
        <filter-name>aa</filter-name>       
        <filter-class>cn.util.AutoSetUserAdapterFilter</filter-class>   
    </filter> 
<filter-mapping> 
        <filter-name>aa</filter-name> 
        <url-pattern>/*</url-pattern> 
    </filter-mapping>


<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

</web-app>


-----AutoSetUserAdapterFilter
package cn.util;  
  
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 org.jasig.cas.client.validation.Assertion;  

  
/** 
 * CAS单点登陆的过滤器功能类,该类用来自动生成子应用的登陆Session 
 *  
 */  
public class AutoSetUserAdapterFilter  implements Filter {  
      
    /** 
     * Default constructor.  
     */  
    public AutoSetUserAdapterFilter() {  
    }  
  
    /** 
     * @see Filter#destroy() 
     */  
    public void destroy() {  
    }  
  
   public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,  
                   ServletException {  
           HttpServletRequest httpRequest = (HttpServletRequest) request;  
             
           // _const_cas_assertion_是CAS中存放登录用户名的session标志  
           Object object = httpRequest.getSession().getAttribute("_const_cas_assertion_");  
           System.out.println("-------------"+object);
           if (object != null) {  
                   Assertion assertion = (Assertion) object;  
                   String loginName = assertion.getPrincipal().getName();  
                   System.out.println("-------------"+object);
                     
                   // 第一次登录系统  

                     
           }  
            chain.doFilter(request, response);  
   }  
  
       /** 
        * @see Filter#init(FilterConfig) 
        */  
       public void init(FilterConfig fConfig) throws ServletException {
       System.out.println("--------初始化AutoSetUserAdapterFilter-----");
       }  
          




filter web tomcat
[解决办法]
过滤器服务器启动的时候不会走吧
[解决办法]
确实。。启动的时候貌似不进,不过访问一下项目的任何页面应该会进。。
启动的时候想进的话,貌似只能用ServletContextListener或HttpSessionListener,然后在web.xml的<listener>里配置。
[解决办法]
去掉你的构造器
[解决办法]
<url-pattern>/*</url-pattern> 改为<url-pattern>*</url-pattern> 试试。。

热点排行