A-HAAA!!!   Yes, there is...

but in the next version of the spec  :(

(Tomcat 5)

So for now, we all have to have a jsp file that does the kickmeto trick.

> -----Original Message-----
> From: Ben Souther [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, July 09, 2003 3:52 PM
> To: Tomcat Users List
> Subject: Re: setting up a root servlet / getting images to 
> appear in Tomcat 4.1.24
> 
> 
> I see what you mean.
> Is there no way to map the welcome-file-list  element in 
> web.xml to a servlet?
> 
> 
> On Wednesday 09 July 2003 04:38 pm, Mark Biciunas wrote:
> > That servlet will work great as will the configuration - no 
> question 
> > about it.  But try updating your configuration so that you 
> acccess it 
> > as:
> >
> >     http://localhost:8080   (note the removal of /hello).
> >
> > The solution I presented is only relevant to the situation 
> when there 
> > is no path (ie: /hello).
> >
> > Please try it and let me know what you find.
> >
> > Mark Biciunas
> > Agorex Inc
> > (905) 274-6785
> > [EMAIL PROTECTED]
> > ----- Original Message -----
> > From: "Ben Souther" <[EMAIL PROTECTED]>
> > To: "Tomcat Users List" <[EMAIL PROTECTED]>
> > Sent: Wednesday, July 09, 2003 4:30 PM
> > Subject: Re: setting up a root servlet / getting images to 
> appear in 
> > Tomcat 4.1.24
> >
> > > This servlet displays images just fine from the root context. It 
> > > uses the root context that comes standard with tomcat. 
> I'm hitting 
> > > it with this URL: http://localhost:8080/hello
> > >
> > >
> > > import javax.servlet.*;
> > > import javax.servlet.http.*;
> > > import java.io.*;
> > >
> > > public class HelloWorldExample  extends HttpServlet{
> > >
> > >     public void doGet(HttpServletRequest  request,
> > >                       HttpServletResponse response)
> > >                                      throws ServletException, 
> > > IOException{
> > >
> > >         response.setContentType("text/html");
> > >         PrintWriter out = response.getWriter();
> > >         out.println("hello world");
> > >         out.println("<img src=tomcat.gif>");
> > >     }
> > > }
> > >
> > >
> > >
> > >
> > > Here is the web.xml:
> > >
> > > <?xml version="1.0" encoding="ISO-8859-1"?>
> > >
> > > <!DOCTYPE web-app
> > >     PUBLIC "-//Sun Microsystems, Inc.//DTD Web 
> Application 2.3//EN"
> > >     "http://java.sun.com/dtd/web-app_2_3.dtd";>
> > >
> > > <web-app>
> > >   <display-name>Welcome to Tomcat</display-name>
> > >   <description>
> > >      Welcome to Tomcat
> > >   </description>
> > >   <servlet>
> > >     <servlet-name>
> > >         Hello
> > >     </servlet-name>
> > >     <servlet-class>
> > >         HelloWorldExample
> > >     </servlet-class>
> > >   </servlet>
> > >   <servlet-mapping>
> > >     <servlet-name>Hello</servlet-name>
> > >     <url-pattern>/hello</url-pattern>
> > >   </servlet-mapping>
> > > </web-app>
> > >
> > >
> > >
> > > Is this what you are trying to do?
> > >
> > > On Wednesday 09 July 2003 04:18 pm, John Turner wrote:
> > > > I'm just trying to understand why it was necessary.
> > > >
> > > > Our apps have mixed content, and we did not have to configure 
> > > > things as you've described.
> > > >
> > > > John
> > > >
> > > > On Wed, 9 Jul 2003 16:04:06 -0400, Mark Biciunas
> >
> > <[EMAIL PROTECTED]>
> >
> > > > wrote:
> > > > > As I understand it, the servlet will receive all 
> requests other 
> > > > > than those that have been re-routed through servlet-mappings.
> > > > >
> > > > > Just out of curiosity, do you see a problem with this 
> approach?
> > > > >
> > > > > Mark Biciunas
> > > > > Agorex Inc
> > > > > (905) 274-6785
> > > > > [EMAIL PROTECTED]
> > > > > ----- Original Message -----
> > > > > From: "John Turner" <[EMAIL PROTECTED]>
> > > > > To: "Tomcat Users List" <[EMAIL PROTECTED]>
> > > > > Sent: Wednesday, July 09, 2003 3:57 PM
> > > > > Subject: Re: setting up a root servlet / getting images to 
> > > > > appear in Tomcat 4.1.24
> > > > >
> > > > >> So you have a servlet that is intercepting all 
> requests, other 
> > > > >> than image requests?
> > > > >>
> > > > >> John
> > > > >>
> > > > >> On Wed, 9 Jul 2003 15:55:21 -0400, Mark Biciunas
> > > > >
> > > > > <[EMAIL PROTECTED]>
> > > > >
> > > > >> wrote:
> > > > >> > Actually, the point of the article is to explain 
> how NOT to 
> > > > >> > deliver
> > > > >>
> > > > >> the
> > > > >>
> > > > >> > images via the servlet and to allow Tomcat to serve images
> >
> > normally -
> >
> > > > >> > something that doesn't happen if you are using a root 
> > > > >> > context.
> > > > >> >
> > > > >> > It is only when you configure server.xml  with a blank 
> > > > >> > context path
> > > > >>
> > > > >> (ie:
> > > > >> > <Context path="" docBase="myservlet" debug="0"/>) that you 
> > > > >> > run into
> > > > >>
> > > > >> this
> > > > >>
> > > > >> > problem.  If you specify a path (ie: <Context 
> > > > >> > path="myservlet" docBase="myservlet" debug="0"/> then the 
> > > > >> > problem doesn't appear.
> > > > >> >
> > > > >> > Hope this helps,
> > > > >> >
> > > > >> > Mark Biciunas
> > > > >> > [EMAIL PROTECTED]
> > > > >> > ----- Original Message -----
> > > > >> > From: "John Turner" <[EMAIL PROTECTED]>
> > > > >> > To: "Tomcat Users List" <[EMAIL PROTECTED]>
> > > > >> > Sent: Wednesday, July 09, 2003 3:19 PM
> > > > >> > Subject: Re: setting up a root servlet / getting images to 
> > > > >> > appear
> >
> > in
> >
> > > > >> > Tomcat
> > > > >> > 4.1.24
> > > > >> >
> > > > >> >> Just so I'm clear....you want to deliver the 
> images via the
> >
> > servlet?
> >
> > > > >> >> I'm
> > > > >> >> missing why you have to declare the MIME types of 
> images at
> > > > >
> > > > > all...Tomcat
> > > > >
> > > > >> > is
> > > > >> >
> > > > >> >> perfectly capable of serving them in a standard HTTP/1.1 
> > > > >> >> manner
> > > > >>
> > > > >> without
> > > > >>
> > > > >> > any
> > > > >> >
> > > > >> >> intervention from a servlet, and without any additional
> > > > >>
> > > > >> configuration.
> > > > >>
> > > > >> >> John
> > > > >> >>
> > > > >> >> On Wed, 9 Jul 2003 15:19:48 -0400, Mark Biciunas
> > > > >> >
> > > > >> > <[EMAIL PROTECTED]>
> > > > >> >
> > > > >> >> wrote:
> > > > >> >> > This email formally presents what I have 
> learned over the 
> > > > >> >> > past
> > > > >>
> > > > >> couple
> > > > >>
> > > > >> >> > days
> > > > >> >> > about setting up a servlet to be accessed as root (ie:
> > > > >> >>
> > > > >> >> www.myservlet.com
> > > > >> >>
> > > > >> >> > instead of www.myservlet.com/somepath) without loosing 
> > > > >> >> > access to
> > > > >> >>
> > > > >> >> images
> > > > >> >>
> > > > >> >> > and
> > > > >> >> > other mime types.  It is based primarily on advice 
> > > > >> >> > received from
> > > > >>
> > > > >> Bill
> > > > >>
> > > > >> >> > Barker
> > > > >> >> > and Stefan Radzom as well as the hints and 
> suggestions of 
> > > > >> >> > many
> > > > >
> > > > > others.
> > > > >
> > > > >> >> > As
> > > > >> >> > you are looking at this solution, please bear 
> in mind that 
> > > > >> >> > I am
> >
> > not
> >
> > > > > an
> > > > >
> > > > >> >> > expert in Tomcat configuration and there is 
> likely a lot 
> > > > >> >> > of
> >
> > things
> >
> > > > >> I
> > > > >>
> > > > >> > have
> > > > >> >
> > > > >> >> > missed.  I welcome any additional advice / corrections 
> > > > >> >> > people
> >
> > have
> >
> > > > >> to
> > > > >>
> > > > >> >> > offer.
> > > > >> >> >
> > > > >> >> >
> > > > >> >> > Setting up a servlet to be accessed without a path (ie:
> > > > >> >> > www.myservlet.com)
> > > > >> >> > is fairly easy if you pay attention to a couple 
> of extra 
> > > > >> >> > steps.
> > > > >
> > > > > First
> > > > >
> > > > >> >> > this
> > > > >> >> > is to deploy your application in the webapps 
> directory as 
> > > > >> >> > usual
> > > > >>
> > > > >> (ie:
> > > > >> >> > webapps/myservlet).  Next, update 
> conf/servlet.xml so that 
> > > > >> >> > you
> >
> > have
> >
> > > > >> a
> > > > >>
> > > > >> >> > root
> > > > >> >> > context that looks like:
> > > > >> >> >
> > > > >> >> > <Context path="" docBase="myservlet" debug="0"/>
> > > > >> >> >
> > > > >> >> > This will tell tomcat to serve ALL incoming requests to 
> > > > >> >> > your
> > > > >>
> > > > >> servlet,
> > > > >>
> > > > >> >> > including requests for images, etc.  If your servlet is 
> > > > >> >> > not set
> >
> > up
> >
> > > > >> to
> > > > >>
> > > > >> >> > handle
> > > > >> >> > mime types, then your images, etc. will seem to 
> disappear.  
> > > > >> >> > To
> >
> > make
> >
> > > > >> >> sure
> > > > >> >>
> > > > >> >> > the
> > > > >> >> > images, etc. are handled correctly, you need to 
> map them 
> > > > >> >> > out in
> > > > >>
> > > > >> your
> > > > >>
> > > > >> >> > WEB-INF/web.xml as follows:
> > > > >> >> >
> > > > >> >> > <servlet>
> > > > >> >> > <servlet-name>myservlet</servlet-name>
> > > > >> >> > <servlet-class>mypackage.MyServlet</servlet-class>
> > > > >> >> > </servlet>
> > > > >> >> >
> > > > >> >> > <servlet-mapping> <servlet-name>myservlet</servlet-name>
> > > > >> >> > <url-pattern>/</url-pattern>
> > > > >> >> > </servlet-mapping>
> > > > >> >> >
> > > > >> >> > <servlet-mapping> <servlet-name>default</servlet-name>
> > > > >> >> > <url-pattern>*.gif</url-pattern>
> > > > >> >> > </servlet-mapping>
> > > > >> >> >
> > > > >> >> > <servlet-mapping> <servlet-name>default</servlet-name>
> > > > >> >> > <url-pattern>*.jpg</url-pattern>
> > > > >> >> > </servlet-mapping>
> > > > >> >> >
> > > > >> >> > What is happining here in the first two 
> sections is that 
> > > > >> >> > you
> >
> > have
> >
> > > > >> >> > identified
> > > > >> >> > the servlet class and mapping for your servlet. 
>  This is 
> > > > >> >> > more or
> > > > >>
> > > > >> less
> > > > >>
> > > > >> > the
> > > > >> >
> > > > >> >> > same as you would do for any servlet.  If you 
> do nothing 
> > > > >> >> > more
> >
> > than
> >
> > > > >> >> this,
> > > > >> >>
> > > > >> >> > your servlet will (should) work, but you will 
> not see any 
> > > > >> >> > images
> > > > >
> > > > > since
> > > > >
> > > > >> >> > picture.gif would match to a url-pattern of "/" and get 
> > > > >> >> > sent to
> > > > >>
> > > > >> your
> > > > >>
> > > > >> >> > servlet
> > > > >> >> > for processing.
> > > > >> >> >
> > > > >> >> > In the second two sections, we are telling Tomcat that 
> > > > >> >> > anything
> > > > >>
> > > > >> that
> > > > >>
> > > > >> >> > matches
> > > > >> >> > a pattern of *.gif or *.jpg should be sent to 
> the default
> >
> > servlet.
> >
> > > > >> >> Now
> > > > >> >>
> > > > >> >> > any
> > > > >> >> > requests that match *.gif or *.jpg will be handled 
> > > > >> >> > correctly.
> >
> > If
> >
> > > > >> you
> > > > >>
> > > > >> >> > need
> > > > >> >> > to support more mime types, simply create more servlet 
> > > > >> >> > mappings.
> > > > >> >> >
> > > > >> >> > Where did the default servlet come from?  It is already
> >
> > configured
> >
> > > > >> in
> > > > >>
> > > > >> >> > conf/web.xml.  Remember that conf/web.xml is 
> automatically 
> > > > >> >> > read
> > > > >
> > > > > before
> > > > >
> > > > >> >> > your
> > > > >> >> > WEB-INF/web.xml  so it can do it's thing without you 
> > > > >> >> > having to
> > > > >>
> > > > >> worry
> > > > >>
> > > > >> >> > about
> > > > >> >> > it at all.  The trick is to use url-patterns to send 
> > > > >> >> > requests
> >
> > back
> >
> > > > >> to
> > > > >>
> > > > >> > the
> > > > >> >
> > > > >> >> > default servlet so that they don't end up in 
> your servlet.
> > > > >> >> >
> > > > >> >> > The above solution will work great as long as you don't 
> > > > >> >> > have to
> > > > >>
> > > > >> many
> > > > >>
> > > > >> > mime
> > > > >> >
> > > > >> >> > types to deal with.  If you need to handle lots of 
> > > > >> >> > diferent
> >
> > types
> >
> > > > >> of
> > > > >>
> > > > >> >> > requests, then Bill Barker presented the following 
> > > > >> >> > alternate
> > > > >>
> > > > >> solution
> > > > >>
> > > > >> >> > which
> > > > >> >> > involves changing your servlet code to redirect 
> requests:
> > > > >> >> >
> > > > >> >> > URL file =
> >
> > getServletContext().getResource(request.getPathInfo());
> >
> > > > >> >> > if( file != null ) { // physical resource exists 
> > > > >> >> > RequestDispatcher rd = 
> > > > >> >> > getServletContext().getNamedDispatcher("default");
> > > > >> >> > rd.forward(request, response);
> > > > >> >> > return;
> > > > >> >> > }
> > > > >> >> > // Your code here.
> > > > >> >> >
> > > > >> >> > I have not tried this solution so I do not know to much 
> > > > >> >> > about
> >
> > it.
> >
> > > > >> It
> > > > >>
> > > > >> >> > seems
> > > > >> >> > staightforward enough though, so I would expect 
> it to work
> >
> > great.
> >
> > > > >> >> > Mark Biciunas
> > > > >> >> > [EMAIL PROTECTED]
> > >
> > > 
> -------------------------------------------------------------------
> > >
> > > > >> >> >-
> > > > >>
> > > > >> -
> > > > >>
> > > > >> >> > To unsubscribe, e-mail:
> >
> > [EMAIL PROTECTED]
> >
> > > > >> >> > For additional commands, e-mail: tomcat-user-
> > > > >>
> > > > >> [EMAIL PROTECTED]
> > > > >>
> > > > >> >> --
> > > > >> >> Using M2, Opera's revolutionary e-mail client:
> > > > >>
> > > > >> http://www.opera.com/m2/
> > >>
> > >> 
> -------------------------------------------------------------------
> > >> --
> > >>
> > > > >> >> 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]
> >
> > > > >> --
> > > > >> Using M2, Opera's revolutionary e-mail client:
> >
> > http://www.opera.com/m2/
> >
> > > > >> 
> > > > 
> >>--------------------------------------------------------------------
> > > > >>- 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]
> > >
> > > --
> > > Ben Souther
> > > F.W. Davison & Company, Inc.
> > >
> > >
> > >
> > > REGISTER NOW FOR THE SCORPEO USER CONFERENCE!
> > > September 18-19, 2003 in Boston/Brookline, MA
> > > Additional Training Sessions held September 17, 2003
> > > More info >> http://www.fwdco.com/services/Uconf03/default.shtm
> > >
> > >
> > > 
> --------------------------------------------------------------------
> > > -
> > > 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]
> 
> -- 
> Ben Souther
> F.W. Davison & Company, Inc.
> 
> 
> 
> REGISTER NOW FOR THE SCORPEO USER CONFERENCE!
> September 18-19, 2003 in Boston/Brookline, MA
> Additional Training Sessions held September 17, 2003
> More info >> http://www.fwdco.com/services/Uconf03/default.shtm
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to