All 3 of those are great solutions. Thanks to both of you. > -----Original Message----- > From: news [mailto:[EMAIL PROTECTED] On Behalf Of Bill Barker > Sent: Tuesday, September 16, 2003 10:16 PM > To: [EMAIL PROTECTED] > Subject: Re: Apache + Tomcat, a default servlet, and static content > > > If you have only a small number of static file types, then > you could also > do: > <servlet-mapping> > <servlet-name>default</servlet-name> > <url-pattern>*.gif</url-pattern> > </servlet-mapping> > <!-- repeat as necessary --> > > Another trick is to include in your servlet something like: > ServletContext cntx = getServletContext(); > URL resource = cntx.getResource(request.getPathInfo()); > if(resource != null) { // physical file exists > RequestDispatcher rd = cntx.getNamedDispatcher("default"); > rd.forward(request, response); > return; > } > > > "Tim Funk" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] > > That is because your have overridden the default servlet. It is now > > your servlet's job to also serve static content. > > > > A simple workaround: Extend the DefaultServlet, then use > > super.doGet(), > > super.doPost() ... when your servlet doesn't want the mapping. > > > > -Tim > > > > Mike Curwen wrote: > > > > > Apologies if this is a dupe. I just realized I sent the first one > > > from an account that is not subscribed.... > > > > > > ************************************************** > > > > > > Once more with feeling? > > > > > > Bill Barker, John Turner and others might recognize this > question. > > > Yes, it's me AGAIN. > > > > > > httpd.conf: > > > > > > <VirtualHost 205.200.100.109> > > > ServerName foo.myfoo.com > > > ServerAlias www.foo.myfoo.com > > > DocumentRoot /home/webhome/myfoo > > > #deny WEB-INF > > > <Location "/WEB-INF"> > > > AllowOverride None > > > deny from all > > > </Location> > > > JkMount /* tomcat1 > > > ErrorLog /var/log/myfoo/error_log > > > CustomLog /var/log/myfoo/access_log combined </VirtualHost> > > > > > > server.xml: > > > > > > <Context path="" docBase="/home/webhome/myfoo/" > > > defaultSessionTimeout="60" /> > > > > > > web.xml in myfoo/WEB-INF: > > > > > > <servlet-mapping> > > > <servlet-name>Translator</servlet-name> > > > <url-pattern>/</url-pattern> > > > </servlet-mapping> > > > > > > > > > Result: > > > > > > http://foo.myfoo.com/hello/there > > > > > > 1. Apache passes everything to Tomcat > > > 2. Tomcat can't recognize a mapped servlet, and uses the > default 3. > > > My Translator servlet will translate 'foo' from the subdomain and > > > the /hello/there URI into a form like > > > "/real_servlet?a=foo&b=hello&c=there", > > > which is then redirected to. > > > 4. Request for foo.myfoo.com/real_servlet?a=foo&b=hello&c=there > > > 5. Apache passes everything to Tomcat > > > 6. the real_servlet is a recognized mapping, and everything is > > > wonderful. > > > > > > > > > > > > Except when it comes to the HTML. > > > > > > <img src="/img/foo.gif" /> > > > <link rel="stylesheet" href="/myfoo.css" type="text/css"> > > > > > > These requests are *also* being sent through my > translator servlet, > > > which of course, results in little red "X" images and no CSS. > > > > > > The solution I've come up with is to serve all > images/css/etc from a > > > completely separate virtual host. > > > > > > <VirtualHost 205.200.100.109> > > > ServerName img.myfoo.com > > > DocumentRoot /home/webhome/myfoo > > > #deny WEB-INF > > > <Location "/WEB-INF"> > > > AllowOverride None > > > deny from all > > > </Location> > > > ErrorLog /var/log/myfoo/img_error_log > > > CustomLog /var/log/myfoo/img_access_log combined > </VirtualHost> > > > > > > Here, I forward nothing to Tomcat, and let apache serve whatever > > > requests it gets. And of course, I'd construct my links in such a > > > manner: > > > > > > <img src="http://img.myfoo.com/img/foo.gif" /> > > > <link rel="stylesheet" href="http://img.myfoo.com/myfoo.css" > > > type="text/css"> > > > > > > > > > Finally the question: > > > Is there a way around having to use the separate virtual host to > > > serve static content? > > > > > > > > > ------------------------------------------- > > > Mike Curwen 204-885-7733 > > > Intermediate Programmer www.gb-im.com > > > ------------------------------------------- > > > ____ ____ ___ __ __ > > > / ___| | __ ) |_ _| | \/ | > > > | | _ | _ \ _____ | | | |\/| | > > > | |_| | | |_) | |_____| | | | | | | > > > \____| |____/ |___| |_| |_| > > > > > > > > > > -------------------------------------------------------------------- > > > - > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]