tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jon Wingfield <jon.wingfi...@mkodo.com>
Subject Re: adding a servlet to my webapp
Date Wed, 03 Sep 2003 19:56:25 GMT
Given your initial post your class HelloWorld was in
jasonTest/WEB-INF/classes/foo

So either HelloWorld must be in a package foo. ie the first code line of 
the Helloworld source is:
package foo;

or you need to put HelloWorld.class in
jasonTest/WEB-INF/classes

http://jakarta.apache.org/tomcat/tomcat-4.1-doc/appdev/deployment.html

HTH,

Jon


Jason Jesso wrote:

> My guess is that this is right then:
> 
> <?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>
> 
> <servlet>
>        <servlet-name>HelloWorld</servlet-name>
>        <servlet-class>HelloWorld</servlet-class>
> </servlet>
> <servlet-mapping>
>        <servlet-name>HelloWorld</servlet-name>
>        <url-pattern>/servlet/foo/HelloWorld</url-pattern>
> </servlet-mapping>
> 
> </web-app>
> 
> Do I need the "mypackage" thing?
> 
> With what I have above I get a "HTTP Status 500 -
> 
> root cause
> 
> java.lang.ClassNotFoundException: HelloWorld
> 
> 
> 
> 
> 
> 
> Justin Ruthenbeck wrote:
> 
>> Jason,
>>
>> John was pointing out that you're missing the <servlet-mapping> which 
>> basically says, "For a URL that looks like X, send the request to 
>> servlet Y."  You've also got a malformed <servlet-class> value.  
>> Something like this should work...
>>
>> <servlet>
>>         <servlet-name>HelloWorld</servlet-name>
>>         <servlet-class>mypackage.HelloWorld</servlet-class>
>> </servlet>
>> <servlet-mapping>
>>         <servlet-name>HelloWorld</servlet-name>
>>         <url-pattern>/servlet/foo/HelloWorld</url-pattern>
>> </servlet-mapping>
>>
>> justin
>>
>>
>> At 12:02 PM 9/3/2003, you wrote:
>>
>>> But,  I don't want to use the "invoker".  I want to be able to 
>>> specify the servlet itself in web.xml.
>>>
>>> The invoker is "evil" according to the link you gave me.
>>>
>>>
>>>
>>> John Turner wrote:
>>>
>>>>
>>>> You have to map your servlet in web.xml.
>>>>
>>>> FAQ: http://jakarta.apache.org/tomcat/faq/misc.html#invoker
>>>>
>>>> John
>>>>
>>>> Jason Jesso wrote:
>>>>
>>>>> When I go to my servlet I get "HTTP Status 404 - 
>>>>> /jasonTest/servlet/foo/HelloWorld"
>>>>>
>>>>> The url is:
>>>>> http://neptune/jasonTest/servlet/foo/HelloWorld
>>>>>
>>>>> My config is as follows:  (What is wrong here??)
>>>>>
>>>>> I have a webapp defined in server.xml as
>>>>>
>>>>> =======================
>>>>>       <Context path="/jasonTest"
>>>>>            docBase="jasonTest"
>>>>>            debug="0"
>>>>>            reloadable="true"
>>>>>            crossContext="true">
>>>>>            <Logger 
>>>>> className="org.apache.catalina.logger.FileLogger" 
>>>>> prefix="jasonTest" suffix=".out"/>
>>>>>        </Context>
>>>>> =======================
>>>>>
>>>>>
>>>>> My webapp directory structure looks like:
>>>>> =======================
>>>>> neptune:root> ls -lR jasonTest/
>>>>> total 16
>>>>> drwxr-sr-x   4 root     software        512 Sep 03 10:18 WEB-INF
>>>>> -rw-r--r--   1 root     software         43 Sep 03 10:10 index.html
>>>>> jasonTest/WEB-INF:
>>>>> total 24
>>>>> drwxr-sr-x   3 root     software        512 Sep 03 11:12 classes
>>>>> drwxr-sr-x   2 root     software        512 Sep 03 10:09 lib
>>>>> -rw-r--r--   1 root     software        328 Sep 03 14:22 web.xml
>>>>>
>>>>> jasonTest/WEB-INF/classes:
>>>>> total 8
>>>>> drwxr-sr-x   2 root     software        512 Sep 03 10:31 foo
>>>>>
>>>>> jasonTest/WEB-INF/classes/foo:
>>>>> total 8
>>>>> -rw-r-----   1 root     software        815 Sep 03 10:31 
>>>>> HelloWorld.class
>>>>>
>>>>> jasonTest/WEB-INF/lib:
>>>>> total 0
>>>>> neptune:root>
>>>>> =======================
>>>>>
>>>>> My web.xml looks like:
>>>>>
>>>>> <?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>
>>>>>
>>>>> <servlet>
>>>>>    <servlet-name>HelloWorld</servlet-name>
>>>>>    <servlet-class>/servlet/foo/HelloWorld</servlet-class>
>>>>> </servlet>
>>>>>
>>>>> </web-app>
>>>>>




Mime
View raw message