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

等待逆袭 2013-10-10 05:45:08
我做了一个简单的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-----");
}

}

...全文
1594 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
等待逆袭 2013-10-11
  • 打赏
  • 举报
回复
问题解决了,可能是鼠标拖动的原因,web.xml的位置不对,拖到了web-info的外面。谢谢各位
等待逆袭 2013-10-11
  • 打赏
  • 举报
回复
引用 6 楼 bill0605030109 的回复:
<url-pattern>/*</url-pattern> 改为<url-pattern>*</url-pattern> 试试。。
这个我自己也试过了,效果是一样的
javabugsmaker 2013-10-11
  • 打赏
  • 举报
回复
<url-pattern>/*</url-pattern> 改为<url-pattern>*</url-pattern> 试试。。
  • 打赏
  • 举报
回复
去掉你的构造器
等待逆袭 2013-10-10
  • 打赏
  • 举报
回复
引用 2 楼 bill0605030109 的回复:
确实。。启动的时候貌似不进,不过访问一下项目的任何页面应该会进。。 启动的时候想进的话,貌似只能用ServletContextListener或HttpSessionListener,然后在web.xml的<listener>里配置。
我直接访问jsp页面他也没走,我doFilter中我有打印【System.out.println("-------------"+object);】 也没有打印,断点也没走,不知道tomcat配置有问题,还是代码哪里有问题。项目也可以正常访问,悲剧中....
等待逆袭 2013-10-10
  • 打赏
  • 举报
回复
引用 1 楼 ghsau 的回复:
过滤器服务器启动的时候不会走吧
但是我访问jsp的时候他也不走啊,就比较奇怪了
javabugsmaker 2013-10-10
  • 打赏
  • 举报
回复
确实。。启动的时候貌似不进,不过访问一下项目的任何页面应该会进。。 启动的时候想进的话,貌似只能用ServletContextListener或HttpSessionListener,然后在web.xml的<listener>里配置。
  • 打赏
  • 举报
回复
过滤器服务器启动的时候不会走吧
源码直接下载地址: https://pan.quark.cn/s/387d7c8f6289 在使用IE浏览器的过程中,偶尔会出现重置为默认配置操作未能顺利完成的现象。这种情况的发生可能源于多种因素,包括注册表项出现偏差、浏览器附加组件之间存在不兼容、操作系统授权设置不当或受到恶意程序影响等。针对这一挑战,我们可以通过一系列系统性的方法来逐一诊断和纠正。首先需要验证当前用户是否具备管理员级别的操作权限。在执行重置配置的操作时,必须确保IE浏览器是以管理员身份启动的。具体操作方式为,使用鼠标右键单击IE程序图标,并从弹出的菜单中选择“以管理员身份运行”这一选项。其次,应当检查是否存在恶意软件。恶意程序有时会非法修改浏览器的配置信息,从而阻碍重置过程的正常进行。用户可以借助Windows系统自带的Microsoft Safety Scanner进行检测,或者选择安装并使用第三方安全防护软件执行全面的系统扫描。紧接着,需要对浏览器的缓存数据以及Cookies文件进行清理。在IE浏览器界面中,通过访问“工具”菜单并选择“Internet选项”,然后在弹出的设置界面中,切换至“常规”标签页,并执行清除浏览历史记录的操作,此过程应包含Cookies和临时互联网文件。倘若上述步骤均未能解决问题,那么可以考虑禁用或移除那些可能引发冲突的浏览器附加组件。相关操作需要在“工具”菜单下找到并打开“管理加载项”,对可疑的插件进行禁用处理,并在浏览器重新启动后再次尝试执行重置操作。再者,修复IE浏览器相关的注册表配置也是至关重要的环节。注册表编辑器是一个功能强大的系统工具,任何不当的操作都可能导致严重的系统问题,因此在进行修改前必须创建系统还原点作为安全备份。用户可以通过按下“Win+R”组合...

81,108

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