Hi Jim,

I have just tested your code and it worked for me. Did you get the latest
current.zip? I have updated it after my initial reply to you to fix a couple
of issues.

In any case, I have attached my test files.

Best regards,
Jerome  

> -----Message d'origine-----
> De : Jim Alateras [mailto:[EMAIL PROTECTED] 
> Envoyé : mercredi 28 mars 2007 05:52
> À : [email protected]
> Objet : Re: spring and restlet
> 
> Jerome,
> 
> I have the integration with spring working through the extension of 
> FrameworkServlet but I am having some issues with the Router.
> 
> I am trying to attach resources to the Router as follows
> 
>                       
> // create the converter
> this.converter = new ServletConverter(getServletContext());
> 
> // create the router and attach a default router
> Router router = new Router();
> router.attach("/myresource", MyResource.class);
> this.converter.setTarget(router);
> 
> 
> but the framework does not seem to be routing the URI, 
> /restlet/myresource to the correct resource.
> 
> Any guidance would be appreciated.
> cheers
> </jima>
> 
> 
> 
> Jerome Louvel wrote:
> > Hi Jim,
> > 
> > As the integration mode 3) has been requested several times 
> already, I have
> > just added a new ServletConverter class to the Servlet 
> extension that
> > handles everything transparently. Here is a usage example:
> > 
> > public class TestServlet extends HttpServlet {
> >     private static final long serialVersionUID = 1L;
> > 
> >     private ServletConverter converter;
> > 
> >     @Override
> >     public void init() throws ServletException {
> >         super.init();
> >         this.converter = new ServletConverter(getServletContext());
> >         
> >         Restlet trace = new Restlet(this.converter.getContext()){
> >             
> >             public void handle(Request req, Response res){
> >                 getLogger().info("Hello World");
> >                 res.setEntity("Hello World!", MediaType.TEXT_PLAIN);
> >             }
> >         };
> > 
> >         Router root = new Router();
> >         root.attach(trace);
> >         
> >         this.converter.setTarget(root);
> >     }
> > 
> >     @Override
> >     protected void service(HttpServletRequest req, 
> HttpServletResponse res)
> >             throws ServletException, IOException {
> >         this.converter.service(req, res);
> >     }
> > }
> > 
> > As you can see, your Servlet can extend any super class you 
> want, you just
> > need to create one ServletConverter (and ideally to reuse it for all
> > requests).
> > 
> > I will add a FAQ entry tomorrow about this. For now, you 
> can either get the
> > latest from SVN or get this current.zip:
> > http://www.restlet.org/downloads/1.0/current.zip
> > 
> > Best regards,
> > Jerome  
> > 
> >> -----Message d'origine-----
> >> De : Jim Alateras [mailto:[EMAIL PROTECTED] 
> >> Envoyé : lundi 26 mars 2007 13:24
> >> À : [email protected]
> >> Cc : [EMAIL PROTECTED]
> >> Objet : Re: spring and restlet
> >>
> >> Jerome,
> >>
> >> Thxs, this is great. I have a few more comments\questions inline
> >>
> >> Jerome Louvel wrote:
> >>> 3) Embedded mode B: lighter version where Spring and the 
> >> Servlet container
> >>> are not masked by the concept of Restlet Application. This 
> >> requires the
> >>> creating of a special Servlet (maybe a Spring's 
> >> HttpBeanServlet subclass)
> >> HttpServletBean is the class that needs to be subclassed.
> >>
> >>> and a bit of coding to convert Servlet's calls into 
> >> Restlet's calls. In this
> >>> mode, no Restlet's Application is created, 
> >> Restlets/Filters/Routers/Finders
> >>> are directly instantiated by Spring and configured like 
> >> other Spring beans.
> >>> Of course you loose the Application services and the 
> >> portability of your
> >>> Restlet code to other deployment environments.
> >> i think this is the most appealing mode for my application 
> >> but I think I 
> >> need a bit more info to get going. For instance if all I want 
> >> to do is 
> >> use the Router class then all I need to do is
> >>
> >> 1. subclass HttpServletBean
> >>
> >> 2. subclass doXXX in HttpServletBean
> >>
> >> 3. for each method convert the HttpServletRequest to a 
> >> org.restlet.data.Request and subsequently the 
> >> org.restler.data.Response 
> >> to a HttpServletResponse.
> >>
> >> 4. In each of the HttpServletBean.doXXX call 
> Router.handle(request, 
> >> response) method to route to the appropriate Resource.
> >>
> >> Is this correct?
> >>
> >> Should I also look at the ServerServlet class for help on 
> >> converting a 
> >> Servlet call to a Restlet call?
> >>
> >>
> >> cheers
> >> </jima>
> > 
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
	<display-name>
	ServletDemo</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>TestServlet</servlet-name>
		<servlet-class>TestServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>TestServlet</servlet-name>
		<url-pattern>/restlet/*</url-pattern>
	</servlet-mapping>
</web-app>

Attachment: TestServlet.java
Description: Binary data

Attachment: MyResource.java
Description: Binary data

Reply via email to