Hi Nikolay / Sergey, I think one workaround is to add a servlet filter which inspects the request path and forwards to a named CXF servlet unless the request is for static resources or jsp. I also think this can be a better solution because it doesn't depend on the configurable tomcat specific jsp servlet.
Cheers, Woonsan ----- Original Message ----- > From: Nikolay Aleksiev <[email protected]> > To: [email protected] > Cc: Sergey Beryozkin <[email protected]> > Sent: Wednesday, November 9, 2011 1:31 PM > Subject: Re: Serving JSPs using redirect on WebLogic > > Hi, > > I tried your suggestion, but the results are not good. > > In both servers I get to StackOverflowError because of endless > redirection. I tried setting redirect-servlet-path to both "" and > "/". > > Cheers, > Nikolay > > > > On 11/09/2011 07:31 PM, Sergey Beryozkin wrote: >> Hi >> >> On 09/11/11 16:28, Nikolay Aleksiev wrote: >>> Hi, >>> >>> I have the following CXF Servlet configuration: >>> >>> <!-- CXF Servlet --> >>> <servlet> >>> <servlet-name>CXFServlet</servlet-name> >>> > <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> > >>> >>> <!-- Redirect all JSP requests to the default jsp servlet --> >>> <init-param> >>> <param-name>redirects-list</param-name> >>> <param-value>.*\.jsp</param-value> >>> </init-param> >>> <init-param> >>> <param-name>redirect-servlet-name</param-name> >>> <param-value>jsp</param-value> >>> </init-param> >>> <!-- Serve static content --> >>> <init-param> >>> <param-name>static-resources-list</param-name> >>> <param-value>.*\.html .*\.htm .*\.js > .*\.css</param-value> >>> </init-param> >>> <load-on-startup>1</load-on-startup> >>> </servlet> >>> <servlet-mapping> >>> <servlet-name>CXFServlet</servlet-name> >>> <url-pattern>/*</url-pattern> >>> </servlet-mapping> >>> >>> As you can see my servlet is matching all requests that's why I > must >>> handle JSPs and static contact. The above config works like charm on >>> Tomcat. Unfortunately I need my application both on Tomcat and > Weblogic. >>> After looking into > org.apache.cxf.transport.servlet.AbstractHTTPServlet, >>> I found out that with WbLogic servlet context, there's no request >>> dispatcher for the name JSP. So I tried adding the following servlet to >>> my web.xml: >>> <servlet> >>> <servlet-name>jsp</servlet-name> >>> <servlet-class>weblogic.servlet.JSPServlet</servlet-class> >>> </servlet> >>> >>> With this additional config the request is endlessly redirected to the >>> same servlet (weblogic.servlet.JSPServlet) and I end with >>> StackOverflowError which is catched in AbstractHTTPServlet. >>> >>> So I can mark the following problems: >>> 1. I can not serve JSPs with redirect, on WebLogic... >>> >>> 2. I can't make the application work on both WL and Tomcat. Even If > I >>> can add some servlet config for weblogic (hopefully issue 1 will be >>> solved), then I will need two separate web.xml configs for weblogic and >>> tomcat. >>> >> >> Can you please try using a "redirect-servlet-path" instead of >> redirect-servlet-name property and set to "" ? Looking at the > code, >> what should happen in this case is that a dispatcher for "" + >> "/my.jsp" should be checked instead, >> >> let me know please if it helps >> >> Cheers, Sergey >> >> >>> I hope someone will have any ideas how can I proceed. >>> >>> Regards, >>> Nikolay >> >
