Re: Best way to serve CSS and Javascript from a WAR?
Jerome, Excellent! Fantastic! I will try it, thank you so much. Dustin Jerome Louvel wrote: Hi Dustin, The WAR client is automatically installed when you use the ServerServlet adapter. In Restlet 1.1, this will work with the standalone mode too, so Application portability will be intact. So, you can already simplify your code like this: public Representation getRepresentation(final Variant variant) { return getContext().getDispatcher() .get(war:///css/{cssfile}).getEntity(); } Note that going through the context's dispatcher lets you transparently reuse request's attributes via URI templates :) Let me know if this works for you. Best regards, Jerome -Message d'origine- De : Dustin N. Jenkins [mailto:[EMAIL PROTECTED] Envoyé : mardi 12 juin 2007 16:19 À : Discussion about Restlet Objet : Best way to serve CSS and Javascript from a WAR? I'm deploying my Restlet application into a WAR in Tomcat, and everything seems to be working just fine. Normally, it'd be nicer to simply let Tomcat handle the CSS and Javascript files, but I want to map everything (/*) to the ServerServlet so I can keep the initial part of the resource ref (i.e. if I were to map /abc/* and /xyz/* I wouldn't be able to match those because it becomes the base ref and gets stripped off). Here's what I'm doing now for the CSSResource that the /css/{cssfile} is routed to: public Representation getRepresentation(final Variant variant) { final ServletWarClient warClient = new ServletWarClient(getContext(), ((ServletContextAdapter) getContext()).getServletContext()); return warClient.get(war:///css/ + getRequestAttribute(cssfile)).getEntity(); } Which isn't elegant at all as it's tuned specifically to being deployed as a WAR, and can no longer be run as a standalone, not to mention all the implementation specific stuff... Is there a better way? I know normal static stuff is served via the Directory resource, but it doesn't apply here because everything is inside the WAR. Any suggestions? Thank you for the fantastic framework! Dustin -- Dustin N. Jenkins | Tel/Tél: 250.363.3101 | [EMAIL PROTECTED] facsimile/télécopieur: (250) 363-0045 National Research Council Canada | 5071 West Saanich Rd, Victoria BC. V9E 2E7 Conseil national de recherches Canada | 5071, ch. West Saanich, Victoria (C.-B) V9E 2E7 Government of Canada | Gouvernement du Canada
RE: Best way to serve CSS and Javascript from a WAR?
Hi Dustin, The WAR client is automatically installed when you use the ServerServlet adapter. In Restlet 1.1, this will work with the standalone mode too, so Application portability will be intact. So, you can already simplify your code like this: public Representation getRepresentation(final Variant variant) { return getContext().getDispatcher() .get(war:///css/{cssfile}).getEntity(); } Note that going through the context's dispatcher lets you transparently reuse request's attributes via URI templates :) Let me know if this works for you. Best regards, Jerome -Message d'origine- De : Dustin N. Jenkins [mailto:[EMAIL PROTECTED] Envoyé : mardi 12 juin 2007 16:19 À : Discussion about Restlet Objet : Best way to serve CSS and Javascript from a WAR? I'm deploying my Restlet application into a WAR in Tomcat, and everything seems to be working just fine. Normally, it'd be nicer to simply let Tomcat handle the CSS and Javascript files, but I want to map everything (/*) to the ServerServlet so I can keep the initial part of the resource ref (i.e. if I were to map /abc/* and /xyz/* I wouldn't be able to match those because it becomes the base ref and gets stripped off). Here's what I'm doing now for the CSSResource that the /css/{cssfile} is routed to: public Representation getRepresentation(final Variant variant) { final ServletWarClient warClient = new ServletWarClient(getContext(), ((ServletContextAdapter) getContext()).getServletContext()); return warClient.get(war:///css/ + getRequestAttribute(cssfile)).getEntity(); } Which isn't elegant at all as it's tuned specifically to being deployed as a WAR, and can no longer be run as a standalone, not to mention all the implementation specific stuff... Is there a better way? I know normal static stuff is served via the Directory resource, but it doesn't apply here because everything is inside the WAR. Any suggestions? Thank you for the fantastic framework! Dustin
Best way to serve CSS and Javascript from a WAR?
I'm deploying my Restlet application into a WAR in Tomcat, and everything seems to be working just fine. Normally, it'd be nicer to simply let Tomcat handle the CSS and Javascript files, but I want to map everything (/*) to the ServerServlet so I can keep the initial part of the resource ref (i.e. if I were to map /abc/* and /xyz/* I wouldn't be able to match those because it becomes the base ref and gets stripped off). Here's what I'm doing now for the CSSResource that the /css/{cssfile} is routed to: public Representation getRepresentation(final Variant variant) { final ServletWarClient warClient = new ServletWarClient(getContext(), ((ServletContextAdapter) getContext()).getServletContext()); return warClient.get(war:///css/ + getRequestAttribute(cssfile)).getEntity(); } Which isn't elegant at all as it's tuned specifically to being deployed as a WAR, and can no longer be run as a standalone, not to mention all the implementation specific stuff... Is there a better way? I know normal static stuff is served via the Directory resource, but it doesn't apply here because everything is inside the WAR. Any suggestions? Thank you for the fantastic framework! Dustin