cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rkbadam <rkba...@yahoo.com>
Subject RE: another question on RequestDispatcherProvider
Date Tue, 15 Jun 2010 13:48:38 GMT

I am implementing similar functionality, I am forwarding to login.jsp using
requestDispatcher, but seems to be it does't work.
if you have peace of code with all the steps related to this helps me lot.
Thanks
Rajesh Badam


Paul Wilton wrote:
> 
> No worries - thanks for helping me out.
> 
>  
> 
>  
> 
> From: Sergey Beryozkin [mailto:sberyozk@progress.com] 
> Sent: 06 January 2010 12:31
> To: users@cxf.apache.org; Paul Wilton; users@cxf.apache.org
> Subject: RE: another question on RequestDispatcherProvider
> 
>  
> 
>  
> 
> Hi,
> 
> I've verified that the 2nd option (using CXFServlet) is basically
> identical to the first one, I had to do :
> 
> <init-param>
>     <param-name>redirect-list</param-name>
>     <param-value>/WEB-INF/book.jsp</param-value>
> </init-param>
> 
> <init-param>
>     <param-name>redirect-servlet-name</param-name>
>     <param-value>jsp</param-value>
> </init-param>
> 
> Without the redirect-servlet-name parameter CXFServlet with a "/"
> pattern will be reentered after this CXFServlet has tried to forward.
> 
> So, to summarize, if we have CXFServlet with a "/" pattern then the
> following options are available as far as redirection to jsp or indeed
> some other resources/servlets is concerned :
> 
> 1. RequestDispacterProvider configuration in Spring has to include a
> dispatcherName property to avoid a CXFServlet reentrance.
> 2. Alternatively, CXFServlet has to include the 2 init parameters,
> similar to the above one, but for private resources the option 1 would
> likely be preferred and indeed option 1 will be just slightly more
> effective
> It might make sense to combine the 2 options if users are allowed to
> directly interact with some resources, ex, when redirecting to diff URIs
> or when both external users and RequestDispatcherProvider reuse the same
> resources such as JSP pages, etc
> 
> thanks Paul for experimenting with this feature
> cheers, Sergey
> 
> 
> 
> 
> -----Original Message-----
> From: Sergey Beryozkin [mailto:sberyozk@progress.com]
> Sent: Wed 1/6/2010 5:03 AM
> To: Paul Wilton; users@cxf.apache.org
> Subject: RE: another question on RequestDispatcherProvider
> 
> 
> Hi Paul
> 
> thanks for the confirmation, I'll update the docs. But will also play a
> bit with the 2nd option to make sure it also works given that both
> RequestDispatchProvider and CXFServlet will create a custom
> HttpServletRequest wrapper, so I'd like to test that no interference
> will occur...
> 
> cheers, Sergey
> 
> -----Original Message-----
> From: Paul Wilton [mailto:Paul.Wilton@bbc.com]
> Sent: Wed 1/6/2010 5:01 AM
> To: Sergey Beryozkin; users@cxf.apache.org
> Subject: RE: another question on RequestDispatcherProvider
> 
> Hi Sergey
> 
> Option 1 works : )
> 
> 
> 
> Thanks
> 
> Paul
> 
> 
> 
> 
> 
> From: Sergey Beryozkin [mailto:sberyozk@progress.com]
> Sent: 05 January 2010 17:45
> To: Paul Wilton; users@cxf.apache.org
> Subject: RE: another question on RequestDispatcherProvider
> 
> 
> 
> 
> 
> Hi Paul
> 
> I have tried to modify CXFServlet listening on '/' to block if it is a
> /WEB-INF/* pathImfo which is being processed now, but I've observed what
> you did. Basically, when a RequestDispatcherProvider forwards, the first
> servlet which gets this forward request is the same CXFServlet so
> blocking it just results in the original forward request being blocked
> and thus an empty response is returned.
> 
> So here is what can be done here :
> 
> 1. add
> 
> <property name="dispatcherName" value="jsp"/>
> 
> to
> 
> <bean id="dispatchProvider1"
> class="org.apache.cxf.jaxrs.provider.RequestDispatcherProvider">
> 
>         <property name="resourcePath" value="/WEB-INF/jsp/test.jsp"/>
> 
>         <property name="scope" value="request"/>
> 
>     </bean>
> 
> it will restrict the space a bit and will exclude CXFServlet from a list
> of candidates, as far as RequestDispatcher.forward(...) is concerned.
> 
> 
> I have tried it from Eclipse, though I will need to update it to ensure
> JDK but not JRE is used by default for JSP pages be compiled...But
> CXFServlet is definitely bypassed.
> 
> 2. If it is feasible to make your jsp pages public by moving them one
> level higher from /WEB-INF, say to /jsp/..., then configuring CXFServlet
> to redirect to /jsp/test.jsp will do the trick. What will happen is that
> RequestDispatcherProvider will forward and CXFServlet will forward it
> further... I think the reason it could not forward to /WEB-INF was that
> private resources under /WEB-INF are not visible at the CXFServlet
> level...
> 
> hope it helps, can you please try one of the above options ?
> 
> thanks, Sergey
> 
> -----Original Message-----
> From: Paul Wilton [mailto:Paul.Wilton@bbc.com]
> Sent: Tue 1/5/2010 10:01 AM
> To: Sergey Beryozkin
> Cc: users@cxf.apache.org
> Subject: RE: another question on RequestDispatcherProvider
> 
> Hi Sergey
> 
> I have tried extending the CXFServlet and overriding the redirect method
> as you suggest. But the response is empty by that time -
> 
> By the time redirect method is invoked has the CXFServlet already
> intercepted the  .jsp request and created a new Response (discarding the
> one generated when the JSP was initially processed by the servlet
> container) ?
> 
> 
> 
> 
> This e-mail (and any attachments) is confidential and may contain
> personal views which are not the views of the BBC unless specifically
> stated. If you have received it in error, please delete it from your
> system. Do not use, copy or disclose the information in any way nor act
> in reliance on it and notify the sender immediately.
> 
> Please note that the BBC monitors e-mails sent or received. Further
> communication will signify your consent to this
> 
> This e-mail has been sent by one of the following wholly-owned
> subsidiaries of the BBC:
> 
> BBC Worldwide Limited, Registration Number: 1420028 England, Registered
> Address: BBC Media Centre, 201 Wood Lane, London, W12 7TQ
> BBC World News Limited, Registration Number: 04514407 England,
> Registered Address: BBC Media Centre, 201 Wood Lane, London, W12 7TQ
> BBC World Distribution Limited, Registration Number: 04514408,
> Registered Address: BBC Media Centre, 201 Wood Lane, London, W12 7TQ
> 
> 
> 
> 
> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/another-question-on-RequestDispatcherProvider-tp27013444p28891547.html
Sent from the cxf-user mailing list archive at Nabble.com.


Mime
View raw message