Sorry for the break, I have committed an update fix that should take care of the web container using old version of servlet api. I also added code to throw an exception when we fail to get the proper contextPath using the multiple methods we support.
On Feb 11, 2008 10:31 AM, Raymond Feng <[EMAIL PROTECTED]> wrote: > Hi, > > I just tested the WAR with Jetty-5.1.14 and Tomcat-5.5.26. It was broken > with Jetty-5.1.14 as the getContextPth() method is not available. On > Tomcat-5.5.26, the implementation class of ServletContext happens to have > the method and it's by luck working. > > Thanks, > Raymond > > > ----- Original Message ----- > From: "Raymond Feng" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Sunday, February 10, 2008 9:46 PM > Subject: Re: svn commit: r620376 - > /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java > > > > Hi, > > > > I don't think this is a good fix. The ServletContext.getContextPath() is > > introduced for Servlet Spec 2.5 or later. The major/minor version can tell > > us if the current ServletContext has getContextPath() method. In Servlet > > 2.4, the getContextPath() is only available on HttpServletRequest. > > > > With this change, we'll get IllegalStateException for Servlet version > > before 2.5. Is the WebSphere Servlet at the level of 2.5 or later? If so, > > the getContextPath() should return a valid value as required by the spec. > > (See [1]). If it returns null, it should be a WebSphere bug :-). > > > > BTW, I don't know why we check the init-parameter for the contextPath as a > > fall-back. Is it a Tuscany specific thing or a Servlet spec statement (I > > couldn't find it in Servlet spec 2.4)? > > > > Thanks, > > Raymond > > > > [1] > > http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContext.html#getContextPath() > > > > ----- Original Message ----- > > From: <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Sunday, February 10, 2008 6:06 PM > > Subject: svn commit: r620376 - > > /incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java > > > > > >> Author: lresende > >> Date: Sun Feb 10 18:06:37 2008 > >> New Revision: 620376 > >> > >> URL: http://svn.apache.org/viewvc?rev=620376&view=rev > >> Log: > >> Comment code that was failing to retrieve contextPath in certain web > >> containers > >> > >> Modified: > >> > >> incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java > >> > >> Modified: > >> incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java > >> URL: > >> http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java?rev=620376&r1=620375&r2=620376&view=diff > >> ============================================================================== > >> --- > >> incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java > >> (original) > >> +++ > >> incubator/tuscany/java/sca/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java > >> Sun Feb 10 18:06:37 2008 > >> @@ -240,7 +240,8 @@ > >> public void initContextPath(ServletConfig config) { > >> ServletContext context = config.getServletContext(); > >> int version = context.getMajorVersion() * 100 + > >> context.getMinorVersion(); > >> - if (version >= 205) { > >> + //FIXME Do we really need this ? Servlet 2.4 Spec does mention > >> getContextPath > >> + //if (version >= 205) { > >> // The getContextPath() is introduced since Servlet 2.5 > >> Method m; > >> try { > >> @@ -254,9 +255,9 @@ > >> throw new IllegalStateException( > >> "'contextPath' init > >> parameter must be set for pre-2.5 servlet container"); > >> } > >> - } else { > >> - contextPath = config.getInitParameter("contextPath"); > >> - } > >> + //} else { > >> + // contextPath = config.getInitParameter("contextPath"); > >> + //} > >> logger.info("initContextPath: " + contextPath); > >> } > >> > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
