HelloWorldExample.class is under ..examples/WEB-INF/classes. It almost seems Tomcat will look for servlets by default in the ..WEB-INF/classes directory if there's no explicit mapping and when the html reference has a prefix of "servlet/".
For example, now that I *finally* got my app to work using servlet mapping, I also found if I leave all mapping out of web.xml and have <FORM ACTION="servlet/myservlet" METHOD="POST">, Tomcat will still find/run the servlet under ..WEB-INF/classes. Is that by design? At 12:51 PM 11/26/2001 -0800, you wrote: >Mark, I don't have webapps/examples running, so I need to ask you another >question. Is there a class file called HelloWorldExample.class in >examples/servlets/?, i.e. examples/servlets/HelloWorldExample.class. From >what I can tell about your remarks, there should be. > >I notice that the only reference to any HelloWorldExample.class in the whole >example app is in that file. If there is a way to get to the file without a >file where the reference is, I don't know how that would happen. > >Micael >-----Original Message----- >From: Mark <[EMAIL PROTECTED]> >To: Tomcat Users List <[EMAIL PROTECTED]> >Date: Monday, November 26, 2001 9:58 AM >Subject: Re: TC 4.0 newbie - servlet app won't run > > >>The examples you mentioned are the JSPs examples. I realize JSPs compile to >>servlets, but what about the straight up HelloWorldExample servlet? I >>didn't see mapping for that or the other servlet (vs. JSP) examples in the >>web.xml. Being a newbie, I could very well be missing something so please >>bear with me (again). >> >>BTW - I've fiddled with the example servlet index.html to use FORM vs. >>"href=../servlet/abc" method of running servlets. POST always results in a >>404. GET does however work. >> >>Example: >> >> <FORM ACTION="../servlet/HelloWorldExample" method="POST"> - doen't >work >> <FORM ACTION="../servlet/HelloWorldExample" method="GET"> - works. >> >>Mark >> >> >> >>At 09:30 AM 11/26/2001 -0800, you wrote: >>>Okay, Mark, Part II, I want to make sure we are communicating properly >>>before going further. No sense wasting time. Your note is not correct >>>about at least somethings -- for example (no pun intended): >>> >>>The web.xml for examples/WEB-INF/web.xml DOES have servlet mappings. So, >I >>>am not sure what you are looking at. The servlet SnoopServlet has the >>>mappings to the patterns /snoop and *.snp under the name "snoop". The >>>servlet servletToJsp which has the same name, i.e. "servletToJsp," has a >>>mapping to the pattern /servletToJsp. >>> >>>Micael >>> >>> >>>-----Original Message----- >>>From: Mark <[EMAIL PROTECTED]> >>>To: Tomcat Users List <[EMAIL PROTECTED]> >>>Date: Monday, November 26, 2001 7:00 AM >>>Subject: Re: TC 4.0 newbie - servlet app won't run >>> >>> >>>>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]> >>>> >>>> >>> >>> >>>-- >>>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]> > > -- To unsubscribe: <mailto:[EMAIL PROTECTED]> For additional commands: <mailto:[EMAIL PROTECTED]> Troubles with the list: <mailto:[EMAIL PROTECTED]>