ava过滤器死循环-过滤器验证死循环,非常感谢

问题描述

过滤器验证死循环,非常感谢

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("Demo1 过滤前;");
System.out.println("====================================");
System.out.println("获取初始化参数后值");

         System.out.println(filterConfig.getInitParameter("testparam"));

         HttpServletRequest hreq = (HttpServletRequest) request;
          HttpServletResponse hres = (HttpServletResponse) response;
          HttpSession session = hreq.getSession();
          if (session.getAttribute("user") != null){
           chain.doFilter(request, response);
          }
          if (hreq.getRequestURI().equals(hreq.getContextPath() + "/login.jsp")) {
            chain.doFilter(request, response);

          }
          else{
           hres.sendRedirect("/essa/test/login.jsp");
           return;
          }

          chain.doFilter(request, response);
         }
        public void init(FilterConfig filterConfig) throws ServletException {
    System.out.println("初始化了");
    this.filterConfig = filterConfig;    

}
public void destroy() {
     System.out.println("销毁了");
}

}

Web.xml

index.jsp

com.essa.config.InitSys

struts2
com.essa.filter.SecurityFilter

testparam

============================ 进行顶层的过滤器应用测试========================================

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.jsp</url-pattern>
</filter-mapping>

想做几个判断
1.if url 登陆页,获取Json的List中UID/PASS值
remove session所在的值
写入Session,进入Action
else 获取Session.Attribute(UID/PASS)
如果为空到标志页(变换验证),OK返回登录
2.Action中应用:进行UID/Pass进行反复验证
代码实在写不明白了...非常感谢

解决方案

doFilter 方法里面,各种if都调了chain.doFilter,方法的最后就一行不要再调了。

时间: 2024-09-18 19:46:50

ava过滤器死循环-过滤器验证死循环,非常感谢的相关文章

前端MVC学习总结(二)——AngularJS验证、过滤器、指令

一.验证 angularJS中提供了许多的验证指令,可以轻松的实现验证,只需要在表单元素上添加相应的ng属性,常见的如下所示: <input Type="text" ng-model="" [name=""] [required=""] [ng-required=""] [ng-minlength=""] [ng-maxlength=""][ng-pattern

JSP过滤器的问题,求大虾指点

问题描述 packagecom.Filter;importjavax.servlet.*;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importjava.util.List;importjava.util.ArrayList;importjava.util.StringTokenizer;

PHP Filter过滤器全面解析_php实例

PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 什么是 PHP 过滤器? PHP 过滤器用于验证和过滤来自非安全来源的数据. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的是使数据过滤更轻松快捷. 为什么使用过滤器? 几乎所有 web 应用程序都依赖外部的输入.这些数据通常来自用户或其他应用程序(比如 web 服务).通过使用过滤器,您能够确保应有程序获得正确的输入类型. 您应该始终对外部数据进行过滤! 输入过滤是最重

PHP Filter过滤器全面解析

PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 什么是 PHP 过滤器? PHP 过滤器用于验证和过滤来自非安全来源的数据. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的是使数据过滤更轻松快捷. 为什么使用过滤器? 几乎所有 web 应用程序都依赖外部的输入.这些数据通常来自用户或其他应用程序(比如 web 服务).通过使用过滤器,您能够确保应有程序获得正确的输入类型. 您应该始终对外部数据进行过滤! 输入过滤是最重

ASP.NET MVC笔记之Action过滤器

Action 过滤器在代码中体现为添加到Action上方的属性,MVC框架包含了一些过滤器,如: OutputCache –指示Controller在指定时间内缓存返回的结果. HandleError –处理Contrller中Action抛出的异常 Authorize – 约束特定用户或角色对Action的访问 另外你还可以自己定义过滤器,比如:你想使用自定义的验证机制:你想修改Action返回的数据等等 . 使用Action 过滤器 Action 过滤器不仅可以控制单个Action,也可以控

JavaWeb 后端 &lt;十二&gt; 之 过滤器 filter 乱码、不缓存、脏话、标记、自动登录、全站压缩过滤器

一.过滤器是什么?有什么? 1.过滤器属于Servlet规范,从2.3版本就开始有了. 2.过滤器就是对访问的内容进行筛选(拦截).利用过滤器对请求和响应进行过滤 二.编写步骤和执行过程 1.编码步骤: a.编写一个类:实现javax.servlet.Filter接口 public class FilterDemo1 implements Filter {           public FilterDemo1(){         System.out.println("调用了默认的构造方法

【JSP开发】过滤器Filter原理(转)

      过滤器就是在源数据和目的数据之间起过滤作用的中间件.        Web应用中,在处理请求时,经常有一些公共的工作,比如设置字符集.这样的工作需要写在每个页面,这样的写法费力且不好修改.使用过滤器就像在这些流程前加了一道拦,将需要进行的操作放到拦里执行,而所有经过这道拦的流程都会"被"执行该操作.            开发一个过滤器必须实现Java定义好的javax.servlet.Filter接口:       这一接口含有三个过滤器必须执行的方法: ·       

Spring Cloud构建微服务架构:服务网关(过滤器)【Dalston版】

2017年架构师最重要的48个小时 | 8折倒计时 在前两篇文章:服务网关(基础).服务网关(路由配置)中,我们了解了Spring Cloud Zuul作为网关所具备的最基本功能:路由.本文我们将具体介绍一下Spring Cloud Zuul的另一项核心功能:过滤器. 过滤器的作用 通过上面所述的两篇我们,我们已经能够实现请求的路由功能,所以我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了.但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限

[Servlet&amp;amp;JSP] 过滤器的使用

过滤器介于Servlet之前,可拦截过滤浏览器对Servlet的请求,也可以改变Servlet对浏览器的响应. 过滤器的概念 像性能测量.用户验证.字符替换.压缩等需求,应该设计为独立的组件,随时可以添加到应用程序之中,也可以随时移除,而不用修改原有的程序.Servlet/JSP提供了过滤器机制以实现这些组件服务,可视需求抽换过滤器或调整过滤器的顺序,也可以针对不同的URL应用不同的过滤器,甚至在不同的Servlet间请求转发或包括时应用过滤器. 过滤器的实现 在Servlet/JSP中要实现过