cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Piroumian, Konstantin" <KPiroum...@flagship.ru>
Subject [C2.0] Source resolution in servlet container
Date Fri, 26 Oct 2001 12:09:58 GMT
Hi, C2ers!

According to Servlet 2.2 specification (paragraph 4.4):
<quot>
The ServletContext interface allows direct access to the static document
hierarchy of content
documents, such as HTML, GIF, and JPEG files, that are part of the web
application via the
following methods of the ServletContext interface:
. getResource
. getResourceAsStream
</quot>

then:
<quot>
It is important to note that these methods give access to static resources
from whatever repository
the server uses. This hierarchy of documents may exist in a file system, in
a web application archive
file, on a remote server, or some other location.
</quot>

So, from this I can conclude that any other access to static resources is
not required to be supported. As I can see from the CocoonServlet.java
source, it uses calls like this in many places:

final FileInputStream fis = new
FileInputStream(this.servletContext.getRealPath("/") + logkitConfig);

This results in problems with servlet containers (or deployments) that does
not extract files from WAR-archive and therefore the real path is undefined
(is 'null') and CocoonServlet dies during initialization with NPE.

Correct me if I am worng, but to be able to use Cocoon on any servlet engine
that supports Servlet 2.2 specification several rules must be followed in
Cocoon architecture (this must be adapted for CLI):
. any access to static resources of the Web application, including
xsp/xml/xsl files, must be performed by getResource() and
getResourceAsStream methods
. any calls to other servlets must be performed by
RequestDispatcher.include() methods (e.g. JspServlet)
. use working (temporary) directory for any 'write' operations (e.g.
logging)
something else?

Are there any comments on this? Will C2.0 be fixed (at least getRealPath()
issue) before releasing?

Best regards,

Konstantin Piroumian
Sr. Software engineer

Protek Flagship LLC
Phone: + 7 095 795 0520 (add. 1288)
Fax: + 7 095 795 0525
E-mail: kpiroumian@flagship.ru
http://www.protek.com






---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message