Could you give some insights about the way Turbine handle URLs? Any pointers?
J�r�me.
Robert Douglass wrote:
+1 for Turbine style urls
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Jerome BERNARD Sent: Sunday, September 28, 2003 6:09 PM To: [EMAIL PROTECTED] Subject: Re: [OS-webwork] Advanced URL mapping?
I just looked at the code and can't find anything really helpful in the ServletDispatcher class :-(
Here is what I would like to do:
public class RewriteServletDispatcher extends ServletDispatcher { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException { // extract the article id to retreive String pathInfo = request.getPathInfo(); String articleID = pathInfo.substring(1, pathInfo.length()); // alter the original request so that WW handles it // the request could be now something like "/showArticle.action?article=<articleID>" ??? } }
As show above, even though I am able to extract the relevant information (the article ID), I am not able to tell the ServletDispatcher that instead of using the action built from the request path I would like to use my own path (that would be a "regular" WW action name with my article id as a parameter).
So ServletDispatcher does not seem to offer much compared to a custom Servlet (I mean in the use case of course :-)). If ServletDispatcher was "refactored" a little bit so that the main work would be done in a method independant of the ServletRequest this would probably help. I am thinking about something like this:
public class ServletDispatcher extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException { // extract the relevant information from the HttpServletRequest object handleRequest(extractPath, response); } protected void handleRequest(String requestPath, HttpServletResponse response) throws ServletException { } // other methods omitted for brief }
This would allow developers to extend ServletDispatcher and still be able to implement any URL mapping policy they'd like to use.
I would definitely prefer something better than my own servlet with a "copy&paste" from ServletDispatcher's code.
Any suggestion?
BTW, I think this kind of servlet should be included in WW. This would allow pretty URL (this is in fact the main purpose I'm trying to reach).
Regards, J�r�me.
Jason Carreira wrote:
Yes, implementing your own ServletDispatcher is the best way to do this...
-----Original Message----- From: Jerome BERNARD [mailto:[EMAIL PROTECTED] Sent: Sunday, September 28, 2003 10:54 AM To: [EMAIL PROTECTED] Subject: [OS-webwork] Advanced URL mapping?
Hi,
I would like to be able to map some URL to some actions where part of the URL is transformed as a parameter to the action. For example, I would like the URL "http://myhost.com/article/XYZ" to be rendered as the view of the action "showArticle" with the parameter "articleID" set to "XYZ".
I could possibly do such a thing using Apache (and especially mod_rewrite) as a proxy to the web server, but I would like to handle it at the Servlet level.
I am wondering what is the best way to do it... Should I extend WW default ServletDispatcher?
Thanks in advance, J�r�me.
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
