filter 死循环(tomcat 启动完成 ,自动执行filter.dofilter,导致tomcat 启动超时) , tomcat 启动和 servers 启动 不同

package com.diancai.interceptor;

import java.io.IOException;

import javax.servlet.Filter;
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 org.springframework.web.context.ContextLoaderListener;

public class HeadFilter implements Filter{

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        HttpServletRequest hreq = (HttpServletRequest) request;
        HttpServletResponse hres = (HttpServletResponse) response;

        hres.sendRedirect("index.jsp");  // 拦截的页面和跳转页面 是一个页面的时候可能出现死循环

                                        // eclipse tomcat 启动 和 servers 启动不同:servers 在tomcat启动时自动执行filter.do,如果跳转页正好和拦截页一样,就                         会出现 死循环,导致tomcat在启动完成后,仍然无法正常启动,启动超时、。
    }

    @Override
    public void destroy() {

    }

}

<!-- <filter-mapping>
<filter-name>head</filter-name>
<url-pattern>/index.jsp</url-pattern>
</filter-mapping> -->

<!-- <filter>
<filter-name>head</filter-name>
<filter-class>com.diancai.interceptor.HeadFilter</filter-class>
</filter> -->


// 拦截的页面和跳转页面 是一个页面的时候可能出现死循环
 
时间: 2024-10-04 16:41:57

filter 死循环(tomcat 启动完成 ,自动执行filter.dofilter,导致tomcat 启动超时) , tomcat 启动和 servers 启动 不同的相关文章

web服务启动spring自动执行ApplicationListener的用法

我们知道,一般来说一个项目启动时需要加载或者执行一些特殊的任务来初始化系统,通常的做法就是用servlet去初始化,但是servlet在使用spring bean时不能直接注入,还需要在web.xml配置,比较麻烦.今天介绍一下使用spring启动初始化的方法.其实很简单,只需两步就可以了. 实现ApplicationListener接口: public class Init implements ApplicationListener<ContextRefreshedEvent>{ @Ove

c# 窗体启动后自动执行 Form_Load事件注册及调用

很多时候我们需要在程序一开始后立即触发执行一些程序.这时候需要调用Form_Load. 首先编写事件程序块,编写完后即可再里面添加需要执行的代码. 在结构体之后写就行.添加之前的代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using

dosbox让DOSBox启动后自动执行命令——自动挂载

学习汇编时. 每次启动DOSBox后,都要挂载.转盘符,于是有一个骚套路. 找到这个:bat文件 用记事本就可以编辑.  拉到最下面,找到[autoexec]部分,补充命令如下: mount c f:\ c: cd (这里是你dosboxmasm5的绝对路境) 就是这样: 原文地址:https://www.cnblogs.com/lanclot-/p/10934070.html

web项目启动时,自动执行代码

tomcat启动时自动执行,以下两种方法的执行时长,会计算在tomcat的启动时长里. 1.ServletContextListener web.xml配置<listener> <listener-class>com.yuan.framework.GreyClientInitListener</listener-class> </listener> 1 public class GreyClientInitListener implements Servle

Centos开机自动执行shell脚本启动tomcat服务器

有时候需要在Centos系统启动之后自动完成项目的启动,项目部署在tomcat中时,如果Centos关机后开机,各个项目也就已经被停掉了,然后需要自己一个一个的手动去开启各个项目对应的tomcat服务器,想想都比较麻烦,那么如何才能实现,当Centos启动之后,项目就自动也跟着启动了呢? 下面就介绍下Centos如何开机是自动启动shell脚本,通过shell脚本的命令来启动项目对应的tomcat服务器. 一.切换到/etc/init.d目录下 cd /etc/init.d 二.制作sh脚本:v

tomcat启动时自动运行代码

原文链接:http://jingpin.jikexueyuan.com/article/49660.html 作者: 一直向北 发布时间:2015-07-13 11:12:13 方法1:tomcat 自动执行servlet 写一个servlet,在init()方法中写好想要执行的程序,程序如下: eclipse新建一个web\Dynamic Web Project , name = myweb1 , 把tomcat中的 servlet-api.jar复制到lib中,新建一个类MyServlet.

Tomcat启动时自动加载Servlet

1.想做一个服务启动时自动启动一不停止的获取订阅功能 2.之前是做一个Jsp页面请求servlet来触发方法 3.现在实现Tomcat启动时自动加载Servlet 1.Tomcat中启动Servlet时,只需要在Servlet所在的工程的配置文件web.xml中写成如下即可 <!-- 自动启动订阅接口 --> <servlet> <servlet-name>TimeServlet</servlet-name> <servlet-class>ser

如何在tomcat启动时自动加载一个类

有时候在开发web应用的时候,需要tomcat启动后自动加载一个用户的类,执行一些初始化方法,如从数据库中加载业务字典到内存中,因此需要在tomcat启动时就自动加载一个类,或运行一个类的方法. 可以采用在WEB-INF/web.xml中添加一个监听程序(ServletContextListener配置项),步骤如下:1) 增加一个监听程序 MyServletContextListener.java, 实现javax.servlet.ServletContextListener接口 packag

在CMD下启动vmware、Xshell连接虚拟机以及控制Chrome浏览器自动执行js登录校园网

标题有点长,主要是写个bat出来玩玩, (1)不用每次都手动关闭mysql服务(我不想把它设为手动启动,有强迫症) (2)然后希望每次vmware能自动连上虚拟机 (3)以及每次Xshell都能自动启动,然后就连上虚拟机 (4)然后校园网每次都要打开,输入帐号密码什么的,才能连网,我希望它自己搞定 做完了这几步还是有点意思的,主要是浏览器还是网页的什么自动化测试,然后eclipse下项目打包成可执行的jar包 现在听我娓娓道来吧! 前面要达到的目的跟着后面的命令并无关联 (1)首先在bat里面关