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

过滤器有关问题

2011-12-25 
过滤器问题我写的一个过滤器, 在登录后可以正常使用, 但退出后直接访问页面地址的话, 第一次不经过过滤器,

过滤器问题
我写的一个过滤器, 在登录后可以正常使用, 但退出后直接访问页面地址的话, 第一次不经过过滤器, 哪位能够帮忙解决, 在线等
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletResponse servletResponse = (HttpServletResponse)response;
HttpServletRequest httpServletRequest = (HttpServletRequest)request;
Object userSession = null ; 
try{
userSession = httpServletRequest.getSession(true).getAttribute("user");
System.out.println("session=="+userSession) ;
if (userSession == null) {
String path = httpServletRequest.getContextPath();
servletResponse.sendRedirect(path+"/checkout.html");
}else
chain.doFilter(request, response);
}catch(Exception e){
e.printStackTrace() ;
}
}
这个是我的过滤器的部分代码
各位帮我看看有没有问题

[解决办法]
我觉得可能是web.xml里filter配置的问题

比如说应该是*.*,而你却只写了*.jsp之类
[解决办法]
你要判断一下是不是首页或是登录的action,如果是则允许通过就可以了。(总之不想验证的页面都要做个判断)
http://blog.csdn.net/wpabbs/archive/2008/08/21/2806677.aspx
部分代码:
// 判断用户是否登录,如果没有,
if (user == null || user.equals("")) {
// 获锝当前的URL
String strURL = sr.getRequestURL().toString();
// 判断是否为index.jsp或userLogin.do
if (strURL.indexOf("/index.jsp") == -1) {
if (strURL.indexOf("/userLogin.do") == -1) {
......


[解决办法]
在web.xml中,filter的mapping中对/*进行过滤
[解决办法]
up!

热点排行