AuthorityFilter.java--package org.zjl.vets.util;
import java.io.IOException;
import javax.servlet.*;
public class AuthorityFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("----filter----");//测试打印字符串
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
}

}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>login</filter-name>
        <filter-class>org.zjl.vets.util.AuthorityFilter</filter-class>
    </filter>
   <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    
     <filter-mapping>
        <filter-name>login</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>用到的东西有--J2EE1.4、struts2.1.8、Hibernate3.5反复部署,进入webroot里面的任何jsp都没有在控制台打印出filter里的字符串,更别说用来验证登陆了
把struts2的filter删了重新部署也没用
请教高手!!

解决方案 »

  1.   

    两个filter的顺序颠倒一下试试~
      

  2.   

    你这个org.zjl.vets.util.AuthorityFilter类大概是想判断是否用户登录的吧
    既然对每一个页面都进行判断的话那你这样doFilter的去做
    是否在Struts.xml中进行配置关联下你这种写法还是1.2的模式
    你改用2.0的那种监听器的写法好了
      

  3.   

    没问题~ 把tomcat里的程序删了,然后在部署一下?
      

  4.   

    呵呵 4楼简洁啊 有效果了 可是为什么要到里面去删 我直接在MyEclipse里直接remove不行呢哎 刚用一个月时间学完s2sh 还是自学的 很多东西不知道啊