zoukankan      html  css  js  c++  java
  • Filter过滤器——一定要用重定向

    今天使用Fliter过滤器校验登录,功能是:登录后点击注销,返回到登录界面,点击返回,不能返回到之前的界面,返回到指定的界面提醒用户进行登录。在最开始,我的登录和注销使用的是

     req.getRequestDispatcher("sys/success.jsp").forward(req,resp);
    

      造成的问题是,Filter过滤器只过滤一次,单机返回时,他会自动提交之前表单提交过的内容,会报错空指针(因为注销时session对象已经被remove掉了),查了很久最后发现要用

     resp.sendRedirect(req.getContextPath() +"/sys/success.jsp");
    

      进行重定向(req.getContextPath() 根据自己情况,我的不加项目名称定向不过去。)

    重定向之后点击返回,页面不会二次提交界面中的表单内容,就不会报错空指针,这时候过滤器发挥效果,将用户名为空时,重定向到新的界面提醒用户进行登录。

    再提一句,必须把过滤器中的servletRequest和servletResponse转换成HttpServletRequest才能获取到session的值,也必须用它才能进行重定向。

  • 相关阅读:
    获取并设置ListView高度的方法
    Android的webview加载本地html、本apk内html和远程URL
    Android
    jQuery通知插件noty
    腾讯地图之Marker
    星星打分
    eval以及json
    PHP json_encode
    javascript 检测密码强度 美化版
    javascript 检测密码强度
  • 原文地址:https://www.cnblogs.com/zhangxinyue/p/14762582.html
Copyright © 2011-2022 走看看