[opencms-dev] Flex and Servlet API 2.2
Publius Ismanescu
publiusi at wwdb.org
Thu Feb 27 01:23:14 CET 2003
Hi Alexander,
I deployed opencms 5.0 rc1 on websphere 4.0 using your suggestion. I
created a jar file with the servlet 2.3 new api's.(not including the
servlet 2.2 classes).
I also changed the taglib to jsp1.1.
When I type the url :
http://localhost:9080/opencms/opencms/system/workplace/action/index.html
I get the login and after login
the opencms application is up .
When I use the the following url:
http://localhost:9080/opencms/opencms/index.jsp I get the jsp page but
without the information that has to be replaced by the tags inside the
jsp , so all the tags all replaced with blank. I did put some printout
code and this is what happens inside the CmsJspTagInfo class:
I added the 2 system.out line bellow and the output follows after that:
javax.servlet.ServletRequest req = pageContext.getRequest();
System.out.println("This is before the if + the real path" +
pageContext.getServletConfig().getServletContext().getRealPath("/"));
System.out.println("The class for this is : " + req.getClass().getName());
// This will always be true if the page is called through OpenCms
if (req instanceof com.opencms.flex.cache.CmsFlexRequest) {
com.opencms.flex.cache.CmsFlexRequest c_req =
(com.opencms.flex.cache.CmsFlexRequest)req;
try {
String result = infoTagAction(m_property, c_req);
// Return value of selected property
pageContext.getOut().print(result);
} catch (Exception ex) {
System.err.println("Error in Jsp 'user' tag processing:
" + ex);
System.err.println(com.opencms.util.Utils.getStackTrace(ex));
throw new javax.servlet.jsp.JspException(ex.getMessage());
}
}
return SKIP_BODY;
This is the output
[2/26/03 18:21:09:023 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:023 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
[2/26/03 18:21:09:023 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:033 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
[2/26/03 18:21:09:033 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:033 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
[2/26/03 18:21:09:033 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:043 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
[2/26/03 18:21:09:043 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:043 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
[2/26/03 18:21:09:053 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:053 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
[2/26/03 18:21:09:053 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:053 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
[2/26/03 18:21:09:053 EST] 7eee64f2 SystemOut U This is before the
if + the real
pathd:\PROGRA~1\WEBSPH~1\APPSER~1\installedApps\opencms.ear\wasopencms.war\
[2/26/03 18:21:09:063 EST] 7eee64f2 SystemOut U The class for this
is : com.ibm.servlet.engine.webapp.WebAppDispatcherRequest
The request is of type
"com.ibm.servlet.engine.webapp.WebAppDispatcherRequest" and I believe
thats why the tags inside the
jsp page are not processed
I would appreciate if you can give me some thoughts , hints to solve this
Thank you again
Publius Ismanescu
Alexander Kandzior wrote:
>Hi Publius Ismanescu,
>
>I choose Servlet 2.3 because it had the read-made wrapper classes
>available in the API.
>
>You might be able to just take the source code from the 2.3 API
>implementation, copy the wrapper classes stuff to another package, and
>use this wrappers instead of the ones from the 2.3 API.
>
>However, the classcast exception you are experiencing might not even be
>related to that issue. There are servlet container implementations that
>wrap another class around the request (e.g. Resin does). I tested it
>with Tomcat and BEA, where this works, but others seem to handle the
>requests differently. In this environments you can not classcast the
>"request" object back to a FlexRequest. This is why we do not recommend
>to use the classcast on a JSP anymore and have introduced a bean called
>CmsJspActionElement (all of this will be described in the 5.0
>documentation).
>
>To implement a different mechansim would possible but time-consuming. My
>initial idea is to have the OpenCms information stored in a
>requestContext attribute, then access the information from there in the
>mentioned CmsJspActionElement. I will be able to work on this issue for
>quite some time, though.
>
>Best Regards,
>Alex.
>
>Alexander Kandzior
>Alkacon Software - The OpenCms Experts
>http://www.alkacon.com
>
>
>
More information about the opencms-dev
mailing list