[opencms-dev] Servlet Filter not applied when custom XML content file clicked in "Online" project
Christoph Schönfeld
cschoenfeld at sylphen.com
Fri May 4 16:25:33 CEST 2007
Dear fellow list readers,
I have a custom XML content type. The XML content files are associated
with a JSP page via template-elements which requires a Hibernate
session. When I click on one of my custom XML content files in the
OpenCms Explorer to preview it I receive an exception stating that no
Hibernate Session is available. This happens only in the "Online" project.
Obviously the servlet filter I normally use to ensure that Hibernate
sessions are opened is not called. I cannot find it in the stack trace.
This is my filter mapping:
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
In the stack trace starts like
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
Thus, I assume it is not incomplete and should show any filter called.
But neither the Hibernate filter nor my other filter which is in place
for the "/*" url-pattern are getting called. However, I noticed that the
static export is called:
at
org.opencms.staticexport.CmsStaticExportManager.export(CmsStaticExportManager.java:498)
I suppose it is normal that the static export is run when files are
accessed in the "Online" project.
Strangely, the access log contains a handle404 message as the first log
entry at click time.
127.0.0.1 - - [04/May/2007:15:42:29 +0200] "GET
/handle404/export/mycustomxmlcontentfile.html HTTP/1.1" 404 1130
127.0.0.1 - - [04/May/2007:15:42:29 +0200] "GET
/opencms/system/workplace/commons/displayresource.jsp?resource=/mycustomxmlcontentfile.html
HTTP/1.1" 302 -
127.0.0.1 - - [04/May/2007:15:42:29 +0200] "GET
/mycustomxmlcontentfile.html HTTP/1.1" 200 7935
Displayresource.jsp seems to be the mechanism the OpenCms Explorer uses
to show files.
I am wondering:
- how is it possible that the servlet filters are not called in the
"Online" project
- what causes the handle404 being invoked even before displayresource.jsp?
Best regards,
Christoph
More information about the opencms-dev
mailing list