Thanks for your reply Scott, and thanks to your and Micael's responses I
_believe_ I understand the relationship between the servlet naming/mapping
and the associated html.  As Micael noted, one could put "pudding" in the
url-pattern as long as the html was setup as ACTION="pudding".  But... how
do the example servlets work when they don't seem to have any servlet
mapping in the ..\examples\WEB-INF\web.xml?

Even after all the advice, I *STILL* can't get my app to run - I still get
a 404 error on the servlet. This seems like such a simple issue but I can
NOT get past it.  I've even gone as far as downloading Tomcat 3.3, with the
same result. Again, I know Tomcat is parsing my web.xml, because if I
intentionally make a typo, the parser complains when Tomcat is started. 

To recap where I am:

(a)  I have myservlet.class in the
$CATALINA_HOME\webapps\myapp\WEB-INF\classes 
     directory.  The servlet has no associated package.
(b)  The html is <FORM ACTION="/servlet/myservlet" method="POST">
(c)  My $CATALINA_HOME\webapps\myapp\WEB-INF\web.xml is as follows:

     <?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>myservlet</servlet-name>
             <servlet-class>myservlet</servlet-class>
         </servlet>    
         <servlet-mapping>
             <servlet-name>myservlet</servlet-name>
             <url-pattern>/servlet/myservlet</url-pattern>
         </servlet-mapping>
     </web-app>


Am I still missing something?  This is driving me berserk...

TIA. Mark.



At 12:22 AM 11/22/2001 -0500, you wrote:
>Mark,
>
>The servlet tag is used to assign a name to a particular servlet class 
>file.
>
>       <servlet>
>           <servlet-name>myservlet</servlet-name>
>           <servlet-class>myservlet</servlet-class>
>       </servlet>
>
>This would attempt to assign the name 'myservlet' to the class 
>'myservlet.class.'
>
>The servlet-mapping tag defines the pattern or 'location' of a named 
>servlet from the root of your context. This means that ....
>
><servlet-mapping>
>           <servlet-name>myservlet</servlet-name>
>           <url-pattern>/classes</url-pattern>
>       </servlet-mapping>
>
>if this were the ROOT context, this would map your servlet at /classes 
>and your form action would need to be defined as
>
><FORM ACTION="/classes" method="POST">
>
>A more common mapping for servlets is
>
><servlet-mapping>
>           <servlet-name>myservlet</servlet-name>
>           <url-pattern>/servlet/myservlet</url-pattern>
>       </servlet-mapping>
>
>which would have a coresponding form tag of
>
><FORM ACTION="/servlet/myservlet" method="POST">
>
>
>~Scott
>
>Mark wrote:
>
>>I installed Tomcat 4.0.1 under Win 2k using JDK 1.3 and able to run the
>>example servlets, but not my own.  My html displays and I can execute my
>>JSPs, but a POST to a servlet does not work (this app has run under Forte
>>and VA Java in the past).   I get a 404 error with "the requested resource
>>(/myservlet) is not available". Since the examples work, I have to assume
>>it's something in my configuration. Any help figuring out why the servlet
>>won't run would be *greatly* appreciated.  I suspect it's something
>>simple/braindead on my part.
>>
>>
>>o  My directory structure for the app:
>>   TomcatHome
>>        |
>>        +--webapps
>>              |
>>              +--myapp\.jsp, .html .gif
>>                 |
>>                 +--WEB-INF\web.xml
>>                       |
>>                       +--classes\.class files
>>
>>
>>o  My html POST stmt. I've tried various path prefixes to myservlet, eg
   
>>   "classes/myservlet".  As with the Tomcat examples, this servlet has no
>>   package:
>>
>>    <FORM ACTION="/myservlet" method="POST">
>>
>>
>>o  My web.xml - I know Tomcat's seeing/parsing this because if I
deliberately
>>   make a typo I get an error upon startup:
>>
>>     <?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>
>>       <!-- Define servlets that are included in the application -->
>>       <servlet>
>>           <servlet-name>myservlet</servlet-name>
>>           <servlet-class>myservlet</servlet-class>
>>       </servlet>   
>>       <servlet-mapping>
>>           <servlet-name>myservlet</servlet-name>
>>           <url-pattern>/classes</url-pattern>
>>       </servlet-mapping>
>>    </web-app>
>>
>>
>>o  Update to server.xml 
>>
>>   <Context path="/myapp" docBase="myapp" debug="0">
>>       <Logger className="org.apache.catalina.logger.FileLogger"
>>               prefix="myapp_log." suffix=".txt"
>>               timestamp="true"/>
>>   </Context>
>>
>>
>>
>>
>>                    
>>
>>
>>
>>--
>>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>>For additional commands: <mailto:[EMAIL PROTECTED]>
>>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>>
>>
>>
>>
>
>
>
>
>
>--
>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>For additional commands: <mailto:[EMAIL PROTECTED]>
>Troubles with the list: <mailto:[EMAIL PROTECTED]>
>
>


--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>

Reply via email to