CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2EE / EJB / JMS

filter中出现的小问题.请帮帮忙.不欢迎灌水!

楼主CrazySmall(我没醉)2005-06-02 06:09:03 在 Java / J2EE / EJB / JMS 提问

我在一个小型项目中写了一个安全验证的filter.但是却出现以下问题.就是当安全验证不成功的时候,filter没做重定向页面的工作.在地址栏显示的是要非法访问的地址.但并不显示这个页面.页面空白.请各位高手帮忙看一上,程序是不是那里有问题.代码如下:  
   
  package   CompanyManager.util;  
   
  import   javax.servlet.FilterConfig;  
  import   javax.servlet.FilterChain;  
  import   javax.servlet.ServletRequest;  
  import   javax.servlet.ServletResponse;  
  import   java.io.IOException;  
  import   javax.servlet.Filter;  
  import   javax.servlet.http.HttpServletRequest;  
  import   javax.servlet.http.HttpServletResponse;  
  import   javax.servlet.ServletException;  
  import   javax.servlet.http.HttpSession;  
  import   CompanyManager.bean.User;       //项目中写的用户类javabean.  
   
  /**  
    *<p>登陆验证过虑   </p>  
    *<p>copyright:Lee   Copyright   (c)   2005</p>  
    *@by:LEE  
    *@version:1.0  
    */  
   
  public   class   AuthFilter   implements   Filter  
  {  
  private   final   String   LOGIN_PAGE   =   "default.jsp";//要重定向的页面.  
  protected   FilterConfig   filterConfig;  
   
  public   void   doFilter(   ServletRequest   req,     ServletResponse   res,  
  FilterChain   chain)throws   IOException,   ServletException  
  {  
  HttpServletRequest   hreq   =   (HttpServletRequest)req;  
  HttpServletResponse   hres   =   (HttpServletResponse)res;  
  HttpSession   session   =   hreq.getSession();  
                                      //当登陆成功时.我把用户类的实例,保存在了session中.  
  User   user   =   (User)session.getAttribute("user");  
  try  
  {  
  if(!user.isLogin())  
  {  
                                                            //获得用户实例.是否登陆的属性.如果没有.重定向页面.问题好像     就出在就里.好像并没有做重定向..而且请求好像也让中断了.  
  hres.sendRedirect(LOGIN_PAGE);  
  }  
  else  
  {  
  chain.doFilter(req,   res);  
  }  
  }  
  catch(Exception   e)  
  {  
  e.printStackTrace();  
  }  
  }  
   
   
   
  public   void   destroy()  
  {  
  this.filterConfig   =   null;  
  }  
   
  public   void   init(FilterConfig   config)throws   ServletException  
  {  
  this.filterConfig   =   config;  
  }  
  }  
   
  下面是我在web.xml中配置的filter.  
  =========================================================================================  
   
                      <filter>  
  <filter-name>auth</filter-name>  
  <filter-class>CompanyManager.util.AuthFilter</filter-class>  
  </filter>  
   
  <filter-mapping>  
  <filter-name>auth</filter-name>  
  <url-pattern>/employeeManager/*</url-pattern>  
  </filter-mapping>  
   
   
  请大家帮我看一下,问题出在哪里了~~郁闷中......... 问题点数:100、回复次数:2Top

1 楼YuLimin(阿敏总司令:简单就是美—钻石闪闪您快结贴!)回复于 2005-06-02 08:20:07 得分 100

if(!user.isLogin())  
  {  
                                                            //获得用户实例.是否登陆的属性.如果没有.重定向页面.问题好像     就出在就里.好像并没有做重定向..而且请求好像也让中断了.  
  hres.sendRedirect(LOGIN_PAGE);  
   
  //这里要加上判断user是不是为null  
   
  if(user   ==   null   ||   !user.isLogin())Top

2 楼CrazySmall(我没醉)回复于 2005-06-02 10:53:27 得分 0

呵呵.犯了一个初学都犯的毛病....看来是昨天写通宵..写的头晕了....唉....以后小心.谢谢   YuLimin..谢谢..Top

相关问题

  • 欢迎灌水。。。。。。
  • 初学者,欢迎灌水。
  • 欢迎来灌水,灌水有分,多灌多分
  • 欢迎大家灌水_la la la
  • 斑竹勿进!欢迎灌水!
  • printsetupprinter函数问题,欢迎灌水!(一)
  • printsetupprinter函数问题,欢迎灌水!(二)
  • printsetupprinter函数问题,欢迎灌水!(三)
  • 散分!!欢迎大家来灌水!!
  • 新版织梦乱弹开张,欢迎大家灌水!灌水者奖分!

关键词

  • 页面
  • 用户
  • servlet
  • 重定向
  • companymanager
  • filterconfig
  • islogin
  • 好像
  • hres
  • filter

得分解答快速导航

  • 帖主:CrazySmall
  • YuLimin

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo