cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Piroumian" <kpiroum...@apache.org>
Subject Re: Bug in JSPReader?
Date Mon, 04 Aug 2003 10:18:58 GMT
From: "Joerg Heinicke" <joerg.heinicke@gmx.de>

> I have already fixed it and committed it a few minutes ago.
> Thanks, Marc, for spotting the error and, Konstantin, for the hints how
> to patch it. I tested it with the JSP samples, I moved those pipelines
> to the blocks sitemap, so that I have "jsp/welcome.jsp" or similar as
> sitemap URI. It seems to work, but maybe you can have a look on it.
>
> Why does our standard resolving not work? I tested first with something
> like resolver.resolveURI(), but got 404 errors. The JSP engine seems not
> to like JSP files outside of the current servlet's context.

The problem is in the way the JSPEngine is implemented. It simply gets an
URI and calls the JSP servlet with it. Obviously the JSP servlet knows
nothing about Cocoon's sitemaps or resolver and interprets all the requests
either as an absolute path (but relative to the app context, e.g.
/myapp/jsp/welcome.jsp) or as a relative to the current request context
path, which is not always correspond??? to the real JSP file location (e.g.
when you map a subsitemap to some URI).

Hope my explanation was clear.

Regards,
  Konstantin

>
> Joerg
>
> Konstantin Piroumian wrote:
> > This method is available from the Request object which is already
available
> > in JSPReader/JSPGenerator (it is retrieved using
ObjectModel.getRequest() or
> > something like that).
> >
> > Regards,
> >   Konstantin
> >
> > From: "Marc Baumgartner" <moewe@gmx.de>
> >
> >
> >>Okay, I will try to provide a patch. But I don't know the framework very
> >
> > well,
> >
> >>so there are some questions:
> >>
> >>Which class contains the getSitemapURI function? How can I get class?
> >>
> >>Regards
> >>Marc
> >>
> >>
> >>Am Freitag, 1. August 2003 08:10 schrieb Konstantin Piroumian:
> >>
> >>>Yes, that should be fixed. At the time of writing the JSPReader (and
> >>>JSPGenerater as well) there were no any means for obtaining the current
> >>>sitemap URI relative the web application context. Now there is
something
> >>>like getSitemapURI that can help with it.
> >>>
> >>>Please post a patch to Bugzilla if you fix this (also, please fix the
> >>>JSPGenerator).
> >>>
> >>>Regards,
> >>>  Konstantin Piroumian
> >>>kpiroumian@apache.org
> >>>
> >>>----- Original Message -----
> >>>From: "Marc Baumgartner" <moewe@gmx.de>
> >>>To: <users@cocoon.apache.org>
> >>>Sent: Thursday, July 31, 2003 21:39
> >>>Subject: Bug in JSPReader?
> >>>
> >>>
> >>>Hello all,
> >>>
> >>>it seems that there is a bug in the JSPReader class?
> >>>
> >>>I have the following sitemap entry:
> >>>
> >>><map:match pattern="admin/*.jsp">
> >>>  <map:read type="jsp" src="test/{1}.jsp" mime-type="text/html" />
> >>></map:match>
> >>>
> >>>With entering the url "localhost:8080/cocoon/admin/hello.jsp" I get a
> >
> > error
> >
> >>>message that the ressource "localhost:8080/cocoon/test/admin/hello.jsp"
> >
> > can
> >
> >>>not be found.
> >>>
> >>>I am using tomcat 4.1.24 and have tried this with cocoon 2.04,
2.1m1-m3.
> >>>
> >>>I took a look at the sourcecode of the JSPReader and there are the
> >>>following lines:
> >>>
> >>>// get current request path
> >>>String servletPath = httpRequest.getServletPath();
> >>>// remove file part
> >>>servletPath = servletPath.substring(0,servletPath.lastIndexOf('/') +
1);
> >>>url = servletPath + url;
> >>>
> >>>I call this URL: "localhost:8080/cocoon/admin/hello.jsp"
> >>>
> >>>The variable servletPath contains "/admin/hello.jsp".
> >>>Then this path is reduced to "/admin/".
> >>>The variable url contains the path to which we are mapping:
> >>>"/test/hello.jsp".
> >>>
> >>>But the final url is "/admin/test/hello.jsp"
> >>>
> >>>From my point of view the variable servletPath has to contain the path
> >
> > the
> >
> >>>current subsitemap. In my case "/".
> >>>
> >>>Is this maybe a bug?
> >>>
> >>>regards
> >>>Marc
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
>


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


Mime
View raw message