You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Erin Lester <ec...@student.math.uwaterloo.ca> on 2001/06/26 16:25:04 UTC

web.xml not working

I have created a web application as per the Servlet API specs and deployed
it into the webapps directory of Tomcat in a directory called 'sampleapp.'

The only way that I am able to access the webapp's servlet (which is in
sampleapp/WEB-INF/classes) is by the url
'SERVERADDRESS/sampleapp/servlet/SERVLETNAME' and this is only when I
don't have a web.xml file in the WEB-INF directory.  When I place the
web.xml file that I created (using to the documents on the Sun and
Jakarta sites) I am unable to find my servlet.

The servlet mapping in the web.xml file looks like this:

	<servlet>
		<servlet-name>StoryGeneratorServlet</servlet-name> 
		<servlet-class>StoryGenerator</servlet-class> 
	</servlet>

	<servlet-mapping>
		<servlet-name>StoryGeneratorServlet</servlet-name> 
		<url-pattern>/story</url-pattern> 
	</servlet-mapping>

I tried using the urls 'SERVERNAME/sampleapp/servlet/story' and
'SERVERNAME/sampleapp/story'

I also tried to install the J2EE sample 'petstore' web application but had
problems accessing the servlets with it too.  I am able to get to the jsps
and static files okay.

Does anyone know what I am doing wrong? 

Thanks!
Erin

PS - I'm using Tomcat 3.2 with Apache 1.3 on Sun 2.7


RE: web.xml not working

Posted by Stefan Neumann <st...@netgrafics.de>.
give that one a try:

