I have created the following Jira to track this issue:
https://issues.apache.org/jira/browse/WW-5450

On Wed, Jul 24, 2024 at 6:04 PM Rubens Gomes <rubens.s.go...@gmail.com> wrote:
>
> Below is the line in tomcat code that resolves to REQUEST instead of FORWARD.
>
> // Globals.DISPATCHER_TYPE_ATTR "org.apache.catalina.core.DISPATCHER_TYPE"
> DispatcherType disInt = (DispatcherType)
> request.getAttribute(Globals.DISPATCHER_TYPE_ATTR);
>
> Should I open a bug ticket on Struts or Tomcat?  Or am I missing
> something in my 7.0.0-M9 setup?  I should say that with the previous
> release of Struts 6.4.0 and Tomcat 9.0.43, a FORWARD is used instead.
> Therefore, something happened since them.
>
> Rubens
>
> On Wed, Jul 24, 2024 at 5:33 AM Rubens Gomes <rubens.s.go...@gmail.com> wrote:
> >
> > I noticed the following issue while debugging:
> >
> > StrutsRequestWrapper  is missing request attribute
> > "jakarta.servlet.forward.request_uri"
> >
> > Then, tomcat "org.apache.catalina.core.ApplicationDispatcher"
> > doForward method fails to find that attribute in the following line:
> >
> > if (hrequest.getAttribute(FORWARD_REQUEST_URI) == null) {
> >      // then tomcat defaults to setting value of various request attributes
> > }
> >
> > And after that, tomcat calls "processRequest(request, response,
> > state);" in the same instance "ApplicationDispatcher" and fails to
> > resolve a FORWARD dispatcher type below.  Instead, it resolves a
> > REQUEST.  And when tomcat sees REQUEST dispatcher type it does a GET
> > on the JSP, instead of FORWARD.
> >
> > Question:  Should StrutsRequestWrapper add the
> > ""jakarta.servlet.forward.request_uri"" attribute?
> >
> > FYI, I found the below very old thread in apache mail archive which
> > was posted to d...@tomcat.apache.org in 2003 which appears to be a
> > related issue:
> > [PATCH] RequestDispatcher.forward() problem with wrapped requests
> >
> > https://lists.apache.org/thread/b3s6gwp1305wh485crkfozz9j9llvj21
> >
> >
> > On Tue, Jul 23, 2024 at 12:22 PM Rubens Gomes <rubens.s.go...@gmail.com> 
> > wrote:
> > >
> > > As per Spring Boot "3.3.2" managed dependency coordinates the embedded
> > > tomcat version is "10.1.26"
> > >
> > > On Mon, Jul 22, 2024 at 11:27 AM Łukasz Lenart <lukasz.len...@gmail.com> 
> > > wrote:
> > > >
> > > > Tomcat? version? It can be related to Tomcat changes
> > > >
> > > > pon., 22 lip 2024 o 17:25 Rubens Gomes <rubens.s.go...@gmail.com> 
> > > > napisał(a):
> > > > >
> > > > > I am running Struts 7.0.0-M9 along with Spring Boot 3.3.2 + Spring 
> > > > > Security.
> > > > >
> > > > >  have a Struts Action class annotated with :
> > > > >
> > > > > @Result(
> > > > >     name = Action.INPUT,
> > > > >     location = "/WEB-INF/content/%{#request.device}/login.jsp",
> > > > >     type = "dispatcher")
> > > > >
> > > > >
> > > > > And I have noticed that after returning from the Action class
> > > > > (ViewLoginAction.java) the framework is invoking the above JSP using a
> > > > > DispatcherType.GET instead of DisplatcherType.FORWARD.
> > > > >
> > > > > Is there anything wrong with Struts 7.0.0-M9?
> > > > >
> > > > > Here is a portion of logs:
> > > > >
> > > > > 2024-07-22T09:42:03.160-05:00 TRACE 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] c.e.web.struts2.action.ViewLoginAction   : exiting
> > > > > execute method
> > > > > 2024-07-22T09:42:03.162-05:00 DEBUG 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] com.opensymphony.xwork2.ObjectFactory    : Injecting
> > > > > internal beans into [ServletDispatcherResult]
> > > > > 2024-07-22T09:42:03.181-05:00 DEBUG 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] o.apache.struts2.url.StrutsUrlDecoder    : Using
> > > > > default encoding: UTF-8
> > > > > 2024-07-22T09:42:03.182-05:00 DEBUG 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] o.a.s.result.ServletDispatcherResult     :
> > > > > Forwarding to location: /WEB-INF/content/desktop/login.jsp
> > > > > 2024-07-22T09:42:03.184-05:00 DEBUG 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] c.o.x.c.impl.InstantiatingNullHandler    : Entering
> > > > > nullPropertyValue
> > > > > [target=[com.ezlista.web.struts2.action.ViewLoginAction@217b4d13,
> > > > > com.opensymphony.xwork2.DefaultTextProvider@9dff4e1], property=struts]
> > > > > 2024-07-22T09:42:03.186-05:00 TRACE 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] o.s.security.web.FilterChainProxy        : Trying to
> > > > > match request against DefaultSecurityFilterChain [RequestMatcher=any
> > > > > request, 
> > > > > Filters=[org.springframework.security.web.session.DisableEncodeUrlFilter@68b7a5ee,
> > > > > org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@469df52b,
> > > > > org.springframework.security.web.context.SecurityContextHolderFilter@2ef6b51,
> > > > > org.springframework.security.web.header.HeaderWriterFilter@64619b93,
> > > > > org.springframework.web.filter.CorsFilter@e9cdad7,
> > > > > org.springframework.security.web.csrf.CsrfFilter@66b5be95,
> > > > > org.springframework.security.web.authentication.logout.LogoutFilter@693b32a4,
> > > > > org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@2cf87853,
> > > > > org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3664a61e,
> > > > > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7e8a3d1f,
> > > > > org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter@3e2af682,
> > > > > org.springframework.security.web.authentication.AnonymousAuthenticationFilter@32e489c4,
> > > > > org.springframework.security.web.session.SessionManagementFilter@16aade61,
> > > > > org.springframework.security.web.access.ExceptionTranslationFilter@6ab8c3c6,
> > > > > org.springframework.security.web.access.intercept.AuthorizationFilter@4c030249]]
> > > > > (1/1)
> > > > > 2024-07-22T09:42:03.186-05:00 DEBUG 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] o.s.security.web.FilterChainProxy        : Securing
> > > > > GET /WEB-INF/content/desktop/login.jsp
> > > > > 2024-07-22T09:42:03.186-05:00 TRACE 17749 --- [EZLista]
> > > > > [0.1-8809-exec-3] o.s.security.web.FilterChainProxy        : Invoking
> > > > > DisableEncodeUrlFilter (1/15)
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> > > > For additional commands, e-mail: user-h...@struts.apache.org
> > > >

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to