Hello, its already addressed here: https://bz.apache.org/bugzilla/show_bug.cgi?id=66277
> -----Ursprüngliche Nachricht----- > Von: Sita Geßner <[email protected]> > Gesendet: Mittwoch, 5. Oktober 2022 08:57 > An: [email protected] > Betreff: problems with inclusion of jsp files since Tomcat 9.0.67 > > Hello, > > since Tomcat 9.0.67 we have the following problem. With tomcat 9.0.65 > everything works fine without a change. > > most of our jsp-files are placed in a subdirectory and include the following > line. > > <%@ include file="../../includes/taglib.jsp" %> > > the taglib.jsp contains the following content: > > > <%@ page language="java" contentType="text/html; charset=UTF-8" %> > > <%@ taglib prefix="decorator" > uri="http://www.opensymphony.com/sitemesh/decorator" %> <%@ taglib > prefix="shiro" uri="http://shiro.apache.org/tags" %> <%@ taglib > prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %> > <%@ taglib prefix="s" uri="/struts-tags" %> <%@ taglib prefix="sj" > uri="/struts-jquery-tags" %> <%@ taglib prefix="sjg" uri="/struts-jquery- > grid-tags" %> > > > <%@ include file="../includes/struts-vars.jsp" %> > > When opening a jsp-file that is directly placed under WEB-INF/jsp/ > everything works fine. > When opening a jsp-page, where the jsp-file is placed in a subdirectory (for > example: WEB-INF/jsp/search/), the following error occurs. > > org.apache.jasper.JasperException: /WEB-INF/jsp/search/search-debtor.jsp > (Zeile: [2], Spalte: [1]) /WEB-INF/jsp/search/../../includes/taglib.jsp > (Zeile: > [11], Spalte: [1]) Datei [../includes/struts-vars.jsp] nicht gefunden at > org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandle > r.java:41) > at > org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:29 > 2) > at > org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:98) > at > org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:351) > at org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:384) > at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:485) > at org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1802) > at org.apache.jasper.compiler.Parser.parse(Parser.java:141) > at > org.apache.jasper.compiler.ParserController.doParse(ParserController.java:2 > 45) > at > org.apache.jasper.compiler.ParserController.parseDirectives(ParserControlle > r.java:128) > at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202) > at org.apache.jasper.compiler.Compiler.compile(Compiler.java:391) > at org.apache.jasper.compiler.Compiler.compile(Compiler.java:367) > at org.apache.jasper.compiler.Compiler.compile(Compiler.java:351) > at > org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.ja > va:605) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.jav > a:399) > at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:227) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:162) > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:189) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:162) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher > .java:711) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationD > ispatcher.java:459) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispat > cher.java:385) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatch > er.java:313) > at > org.apache.struts2.result.ServletDispatcherResult.doExecute(ServletDispatc > herResult.java:169) > at > org.apache.struts2.result.StrutsResultSupport.execute(StrutsResultSupport.j > ava:206) > at > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(Default > ActionInvocation.java:375) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:279) > at > de.data_team.newd.web.DecoratorInterceptor.intercept(DecoratorIntercep > tor.java:40) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doInt > ercept(DefaultWorkflowInterceptor.java:179) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(Val > idationInterceptor.java:263) > at > de.data_team.newd.struts2.DtAnnotationValidationInterceptor.doIntercept > (DtAnnotationValidationInterceptor.java:36) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doInte > rcept(ConversionErrorInterceptor.java:142) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept > (ParametersInterceptor.java:140) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept > (ParametersInterceptor.java:140) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.interc > ept(StaticParametersInterceptor.java:201) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadIn > terceptor.java:243) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept( > ModelDrivenInterceptor.java:101) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(Chai > ningInterceptor.java:160) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(Pr > epareInterceptor.java:175) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletCo > nfigInterceptor.java:167) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept > (ParametersInterceptor.java:140) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectI > nterceptor.java:67) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateText > FieldInterceptor.java:133) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInt > erceptor.java:89) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.interceptor.I18nInterceptor.intercept(I18nInterceptor.jav > a:121) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInte > rceptor.java:228) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.inter > cept(ExceptionMappingInterceptor.java:196) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.web.RedirectMessageInterceptor.doIntercept(Redirect > MessageInterceptor.java:49) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.security.ModulBasedInterceptor.intercept(ModulBase > dInterceptor.java:58) > at > de.data_team.newd.security.AvvisoVersionInterceptor.intercept(AvvisoVer > sionInterceptor.java:68) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.security.ModulBasedInterceptor.intercept(ModulBase > dInterceptor.java:58) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.security.ModulBasedInterceptor.intercept(ModulBase > dInterceptor.java:58) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.security.NoAvailableLicenseInterceptor.intercept(NoAv > ailableLicenseInterceptor.java:45) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.security.NoLicenseInterceptor.intercept(NoLicenseInte > rceptor.java:48) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.security.OtherActiveSessionInterceptor.intercept(Othe > rActiveSessionInterceptor.java:59) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.security.PasswordExpiredInterceptor.intercept(Passwo > rdExpiredInterceptor.java:40) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.inter > cept(ExceptionMappingInterceptor.java:196) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > de.data_team.newd.web.ParametersInterceptor.intercept(ParametersInter > ceptor.java:44) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionI > nvocation.java:249) > at > org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.jav > a:48) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574) > at > org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOp > erations.java:79) > at > org.apache.struts2.dispatcher.filter.StrutsExecuteFilter.doFilter(StrutsExecut > eFilter.java:86) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:189) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:162) > at > com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteM > eshFilter.java:129) > at > com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilt > er.java:77) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:189) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:162) > at > org.apache.struts2.dispatcher.filter.StrutsPrepareFilter.doFilter(StrutsPrepar > eFilter.java:92) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:189) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:162) > at > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain. > java:61) > at > org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:10 > 8) > at > org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java: > 137) > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerReque > stFilter.java:125) > at > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain. > java:66) > at > org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:10 > 8) > at > org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java: > 137) > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerReque > stFilter.java:125) > at > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain. > java:66) > at > org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShir > oFilter.java:450) > at > org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.ja > va:365) > at > org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java > :90) > at > org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83 > ) > at > org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubj > ect.java:387) > at > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShi > roFilter.java:362) > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerReque > stFilter.java:125) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Deleg > atingFilterProxy.java:354) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilt > erProxy.java:267) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:189) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:162) > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi > lterChain.java:189) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai > n.java:162) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV > alve.java:197) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal > ve.java:97) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorB > ase.java:541) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: > 135) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:9 > 2) > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLo > gValve.java:687) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. > java:78) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:3 > 60) > at > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399 > ) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja > va:65) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractPr > otocol.java:893) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoi > nt.java:1789) > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.j > ava:49) > at > org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolE > xecutor.java:1191) > at > org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPool > Executor.java:659) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr > ead.java:61) > at java.base/java.lang.Thread.run(Thread.java:829) > > > When I change the include of the file struts-vars.jsp, everything seems works > fine again: > > <%@ include file="/WEB-INF/includes/struts-vars.jsp" %> > > > I don't know if this behaviour is right or if this is a bug. > > > > Sincere regards, > > Sita Geßner --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
