You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Tobias Bocanegra <to...@day.com> on 2008/01/25 16:48:51 UTC

servlet resolution question

hi,
i face a problem with the servlet resolution. i want to use my own
servlet for GET requests, but the default ujax post servlet for POST
requests. the servlet resolver finds my servlet for the respective
resource type, but does not check may service later:

SlingServletResolver
...
        // get the servlet by resource type
        Servlet servlet = getServlet(request.getResource().getResourceType());
        if (servlet != null) {
            return servlet;
        }

i think this should be a loop checking if the serlvet can service the
http method.

regards, toby
-- 
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---

Re: servlet resolution question

Posted by Tobias Bocanegra <to...@day.com>.
cool. i give it a try.
thanks.

regards, toby

On 1/25/08, Felix Meschberger <fm...@gmail.com> wrote:
> Hi Toby,
>
> This is exactly one of the problems solved with the merge I checked in
> today: A servlet is now registered exact path(s) or resource type(s),
> selector(s) and supported methods and request extensions.
>
> In your case you would declare your servlet to handle some resource
> types and to just be called for html GET requests:
>
>      sling.servlet.resourceTypes = [ "your/resourceType" ]
>      sling.servlet.extensions = [ "html" ]
>
> Now your servlet is only called for GET requests with extension "html"
> to resources whose resource type is "your/resourceType". POST requests
> as well as any other GET requests are not handled by your servlet.
>
> More information on servlet resolution is to be coming soon on the
> wiki....
>
> Hope this helps so far.
>
> Regards
> Felix
>
> Am Freitag, den 25.01.2008, 16:48 +0100 schrieb Tobias Bocanegra:
> > hi,
> > i face a problem with the servlet resolution. i want to use my own
> > servlet for GET requests, but the default ujax post servlet for POST
> > requests. the servlet resolver finds my servlet for the respective
> > resource type, but does not check may service later:
> >
> > SlingServletResolver
> > ...
> >         // get the servlet by resource type
> >         Servlet servlet = getServlet(request.getResource().getResourceType());
> >         if (servlet != null) {
> >             return servlet;
> >         }
> >
> > i think this should be a loop checking if the serlvet can service the
> > http method.
> >
> > regards, toby
>
>


-- 
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---

Re: servlet resolution question

Posted by Felix Meschberger <fm...@gmail.com>.
Hi Toby,

This is exactly one of the problems solved with the merge I checked in
today: A servlet is now registered exact path(s) or resource type(s),
selector(s) and supported methods and request extensions.

In your case you would declare your servlet to handle some resource
types and to just be called for html GET requests:

     sling.servlet.resourceTypes = [ "your/resourceType" ]
     sling.servlet.extensions = [ "html" ]

Now your servlet is only called for GET requests with extension "html"
to resources whose resource type is "your/resourceType". POST requests
as well as any other GET requests are not handled by your servlet.

More information on servlet resolution is to be coming soon on the
wiki....

Hope this helps so far.

Regards
Felix

Am Freitag, den 25.01.2008, 16:48 +0100 schrieb Tobias Bocanegra:
> hi,
> i face a problem with the servlet resolution. i want to use my own
> servlet for GET requests, but the default ujax post servlet for POST
> requests. the servlet resolver finds my servlet for the respective
> resource type, but does not check may service later:
> 
> SlingServletResolver
> ...
>         // get the servlet by resource type
>         Servlet servlet = getServlet(request.getResource().getResourceType());
>         if (servlet != null) {
>             return servlet;
>         }
> 
> i think this should be a loop checking if the serlvet can service the
> http method.
> 
> regards, toby