you can use express-wind to build rest url like "/user/1234"

http://code.google.com/p/express-me/wiki/ExpressWind

It uses Filter or Servlet to handle all requests and match your rest url like:

@Mapping("/user/$1")
public void displayUser(int id) {
   ...
}

If you already have a struts / spring mvc app with *.do mapping, the
url-rewrite-filter is the only choice.

On Sat, Oct 31, 2009 at 7:32 PM, Wesley Wu <wumen...@gmail.com> wrote:
> My filter handle the rewrite and parameter parsing, and dispatch to
> according controller/action with a wrapped http request.
> 1. user hit the url: /user/1354
> 2. filter knows that user request the
> UserController/UserServlet/UserAction/view-user.jsp with a param value 1354
> (corresponding param should be the first pre-configed param, which should be
> id)
> 3. the filter wrap the http request to add param name/value pair (id=1354)
> 4. (optional) call your Controller/Action for additional processing using
> the wrapped request(probably a wrapped response for gzip/caching purpose)
> 5. dispatch to /UserServlet or /view-user.jsp using the wrapped
> request(probably a wrapped response for gzip/caching purpose)
> 2009/10/31 <d.lo...@uib.es>
>>
>> And why is it that a servlet filter is "outside the application"? I
>> consider it to be part of the application; it is simply a matter that
>> those services are not provided directly by the framework used to
>> implement the logic.
>> Otherwise each framework would have to provide that capability.
>>
>> I have seen both approaches (Cocoon uses the later approach) and both
>> have their strong/weak points.
>>
>> In any case, I don't think there's "a good answer and a bad one".
>> S!
>> D.
>>
>> S'està citant Riccardo Cohen <r...@architectedulogiciel.fr>:
>>
>> > I understand your point of view : separate url management and
>> > application logic. It seems a good practice.
>> >
>> > In the same time this probably comes from the idea that search engine
>> > friendly urls are "added" to the application, which basically does not
>> > need it.
>> > On one hand it is true. The url "/user/name" is an alias of
>> > "/servlet?command=showuser&id=1354" in a functionnal point of view.
>> > On the other hand, you may think of the SEF url as a request by itself,
>> > and the controller is in charge of handling requests, of any syntax. So
>> > if my controller parses the url "/servlet?command=showuser&id=1354", why
>> > couldn't it parse the url "/user/name" instead directly ? This removes
>> > from the application one level of control and complexity .
>> >
>> >
>> > Am-I right ?
>> >
>> >
>> > Wesley Wu wrote:
>> >> Not recommended.
>> >>
>> >> I think filter should handle this, which is not relative to business
>> >> logic.
>> >>
>> >> 2009/10/30 Riccardo Cohen <r...@architectedulogiciel.fr
>> >> <mailto:r...@architectedulogiciel.fr>>
>> >>
>> >>     Thanks Wesley I'll try to use filter.
>> >>     Now in term of performance, isn't it better to integrate the url
>> >>     processing directly into the controller servlet ?
>> >>
>> >>     Wesley Wu wrote:
>> >>      > You may use http://tuckey.org/urlrewrite/ UrlRewriteFilter.
>> >>      >
>> >>      > I wrote a similar filter doing the same thing which loads
>> >> rewrite
>> >>     config
>> >>      > from database.
>> >>      >
>> >>      > 2009/10/30 Riccardo Cohen <r...@architectedulogiciel.fr
>> >>     <mailto:r...@architectedulogiciel.fr>
>> >>      > <mailto:r...@architectedulogiciel.fr
>> >>     <mailto:r...@architectedulogiciel.fr>>>
>> >>      >
>> >>      >     Hello
>> >>      >
>> >>      >     I didn't have yet the opportunity to work with search engine
>> >>     friendly
>> >>      >     urls with resin (I did it with apache/php). I suppose that
>> >>     there must be
>> >>      >     a set of <servlet-mapping> and <rewrite-dispatch> in conf
>> >> and
>> >>     some
>> >>      >     url-dedicated servlets in the application.
>> >>      >
>> >>      >     I wonder if there is any kind of "good practice" with resin
>> >>      >     configuration to build SEF web sites.
>> >>      >
>> >>      >     In the wiki I found rewrite rules for php CMS, but not for
>> >>     java apps.
>> >>      >     (I use resin 3,2,0)
>> >>      >
>> >>      >     Thanks a lot.
>> >>      >     --
>> >>      >     Riccardo Cohen
>> >>      >     Architecte du Logiciel
>> >>      >     http://www.architectedulogiciel.fr
>> >>      >     +33 (0)6.09.83.64.49
>> >>      >     Membre du réseau http://www.reflexe-conseil-centre.org
>> >>      >
>> >>      >
>> >>      >
>> >>      >
>> >>      >     _______________________________________________
>> >>      >     resin-interest mailing list
>> >>      >     resin-interest@caucho.com <mailto:resin-interest@caucho.com>
>> >>     <mailto:resin-interest@caucho.com
>> >> <mailto:resin-interest@caucho.com>>
>> >>      >     http://maillist.caucho.com/mailman/listinfo/resin-interest
>> >>      >
>> >>      >
>> >>      >
>> >>      >
>> >>
>> >> ------------------------------------------------------------------------
>> >>      >
>> >>      > _______________________________________________
>> >>      > resin-interest mailing list
>> >>      > resin-interest@caucho.com <mailto:resin-interest@caucho.com>
>> >>      > http://maillist.caucho.com/mailman/listinfo/resin-interest
>> >>
>> >>     --
>> >>     Riccardo Cohen
>> >>     Architecte du Logiciel
>> >>     http://www.architectedulogiciel.fr
>> >>     +33 (0)6.09.83.64.49
>> >>     Membre du réseau http://www.reflexe-conseil-centre.org
>> >>
>> >>
>> >>
>> >>
>> >>     _______________________________________________
>> >>     resin-interest mailing list
>> >>     resin-interest@caucho.com <mailto:resin-interest@caucho.com>
>> >>     http://maillist.caucho.com/mailman/listinfo/resin-interest
>> >>
>> >>
>> >>
>> >>
>> >> ------------------------------------------------------------------------
>> >>
>> >> _______________________________________________
>> >> resin-interest mailing list
>> >> resin-interest@caucho.com
>> >> http://maillist.caucho.com/mailman/listinfo/resin-interest
>> >
>> > --
>> > Riccardo Cohen
>> > Architecte du Logiciel
>> > http://www.architectedulogiciel.fr
>> > +33 (0)6.09.83.64.49
>> > Membre du réseau http://www.reflexe-conseil-centre.org
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > resin-interest mailing list
>> > resin-interest@caucho.com
>> > http://maillist.caucho.com/mailman/listinfo/resin-interest
>> >
>>
>>
>>
>> ----------------------------------------------------------------
>>
>>
>>
>>
>>
>> _______________________________________________
>> resin-interest mailing list
>> resin-interest@caucho.com
>> http://maillist.caucho.com/mailman/listinfo/resin-interest
>
>
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest
>
>



-- 

  Best regards,

Michael Liao


_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to