浏览 2047 次
|
锁定老贴子 主题:struts中filter问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-06-25 关键字: filter
我在servlet中使用,dofilter只运行一次,一切正常,但是在struts中运行的时候,一个请求要使dofilter运行很多次,像是进入了死循环了一样
LoginFilter.java
public class LoginFilter implements Filter {
private FilterConfig config;
public LoginFilter()
{
}
public void init(FilterConfig config)
throws ServletException
{
this.config = config;
}
public void destroy()
{
}
public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain)
throws IOException, ServletException
{
System.out.println("run in filter");
HttpServletRequest request = (HttpServletRequest)srequest;
HttpSession session = request.getSession();
if(session.getAttribute("admin") == null)
request.getRequestDispatcher("login.jsp").forward(srequest, sresponse);
else
chain.doFilter(srequest, sresponse);
}
}
web.xml
<filter>
<filter-name>sessionfilter</filter-name>
<filter-class>com.arthurs.util.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sessionfilter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-06-25
问题描述在清楚一些,最简单的可能性就是login.jsp在
/admin/* 下,自然是不停的访问 |
|
| 返回顶楼 | |
|
最后更新时间:2007-07-28
# <filter-mapping> # <filter-name>sessionfilter</filter-name> # <url-pattern>/admin/*</url-pattern> # </filter-mapping> 别用/*,用*.do 不然过滤器碰到css,js,jsp,图片等资源文件的时候都会执行过滤器的 |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-13
*代表全部可能啊。。那肯定死循环撒。。过如果你admin==null转向login.jsp再进过滤器admin仍然为空。肯定就死了啊
|
|
| 返回顶楼 | |
|
最后更新时间:2007-08-23
realreal2000
回答的正确 |
|
| 返回顶楼 | |





