帮帮忙,WEB.XML配置filter后,tomcat能启动,但login.jsp无法显示?

LINGO_Tecco 2008-09-01 10:50:09
我在web.xml增加<filter>...</filter>和<filter-mapping>...</filter-mapping>后,tomcat能启动也不报错,但login.jsp无法显示了,去掉此两段就一切正常.
麻烦大家指点一下...谢谢
<web-app>
.....

<filter>
<filter-name>uservisitlistener</filter-name>
<filter-class>com.eleceltek.wf.power.UserVisitListener</filter-class>
</filter>
<filter-mapping>
<filter-name>uservisitlistener</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


</web-app>

顺便附上我的UserVisitListener,.............
package com.eleceltek.wf.power;

import java.io.IOException;

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;

public class UserVisitListener {

public void destroy() {}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException
{
HttpServletRequest request = (HttpServletRequest)servletRequest;
HttpServletResponse response = (HttpServletResponse)servletResponse;
String currentURL = request.getRequestURI();
////String targetURL = currentURL.substring(currentURL.indexOf("/", 1), currentURL.length());
//System.out.println("============"+targetURL);
HttpSession session = request.getSession(true);
if(session==null && (session.getAttribute("loginBean")==null ||session.getAttribute("user")==null) )
{
//response.sendRedirect(request.getContextPath() + "/login.jsp");
response.sendRedirect(" http://"+request.getHeader("Host")+"/login.jsp ");
return;
}
filterChain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {}

}
...全文
352 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianle193 2011-02-28
  • 打赏
  • 举报
回复
请问lz最后如何解决此问题的?
LINGO_Tecco 2008-09-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fog911811 的回复:]
很感谢以上各位的解答.现在我本地可以实现效果了,但是放上服务器就没反应, 用tail -f catalina.out查看tomcat的运行情况,发现那个filter 根本不执行.真的不知道为什么????大家有什么高见
[/Quote]
在我本地机是可以实现,因为我在控制台看到那个filter类是有执行的,但放在linux服务器就不执行了.我本地机和服务器上的tomcat,jdk都是一样的,同事说可能是OS的不同而出现这种情况.不知大家有什么意见.
LINGO_Tecco 2008-09-02
  • 打赏
  • 举报
回复
很感谢以上各位的解答.现在我本地可以实现效果了,但是放上服务器就没反应, 用tail -f catalina.out查看tomcat的运行情况,发现那个filter 根本不执行.真的不知道为什么????大家有什么高见
wangyi123 2008-09-02
  • 打赏
  • 举报
回复
飘过
LINGO_Tecco 2008-09-02
  • 打赏
  • 举报
回复
我的web.xml其中有段是这样设计的:
<filter>
<filter-name>uservisitlistener</filter-name>
<filter-class>com.eleceltek.wf.power.UserVisitListener</filter-class>
</filter>
<filter-mapping>
<filter-name>uservisitlistener</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
运行后发现只有对包含.jsp的URL才有效,而我只想对附件(如.doc,txt,xls等)有效。那怎么办我?
  • 打赏
  • 举报
回复
public class UserVisitListener implements Filter {
hanhongmin 2008-09-01
  • 打赏
  • 举报
回复
同上,还有:
if(session==null && (session.getAttribute("loginBean")==null ¦ ¦session.getAttribute("user")==null) )
这是哪门子逻辑...
LINGO_Tecco 2008-09-01
  • 打赏
  • 举报
回复
我的<filter>...</filter>和<filter-mapping>... </filter-mapping>是已经放在<servlet>..</servlet>前面的了.
LINGO_Tecco 2008-09-01
  • 打赏
  • 举报
回复
等待你们的解惑......................
realcbb 2008-09-01
  • 打赏
  • 举报
回复
1. public class UserVisitListener implements Filter
2. <url-pattern>/* </url-pattern>这种对所有的路径都过滤显然是不对的
liyang_nurse 2008-09-01
  • 打赏
  • 举报
回复
数据库及java技术讨论群57262558
xian_hf 2008-09-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhangkai08111 的回复:]
public class UserVisitListener implements Filter {
[/Quote]

81,092

社区成员

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

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