Answered on stack overflow.... you are setting the web.xml as the default
descriptor, so it is being run twice.
Don't set the default descriptor.


On 6 September 2016 at 14:52, Igal @ Lucee.org <[email protected]> wrote:

> I have written a very simple test Filter, and am running it in an embedded
> Jetty 9.2.18.v20160721 in debug mode in IntelliJ IDEA:
>
>         System.out.println(TestFilter.class.getSimpleName()       // line 12
>                 + " > "
>                 + ((HttpServletRequest)servletRequest).getRequestURL()
>                 + ": IP "+ servletRequest.getRemoteAddr()
>                 + "; at "
>                 + new Date().toString());
>
>         // Pass request back down the filter chain
>         filterChain.doFilter(servletRequest, servletResponse);    // line 20
>     }
>
> and added it to web.xml:
>
> <filter>
>     <filter-name>TestFilter</filter-name>
>     <filter-class>net.twentyonesolutions.TestFilter</filter-class></filter>
> <filter-mapping>
>     <filter-name>TestFilter</filter-name>
>     <url-pattern>/*</url-pattern>
> </filter-mapping>
>
> When running in debug mode in IntelliJ IDEA, the Filter's doFilter()
> method is called twice, and the output from line 12 is written twice.  You
> can see the stack trace at the 2nd call below.
>
> When I deploy the Filter to regular Jetty (same version), or Tomcat, the
> output from line 12 is only written once, as expected.
>
> Why is this happening in debug/embedded mode?  TIA
>
> I posted this question with a bit more detail at http://stackoverflow.com/
> questions/39337962/why-does-my-servlet-filter-run-twice
>
> Stack trace at 2nd call:
>
> [net.twentyonesolutions.TestFilter.doFilter(TestFilter.java:20)
>     ,org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1652)
>     ,net.twentyonesolutions.TestFilter.doFilter(TestFilter.java:20)
>     ,org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1652)
>     ,org.eclipse.jetty.servlet.ServletHandler.doHandle(
> ServletHandler.java:585)
>     ,org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:143)
>     ,org.eclipse.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:577)
>     ,org.eclipse.jetty.server.session.SessionHandler.
> doHandle(SessionHandler.java:223)
>     ,org.eclipse.jetty.server.handler.ContextHandler.
> doHandle(ContextHandler.java:1127)
>     ,org.eclipse.jetty.servlet.ServletHandler.doScope(
> ServletHandler.java:515)
>     ,org.eclipse.jetty.server.session.SessionHandler.
> doScope(SessionHandler.java:185)
>     ,org.eclipse.jetty.server.handler.ContextHandler.
> doScope(ContextHandler.java:1061)
>     ,org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:141)
>     ,org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:97)
>     ,org.eclipse.jetty.server.Server.handle(Server.java:497)
>     ,org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
>     ,org.eclipse.jetty.server.HttpConnection.onFillable(
> HttpConnection.java:245)
>     ,org.eclipse.jetty.io.AbstractConnection$2.run(
> AbstractConnection.java:540)
>     ,org.eclipse.jetty.util.thread.QueuedThreadPool.
> runJob(QueuedThreadPool.java:635)
>     ,org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(
> QueuedThreadPool.java:555)
>     ,java.lang.Thread.run(Thread.java:745)]
>
>
> --
>
> Igal Sapir
> Lucee Core Developer
> Lucee.org <http://lucee.org/>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>



-- 
Greg Wilkins <[email protected]> CTO http://webtide.com
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to