<url-pattern>/story/*</url-pattern>

using SERVERNAME/sampleapp/story



-----Original Message-----
From: Erin Lester [mailto:eclester@student.math.uwaterloo.ca]
Sent: Dienstag, 26. Juni 2001 16:25
To: tomcat-user@jakarta.apache.org
Subject: web.xml not working


I have created a web application as per the Servlet API specs and deployed
it into the webapps directory of Tomcat in a directory called 'sampleapp.'

The only way that I am able to access the webapp's servlet (which is in
sampleapp/WEB-INF/classes) is by the url
'SERVERADDRESS/sampleapp/servlet/SERVLETNAME' and this is only when I
don't have a web.xml file in the WEB-INF directory.  When I place the
web.xml file that I created (using to the documents on the Sun and
Jakarta sites) I am unable to find my servlet.

The servlet mapping in the web.xml file looks like this:

	<servlet>
		<servlet-name>StoryGeneratorServlet</servlet-name> 
		<servlet-class>StoryGenerator</servlet-class> 
	</servlet>

	<servlet-mapping>
		<servlet-name>StoryGeneratorServlet</servlet-name> 
		<url-pattern>/story</url-pattern> 
	</servlet-mapping>

I tried using the urls 'SERVERNAME/sampleapp/servlet/story' and
'SERVERNAME/sampleapp/story'

I also tried to install the J2EE sample 'petstore' web application but had
problems accessing the servlets with it too.  I am able to get to the jsps
and static files okay.

Does anyone know what I am doing wrong? 

Thanks!
Erin

PS - I'm using Tomcat 3.2 with Apache 1.3 on Sun 2.7

Re: web.xml not working

Posted by Charles Baker <ra...@yahoo.com>.
That was my web.xml for Erin to use as an example.
Mine works just fine btw.

--- Krishna Muthyala <ge...@yahoo.com> wrote:
> Eric
> 
> If you deploy your servlets using a web.xml then you
> should have your servlets properly packaged. so in
> your case you need to package your servlets as
> 
> com.beeslender.servlets.LoginServlet
> 
> package com.beelender.servlets; at the top of your
> Login Servlet and then you should map your web.xml
> in
> the following way
> 
> 
> <servlet>
> <servlet-name>LoginServlet</servlet-name>
>
<servlet-class>com.beeslender.servlets.LoginServlet</servlet-class>
> 
> <servlet-mapping>
>         <servlet-name>
>       		LoginServlet
>         </servlet-name>
>    <url-pattern>
>      /com/beeslender/servlets/LoginServlet/*
>    </url-pattern>
>  </servlet-mapping>
> 
> 
> 
> 
> </servlet>
> 
> 
> in your server.xml also you need to specify as
> followd
> 
> 
> <Context path="/com"  docBase="webapps/com" 
> 		   crossContext="false" debug="0" 
> reloadable="true"
> > 
> 	</Context> 
> 	
> 	<Context path="/com/beeslender" 
> docBase="webapps/com/beeslender" 
> 	   crossContext="false" debug="0" 
> reloadable="true"
> > 
> 	</Context> 
> 	
> 	<Context path="/com/beeslender/servlets" 
> docBase="webapps/com/beeslender/servlets" 
> 		   crossContext="false" debug="0" 
> reloadable="true"
> > 
> 	</Context> 
> 
> 
> 
> you want to make your servlets work, package them
> and
> deploy them as above, ok
> 
> Kris
> --- Erin Lester <ec...@student.math.uwaterloo.ca>
> wrote:
> > Thanks for the suggestion, but I don't think
> that's
> > it.  According to the
> > Java Servlet Spec. v2.2 (ch. 13, pg 65),
> > servlet-mapping isn't contained
> > within the servlet element, but is a seperate
> > element.  
> > 
> > In my original post I said I couldn't have a
> web.xml
> > file in my
> > application.  That was incorrect, I am able to
> have
> > a web.xml file, but
> > the servlet mappings in it aren't working.
> > 
> > To clarify, my servlet isn't in a package.
> > 
> > - Erin
> > 
> > On Tue, 26 Jun 2001, Charles Baker wrote:
> > 
> > >Here is a servlet definition from my web.xml
> file:
> > >
> > >    <servlet>
> > >        <servlet-name>
> > >            Login
> > >        </servlet-name>
> > >        <servlet-class>
> > >            com.beeslender.servlets.LoginServlet
> > >        </servlet-class>
> > >        <servlet-mapping>
> > >            <servlet-name>
> > >                Login
> > >            </servlet-name>
> > >            <url-pattern>
> > >                /Login
> > >            </url-pattern>
> > >        </servlet-mapping>
> > >    </servlet>
> > >
> > >Notice that <servlet-mapping> is a child of
> > <servlet>.
> > >Also, did you create your servlets as part of a
> > >package? If so, you need a directory structure
> > under
> > >$TOMCAT_HOME/sampleapp/WEB-INF/classes that
> matches
> > >your package. For example, 
> > >
> >
>
>$TOMCAT_HOME/sampleapp/WEB-INF/classes/com/beeslender/servlets
> > >
> > >That's where the *.class files would go.
> > >
> > >--- Erin Lester
> > <ec...@student.math.uwaterloo.ca>
> > >wrote:
> > >> I have created a web application as per the
> > Servlet
> > >> API specs and deployed
> > >> it into the webapps directory of Tomcat in a
> > >> directory called 'sampleapp.'
> > >> 
> > >> The only way that I am able to access the
> > webapp's
> > >> servlet (which is in
> > >> sampleapp/WEB-INF/classes) is by the url
> > >> 'SERVERADDRESS/sampleapp/servlet/SERVLETNAME'
> and
> > >> this is only when I
> > >> don't have a web.xml file in the WEB-INF
> > directory. 
> > >> When I place the
> > >> web.xml file that I created (using to the
> > documents
> > >> on the Sun and
> > >> Jakarta sites) I am unable to find my servlet.
> > >> 
> > >> The servlet mapping in the web.xml file looks
> > like
> > >> this:
> > >> 
> > >> 	<servlet>
> > >> 	
> > <servlet-name>StoryGeneratorServlet</servlet-name>
> > >> 
> > >> 		<servlet-class>StoryGenerator</servlet-class>
> 
> > >> 	</servlet>
> > >> 
> > >> 	<servlet-mapping>
> > >> 	
> > <servlet-name>StoryGeneratorServlet</servlet-name>
> > >> 
> > >> 		<url-pattern>/story</url-pattern> 
> > >> 	</servlet-mapping>
> > >> 
> > >> I tried using the urls
> > >> 'SERVERNAME/sampleapp/servlet/story' and
> > >> 'SERVERNAME/sampleapp/story'
> > >> 
> > >> I also tried to install the J2EE sample
> > 'petstore'
> > >> web application but had
> > >> problems accessing the servlets with it too.  I
> > am
> > >> able to get to the jsps
> > >> and static files okay.
> > >> 
> > >> Does anyone know what I am doing wrong? 
> > >> 
> > >> Thanks!
> > >> Erin
> > >> 
> > >> PS - I'm using Tomcat 3.2 with Apache 1.3 on
> Sun
> > 2.7
> > >> 
> > >
> > >
> > >=====
> > >-
> > >rascharles@yahoo.com
> > >Hacking is a "Good Thing!"
> > >See
> > http://www.tuxedo.org/~esr/faqs/hacker-howto.html
> > >
> >
> >__________________________________________________
> > >Do You Yahoo!?
> > >Get personalized email addresses from Yahoo! Mail
> > >http://personal.mail.yahoo.com/
> > >
> 
=== message truncated ===


=====
-
rascharles@yahoo.com
Hacking is a "Good Thing!"
See http://www.tuxedo.org/~esr/faqs/hacker-howto.html

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

Re: web.xml not working

Posted by Krishna Muthyala <ge...@yahoo.com>.
Eric

If you deploy your servlets using a web.xml then you
should have your servlets properly packaged. so in
your case you need to package your servlets as

com.beeslender.servlets.LoginServlet

package com.beelender.servlets; at the top of your
Login Servlet and then you should map your web.xml in
the following way


<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.beeslender.servlets.LoginServlet</servlet-class>

<servlet-mapping>
        <servlet-name>
      		LoginServlet
        </servlet-name>
   <url-pattern>
     /com/beeslender/servlets/LoginServlet/*
   </url-pattern>
 </servlet-mapping>




</servlet>


in your server.xml also you need to specify as followd


<Context path="/com"  docBase="webapps/com" 
		   crossContext="false" debug="0"  reloadable="true"
> 
	</Context> 
	
	<Context path="/com/beeslender" 
docBase="webapps/com/beeslender" 
	   crossContext="false" debug="0"  reloadable="true"
> 
	</Context> 
	
	<Context path="/com/beeslender/servlets" 
docBase="webapps/com/beeslender/servlets" 
		   crossContext="false" debug="0"  reloadable="true"
> 
	</Context> 



you want to make your servlets work, package them and
deploy them as above, ok

Kris
--- Erin Lester <ec...@student.math.uwaterloo.ca>
wrote:
> Thanks for the suggestion, but I don't think that's
> it.  According to the
> Java Servlet Spec. v2.2 (ch. 13, pg 65),
> servlet-mapping isn't contained
> within the servlet element, but is a seperate
> element.  
> 
> In my original post I said I couldn't have a web.xml
> file in my
> application.  That was incorrect, I am able to have
> a web.xml file, but
> the servlet mappings in it aren't working.
> 
> To clarify, my servlet isn't in a package.
> 
> - Erin
> 
> On Tue, 26 Jun 2001, Charles Baker wrote:
> 
> >Here is a servlet definition from my web.xml file:
> >
> >    <servlet>
> >        <servlet-name>
> >            Login
> >        </servlet-name>
> >        <servlet-class>
> >            com.beeslender.servlets.LoginServlet
> >        </servlet-class>
> >        <servlet-mapping>
> >            <servlet-name>
> >                Login
> >            </servlet-name>
> >            <url-pattern>
> >                /Login
> >            </url-pattern>
> >        </servlet-mapping>
> >    </servlet>
> >
> >Notice that <servlet-mapping> is a child of
> <servlet>.
> >Also, did you create your servlets as part of a
> >package? If so, you need a directory structure
> under
> >$TOMCAT_HOME/sampleapp/WEB-INF/classes that matches
> >your package. For example, 
> >
>
>$TOMCAT_HOME/sampleapp/WEB-INF/classes/com/beeslender/servlets
> >
> >That's where the *.class files would go.
> >
> >--- Erin Lester
> <ec...@student.math.uwaterloo.ca>
> >wrote:
> >> I have created a web application as per the
> Servlet
> >> API specs and deployed
> >> it into the webapps directory of Tomcat in a
> >> directory called 'sampleapp.'
> >> 
> >> The only way that I am able to access the
> webapp's
> >> servlet (which is in
> >> sampleapp/WEB-INF/classes) is by the url
> >> 'SERVERADDRESS/sampleapp/servlet/SERVLETNAME' and
> >> this is only when I
> >> don't have a web.xml file in the WEB-INF
> directory. 
> >> When I place the
> >> web.xml file that I created (using to the
> documents
> >> on the Sun and
> >> Jakarta sites) I am unable to find my servlet.
> >> 
> >> The servlet mapping in the web.xml file looks
> like
> >> this:
> >> 
> >> 	<servlet>
> >> 	
> <servlet-name>StoryGeneratorServlet</servlet-name>
> >> 
> >> 		<servlet-class>StoryGenerator</servlet-class> 
> >> 	</servlet>
> >> 
> >> 	<servlet-mapping>
> >> 	
> <servlet-name>StoryGeneratorServlet</servlet-name>
> >> 
> >> 		<url-pattern>/story</url-pattern> 
> >> 	</servlet-mapping>
> >> 
> >> I tried using the urls
> >> 'SERVERNAME/sampleapp/servlet/story' and
> >> 'SERVERNAME/sampleapp/story'
> >> 
> >> I also tried to install the J2EE sample
> 'petstore'
> >> web application but had
> >> problems accessing the servlets with it too.  I
> am
> >> able to get to the jsps
> >> and static files okay.
> >> 
> >> Does anyone know what I am doing wrong? 
> >> 
> >> Thanks!
> >> Erin
> >> 
> >> PS - I'm using Tomcat 3.2 with Apache 1.3 on Sun
> 2.7
> >> 
> >
> >
> >=====
> >-
> >rascharles@yahoo.com
> >Hacking is a "Good Thing!"
> >See
> http://www.tuxedo.org/~esr/faqs/hacker-howto.html
> >
> >__________________________________________________
> >Do You Yahoo!?
> >Get personalized email addresses from Yahoo! Mail
> >http://personal.mail.yahoo.com/
> >
> 


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

Re: web.xml not working

Posted by Charles Baker <ra...@yahoo.com>.
Okay, that sample was just what I had modified/copied
from the web.xml that was supplied w/ TomCat.
--- Erin Lester <ec...@student.math.uwaterloo.ca>
wrote:
> Thanks for the suggestion, but I don't think that's
> it.  According to the
> Java Servlet Spec. v2.2 (ch. 13, pg 65),
> servlet-mapping isn't contained
> within the servlet element, but is a seperate
> element.  
> 
> In my original post I said I couldn't have a web.xml
> file in my
> application.  That was incorrect, I am able to have
> a web.xml file, but
> the servlet mappings in it aren't working.
> 
> To clarify, my servlet isn't in a package.
> 
> - Erin
> 
> On Tue, 26 Jun 2001, Charles Baker wrote:
> 
> >Here is a servlet definition from my web.xml file:
> >
> >    <servlet>
> >        <servlet-name>
> >            Login
> >        </servlet-name>
> >        <servlet-class>
> >            com.beeslender.servlets.LoginServlet
> >        </servlet-class>
> >        <servlet-mapping>
> >            <servlet-name>
> >                Login
> >            </servlet-name>
> >            <url-pattern>
> >                /Login
> >            </url-pattern>
> >        </servlet-mapping>
> >    </servlet>
> >
> >Notice that <servlet-mapping> is a child of
> <servlet>.
> >Also, did you create your servlets as part of a
> >package? If so, you need a directory structure
> under
> >$TOMCAT_HOME/sampleapp/WEB-INF/classes that matches
> >your package. For example, 
> >
>
>$TOMCAT_HOME/sampleapp/WEB-INF/classes/com/beeslender/servlets
> >
> >That's where the *.class files would go.
> >
> >--- Erin Lester
> <ec...@student.math.uwaterloo.ca>
> >wrote:
> >> I have created a web application as per the
> Servlet
> >> API specs and deployed
> >> it into the webapps directory of Tomcat in a
> >> directory called 'sampleapp.'
> >> 
> >> The only way that I am able to access the
> webapp's
> >> servlet (which is in
> >> sampleapp/WEB-INF/classes) is by the url
> >> 'SERVERADDRESS/sampleapp/servlet/SERVLETNAME' and
> >> this is only when I
> >> don't have a web.xml file in the WEB-INF
> directory. 
> >> When I place the
> >> web.xml file that I created (using to the
> documents
> >> on the Sun and
> >> Jakarta sites) I am unable to find my servlet.
> >> 
> >> The servlet mapping in the web.xml file looks
> like
> >> this:
> >> 
> >> 	<servlet>
> >> 	
> <servlet-name>StoryGeneratorServlet</servlet-name>
> >> 
> >> 		<servlet-class>StoryGenerator</servlet-class> 
> >> 	</servlet>
> >> 
> >> 	<servlet-mapping>
> >> 	
> <servlet-name>StoryGeneratorServlet</servlet-name>
> >> 
> >> 		<url-pattern>/story</url-pattern> 
> >> 	</servlet-mapping>
> >> 
> >> I tried using the urls
> >> 'SERVERNAME/sampleapp/servlet/story' and
> >> 'SERVERNAME/sampleapp/story'
> >> 
> >> I also tried to install the J2EE sample
> 'petstore'
> >> web application but had
> >> problems accessing the servlets with it too.  I
> am
> >> able to get to the jsps
> >> and static files okay.
> >> 
> >> Does anyone know what I am doing wrong? 
> >> 
> >> Thanks!
> >> Erin
> >> 
> >> PS - I'm using Tomcat 3.2 with Apache 1.3 on Sun
> 2.7
> >> 
> >
> >
> >=====
> >-
> >rascharles@yahoo.com
> >Hacking is a "Good Thing!"
> >See
> http://www.tuxedo.org/~esr/faqs/hacker-howto.html
> >
> >__________________________________________________
> >Do You Yahoo!?
> >Get personalized email addresses from Yahoo! Mail
> >http://personal.mail.yahoo.com/
> >
> 


=====
-
rascharles@yahoo.com
Hacking is a "Good Thing!"
See http://www.tuxedo.org/~esr/faqs/hacker-howto.html

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

Re: web.xml not working

Posted by Erin Lester <ec...@student.math.uwaterloo.ca>.
Thanks for the suggestion, but I don't think that's it.  According to the
Java Servlet Spec. v2.2 (ch. 13, pg 65), servlet-mapping isn't contained
within the servlet element, but is a seperate element.  

In my original post I said I couldn't have a web.xml file in my
application.  That was incorrect, I am able to have a web.xml file, but
the servlet mappings in it aren't working.

To clarify, my servlet isn't in a package.

- Erin

On Tue, 26 Jun 2001, Charles Baker wrote:

>Here is a servlet definition from my web.xml file:
>
>    <servlet>
>        <servlet-name>
>            Login
>        </servlet-name>
>        <servlet-class>
>            com.beeslender.servlets.LoginServlet
>        </servlet-class>
>        <servlet-mapping>
>            <servlet-name>
>                Login
>            </servlet-name>
>            <url-pattern>
>                /Login
>            </url-pattern>
>        </servlet-mapping>
>    </servlet>
>
>Notice that <servlet-mapping> is a child of <servlet>.
>Also, did you create your servlets as part of a
>package? If so, you need a directory structure under
>$TOMCAT_HOME/sampleapp/WEB-INF/classes that matches
>your package. For example, 
>
>$TOMCAT_HOME/sampleapp/WEB-INF/classes/com/beeslender/servlets
>
>That's where the *.class files would go.
>
>--- Erin Lester <ec...@student.math.uwaterloo.ca>
>wrote:
>> I have created a web application as per the Servlet
>> API specs and deployed
>> it into the webapps directory of Tomcat in a
>> directory called 'sampleapp.'
>> 
>> The only way that I am able to access the webapp's
>> servlet (which is in
>> sampleapp/WEB-INF/classes) is by the url
>> 'SERVERADDRESS/sampleapp/servlet/SERVLETNAME' and
>> this is only when I
>> don't have a web.xml file in the WEB-INF directory. 
>> When I place the
>> web.xml file that I created (using to the documents
>> on the Sun and
>> Jakarta sites) I am unable to find my servlet.
>> 
>> The servlet mapping in the web.xml file looks like
>> this:
>> 
>> 	<servlet>
>> 		<servlet-name>StoryGeneratorServlet</servlet-name>
>> 
>> 		<servlet-class>StoryGenerator</servlet-class> 
>> 	</servlet>
>> 
>> 	<servlet-mapping>
>> 		<servlet-name>StoryGeneratorServlet</servlet-name>
>> 
>> 		<url-pattern>/story</url-pattern> 
>> 	</servlet-mapping>
>> 
>> I tried using the urls
>> 'SERVERNAME/sampleapp/servlet/story' and
>> 'SERVERNAME/sampleapp/story'
>> 
>> I also tried to install the J2EE sample 'petstore'
>> web application but had
>> problems accessing the servlets with it too.  I am
>> able to get to the jsps
>> and static files okay.
>> 
>> Does anyone know what I am doing wrong? 
>> 
>> Thanks!
>> Erin
>> 
>> PS - I'm using Tomcat 3.2 with Apache 1.3 on Sun 2.7
>> 
>
>
>=====
>-
>rascharles@yahoo.com
>Hacking is a "Good Thing!"
>See http://www.tuxedo.org/~esr/faqs/hacker-howto.html
>
>__________________________________________________
>Do You Yahoo!?
>Get personalized email addresses from Yahoo! Mail
>http://personal.mail.yahoo.com/
>


Re: web.xml not working

Posted by Charles Baker <ra...@yahoo.com>.
Here is a servlet definition from my web.xml file:

    <servlet>
        <servlet-name>
            Login
        </servlet-name>
        <servlet-class>
            com.beeslender.servlets.LoginServlet
        </servlet-class>
        <servlet-mapping>
            <servlet-name>
                Login
            </servlet-name>
            <url-pattern>
                /Login
            </url-pattern>
        </servlet-mapping>
    </servlet>

Notice that <servlet-mapping> is a child of <servlet>.
Also, did you create your servlets as part of a
package? If so, you need a directory structure under
$TOMCAT_HOME/sampleapp/WEB-INF/classes that matches
your package. For example, 

$TOMCAT_HOME/sampleapp/WEB-INF/classes/com/beeslender/servlets

That's where the *.class files would go.

--- Erin Lester <ec...@student.math.uwaterloo.ca>
wrote:
> I have created a web application as per the Servlet
> API specs and deployed
> it into the webapps directory of Tomcat in a
> directory called 'sampleapp.'
> 
> The only way that I am able to access the webapp's
> servlet (which is in
> sampleapp/WEB-INF/classes) is by the url
> 'SERVERADDRESS/sampleapp/servlet/SERVLETNAME' and
> this is only when I
> don't have a web.xml file in the WEB-INF directory. 
> When I place the
> web.xml file that I created (using to the documents
> on the Sun and
> Jakarta sites) I am unable to find my servlet.
> 
> The servlet mapping in the web.xml file looks like
> this:
> 
> 	<servlet>
> 		<servlet-name>StoryGeneratorServlet</servlet-name>
> 
> 		<servlet-class>StoryGenerator</servlet-class> 
> 	</servlet>
> 
> 	<servlet-mapping>
> 		<servlet-name>StoryGeneratorServlet</servlet-name>
> 
> 		<url-pattern>/story</url-pattern> 
> 	</servlet-mapping>
> 
> I tried using the urls
> 'SERVERNAME/sampleapp/servlet/story' and
> 'SERVERNAME/sampleapp/story'
> 
> I also tried to install the J2EE sample 'petstore'
> web application but had
> problems accessing the servlets with it too.  I am
> able to get to the jsps
> and static files okay.
> 
> Does anyone know what I am doing wrong? 
> 
> Thanks!
> Erin
> 
> PS - I'm using Tomcat 3.2 with Apache 1.3 on Sun 2.7
> 


=====
-
rascharles@yahoo.com
Hacking is a "Good Thing!"
See http://www.tuxedo.org/~esr/faqs/hacker-howto.html

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/