You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Stuart MacPherson <ap...@dsl.pipex.com> on 2002/08/28 22:38:31 UTC
RE: First Servlet 404 error
In your JSP form change this:
<form name="loginForm" method="post" action="servlet/com.onjava.login">
......
</form>
to this:
<form name="loginForm" method="POST" action="com.onjava.login">
......
</form>
[Note the capitals in POST also]
-----Original Message-----
From: Jim Si [mailto:Jim.Si@CalgaryHealthRegion.ca]
Sent: 28 August 2003 21:37
To: Tomcat Users List
Subject: First Servlet 404 error
It is difficult to get my first servlet working. I got HTTP Status 404 -
/onjava/servlet/com.onjava.login error. Maybe something I did not get it
right.
Here are the things I have.
Tomcat 4.1.27
In conf/server.xml, I added the following line.
<Context className="org.apache.catalina.core.StandardContext"
crossContext="true" reloadable="true"
mapperClass="org.apache.catalina.core.StandardContextMapper"
useNaming="true"
debug="0" swallowOutput="false" privileged="false" displayName="On Java
Example"
wrapperClass="org.apache.catalina.core.StandardWrapper" docBase="onjava"
cookies="true" path="/onjava" cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper">
</Context>
In conf/web.xml, I uncomment the invoker mapping, i.e.
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
The I have login.jsp and welcome.jsp file under webapps/onjava directory.
In login.jsp, I have the following code
<form name="loginForm" method="post" action="servlet/com.onjava.login">
......
</form>
I have login.java file with package statement on top.
package com.onjava;
I compiled the code and move the login.class file into
webapps/onjava/Web-inf/classes/com/onjava directory.
In webapps/Web-inf/web.xml file, I have the following line of code.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE web-app (View Source for full doctype...)>
- <web-app>
- <servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.onjava.login</servlet-class>
</servlet>
- <servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/servlet/login</url-pattern>
</servlet-mapping>
</web-app>
I am able to get login.jsp by using http://localhost:8080/onjava/login.jsp.
But
when I submit it I got the HTTP status 404 -
/onjava/servlet/com.onjava.login
error.
Anything I did wrong?
Jim
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: First Servlet 404 error
Posted by Jim Si <Ji...@CalgaryHealthRegion.ca>.
Then I got HTTP Status 500 error
description The server encountered an internal error () that prevented it from
fulfilling this request.
exception
java.lang.IllegalArgumentException: Path welcome.jsp does not start with a "/"
character
at
org.apache.catalina.core.ApplicationContext.getRequestDispatcher(ApplicationContext.java:1179)
Stuart MacPherson wrote:
> Tomcat can usually find JSPs very easily. Is welcome.jsp also in
> CATALINA_HOME/webapps/onjava/ ? Try the following:
>
> private String target = "welcome.jsp";
>
> If 'onjava' is your namespace then this might work.
>
> -----Original Message-----
> From: Jim Si [mailto:Jim.Si@CalgaryHealthRegion.ca]
> Sent: 29 August 2003 19:04
> To: Tomcat Users List
> Cc: Stuart MacPherson
> Subject: Re: First Servlet 404 error
>
> Thank you Stuart for your great help.
>
> HellowWorld servlet works! But I still have one problem.
>
> I got login.jsp in the webapps\onjava directory. It has
> <form name="loginForm" method="POST" action="servlet/com.onjava.login">
>
> In login.java, it has
> private String target = "/welcome.jsp";
> ...
> // Forward the request to the target named
> ServletContext context = getServletContext();
> RequestDispatcher dispatcher = context.getRequestDispatcher(target);
> dispatcher.forward(request, response);
>
> In welcome.jsp, it has very simple return statement.
> <b>Welcome : <%= request.getAttribute("USER")
>
> In webapps\onjava\Web-inf\web.xml, I have
> <servlet>
> <servlet-name>login</servlet-name>
> <servlet-class>com.onjava.login</servlet-class>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>login</servlet-name>
> <url-pattern>/servlet</url-pattern>
> </servlet-mapping>
>
> In a browser, I use http://localhost:8080/onjava/login.jsp and I got the
> login
> screen, then click on submit button. I got the following error.
>
> HTTP Status 404 - /welcome.jsp
> description The requested resource (/welcome.jsp) is not available.
>
> Look like it runs the login class, how do I correct this problem? Thank
> you.
>
> > Also, make sure your HelloWorld servlet is mapped-in in your webapps
> > deployment descriptor. By the way, the folder should be called WEB-INF
> not
> > web-inf.
> >
>
> Windows somehow change WEB-INF to Web-inf automatically. I could not use
> WEB-INF.
>
> Jim
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
RE: First Servlet 404 error
Posted by Stuart MacPherson <ap...@dsl.pipex.com>.
Tomcat can usually find JSPs very easily. Is welcome.jsp also in
CATALINA_HOME/webapps/onjava/ ? Try the following:
private String target = "welcome.jsp";
If 'onjava' is your namespace then this might work.
-----Original Message-----
From: Jim Si [mailto:Jim.Si@CalgaryHealthRegion.ca]
Sent: 29 August 2003 19:04
To: Tomcat Users List
Cc: Stuart MacPherson
Subject: Re: First Servlet 404 error
Thank you Stuart for your great help.
HellowWorld servlet works! But I still have one problem.
I got login.jsp in the webapps\onjava directory. It has
<form name="loginForm" method="POST" action="servlet/com.onjava.login">
In login.java, it has
private String target = "/welcome.jsp";
...
// Forward the request to the target named
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(target);
dispatcher.forward(request, response);
In welcome.jsp, it has very simple return statement.
<b>Welcome : <%= request.getAttribute("USER")
In webapps\onjava\Web-inf\web.xml, I have
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.onjava.login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
In a browser, I use http://localhost:8080/onjava/login.jsp and I got the
login
screen, then click on submit button. I got the following error.
HTTP Status 404 - /welcome.jsp
description The requested resource (/welcome.jsp) is not available.
Look like it runs the login class, how do I correct this problem? Thank
you.
> Also, make sure your HelloWorld servlet is mapped-in in your webapps
> deployment descriptor. By the way, the folder should be called WEB-INF
not
> web-inf.
>
Windows somehow change WEB-INF to Web-inf automatically. I could not use
WEB-INF.
Jim
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Re: First Servlet 404 error
Posted by Jim Si <Ji...@CalgaryHealthRegion.ca>.
Thank you Stuart for your great help.
HellowWorld servlet works! But I still have one problem.
I got login.jsp in the webapps\onjava directory. It has
<form name="loginForm" method="POST" action="servlet/com.onjava.login">
In login.java, it has
private String target = "/welcome.jsp";
...
// Forward the request to the target named
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(target);
dispatcher.forward(request, response);
In welcome.jsp, it has very simple return statement.
<b>Welcome : <%= request.getAttribute("USER")
In webapps\onjava\Web-inf\web.xml, I have
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.onjava.login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
In a browser, I use http://localhost:8080/onjava/login.jsp and I got the login
screen, then click on submit button. I got the following error.
HTTP Status 404 - /welcome.jsp
description The requested resource (/welcome.jsp) is not available.
Look like it runs the login class, how do I correct this problem? Thank you.
> Also, make sure your HelloWorld servlet is mapped-in in your webapps
> deployment descriptor. By the way, the folder should be called WEB-INF not
> web-inf.
>
Windows somehow change WEB-INF to Web-inf automatically. I could not use
WEB-INF.
Jim
RE: First Servlet 404 error
Posted by Stuart MacPherson <ap...@dsl.pipex.com>.
You didn't mention anything about a HelloWorld Servlet before. You have not
configured the context of your webapp, and tomcat does not even know it
exists. Create a file called onjava.xml and place it in your webapps
directory. This should contain something along the lines of:
<context path="onjava" docBase="./onjava" debug="0" privileged="true">
Also, make sure your HelloWorld servlet is mapped-in in your webapps
deployment descriptor. By the way, the folder should be called WEB-INF not
web-inf.
HTH
stu
-----Original Message-----
From: Jim Si [mailto:Jim.Si@CalgaryHealthRegion.ca]
Sent: 29 August 2003 16:57
To: Tomcat Users List; Stuart MacPherson
Subject: Re: First Servlet 404 error
I tried it but it still does not work. I even tried to put a
HelloWorld.class
file into webapps\onjava\Web-inf\classes directory and use link
http:\\localhost:8080\onjava\servlet\HelloWorld I still have the same error.
But when I put HelloWorld.class file into webapps\examples\Web-inf\classes,
then
it works. What it might be the problem?
Jim
Stuart MacPherson wrote:
> In your JSP form change this:
>
> <form name="loginForm" method="post" action="servlet/com.onjava.login">
> ......
> </form>
>
> to this:
>
> <form name="loginForm" method="POST" action="com.onjava.login">
> ......
> </form>
>
> [Note the capitals in POST also]
>
> -----Original Message-----
> From: Jim Si [mailto:Jim.Si@CalgaryHealthRegion.ca]
> Sent: 28 August 2003 21:37
> To: Tomcat Users List
> Subject: First Servlet 404 error
>
> It is difficult to get my first servlet working. I got HTTP Status 404 -
> /onjava/servlet/com.onjava.login error. Maybe something I did not get it
> right.
> Here are the things I have.
>
> Tomcat 4.1.27
>
> In conf/server.xml, I added the following line.
> <Context className="org.apache.catalina.core.StandardContext"
> crossContext="true" reloadable="true"
> mapperClass="org.apache.catalina.core.StandardContextMapper"
> useNaming="true"
> debug="0" swallowOutput="false" privileged="false" displayName="On Java
> Example"
> wrapperClass="org.apache.catalina.core.StandardWrapper" docBase="onjava"
> cookies="true" path="/onjava" cachingAllowed="true"
> charsetMapperClass="org.apache.catalina.util.CharsetMapper">
> </Context>
>
> In conf/web.xml, I uncomment the invoker mapping, i.e.
> <servlet-mapping>
> <servlet-name>invoker</servlet-name>
> <url-pattern>/servlet/*</url-pattern>
> </servlet-mapping>
>
> The I have login.jsp and welcome.jsp file under webapps/onjava directory.
> In login.jsp, I have the following code
> <form name="loginForm" method="post"
action="servlet/com.onjava.login">
> ......
> </form>
>
> I have login.java file with package statement on top.
> package com.onjava;
> I compiled the code and move the login.class file into
> webapps/onjava/Web-inf/classes/com/onjava directory.
>
> In webapps/Web-inf/web.xml file, I have the following line of code.
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <!DOCTYPE web-app (View Source for full doctype...)>
> - <web-app>
> - <servlet>
> <servlet-name>login</servlet-name>
> <servlet-class>com.onjava.login</servlet-class>
> </servlet>
> - <servlet-mapping>
> <servlet-name>login</servlet-name>
> <url-pattern>/servlet/login</url-pattern>
> </servlet-mapping>
> </web-app>
>
> I am able to get login.jsp by using
http://localhost:8080/onjava/login.jsp.
> But
> when I submit it I got the HTTP status 404 -
> /onjava/servlet/com.onjava.login
> error.
>
> Anything I did wrong?
>
> Jim
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
Tomcat Hangs at Startup
Posted by Mike Duffy <md...@yahoo.com>.
I am running Tomcat 4.1.27 on Windows XP.
I am experiencing serious hang times at startup.
Has anyone seen this before? It hangs right after the following block:
Aug 29, 2003 5:36:30 PM org.apache.commons.modeler.Registry loadRegistry
INFO: Loading registry information
Aug 29, 2003 5:36:30 PM org.apache.commons.modeler.Registry getRegistry
INFO: Creating new Registry instance
Aug 29, 2003 5:36:38 PM org.apache.commons.modeler.Registry getServer
INFO: Creating MBeanServer
Aug 29, 2003 5:36:39 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on port 80
Starting service Tomcat-Standalone
Apache Tomcat/4.1.27
It hangs again after the following block:
Aug 29, 2003 5:38:29 PM org.apache.struts.tiles.TilesPlugin init
INFO: Tiles definition factory loaded for module ''.
Aug 29, 2003 5:38:29 PM org.apache.struts.validator.ValidatorPlugIn initResources
INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml'
Aug 29, 2003 5:38:30 PM org.apache.struts.validator.ValidatorPlugIn initResources
INFO: Loading validation rules file from '/WEB-INF/validation.xml'
Thanks!
Mike
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
Re: First Servlet 404 error
Posted by Jim Si <Ji...@CalgaryHealthRegion.ca>.
I tried it but it still does not work. I even tried to put a HelloWorld.class
file into webapps\onjava\Web-inf\classes directory and use link
http:\\localhost:8080\onjava\servlet\HelloWorld I still have the same error.
But when I put HelloWorld.class file into webapps\examples\Web-inf\classes, then
it works. What it might be the problem?
Jim
Stuart MacPherson wrote:
> In your JSP form change this:
>
> <form name="loginForm" method="post" action="servlet/com.onjava.login">
> ......
> </form>
>
> to this:
>
> <form name="loginForm" method="POST" action="com.onjava.login">
> ......
> </form>
>
> [Note the capitals in POST also]
>
> -----Original Message-----
> From: Jim Si [mailto:Jim.Si@CalgaryHealthRegion.ca]
> Sent: 28 August 2003 21:37
> To: Tomcat Users List
> Subject: First Servlet 404 error
>
> It is difficult to get my first servlet working. I got HTTP Status 404 -
> /onjava/servlet/com.onjava.login error. Maybe something I did not get it
> right.
> Here are the things I have.
>
> Tomcat 4.1.27
>
> In conf/server.xml, I added the following line.
> <Context className="org.apache.catalina.core.StandardContext"
> crossContext="true" reloadable="true"
> mapperClass="org.apache.catalina.core.StandardContextMapper"
> useNaming="true"
> debug="0" swallowOutput="false" privileged="false" displayName="On Java
> Example"
> wrapperClass="org.apache.catalina.core.StandardWrapper" docBase="onjava"
> cookies="true" path="/onjava" cachingAllowed="true"
> charsetMapperClass="org.apache.catalina.util.CharsetMapper">
> </Context>
>
> In conf/web.xml, I uncomment the invoker mapping, i.e.
> <servlet-mapping>
> <servlet-name>invoker</servlet-name>
> <url-pattern>/servlet/*</url-pattern>
> </servlet-mapping>
>
> The I have login.jsp and welcome.jsp file under webapps/onjava directory.
> In login.jsp, I have the following code
> <form name="loginForm" method="post" action="servlet/com.onjava.login">
> ......
> </form>
>
> I have login.java file with package statement on top.
> package com.onjava;
> I compiled the code and move the login.class file into
> webapps/onjava/Web-inf/classes/com/onjava directory.
>
> In webapps/Web-inf/web.xml file, I have the following line of code.
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> <!DOCTYPE web-app (View Source for full doctype...)>
> - <web-app>
> - <servlet>
> <servlet-name>login</servlet-name>
> <servlet-class>com.onjava.login</servlet-class>
> </servlet>
> - <servlet-mapping>
> <servlet-name>login</servlet-name>
> <url-pattern>/servlet/login</url-pattern>
> </servlet-mapping>
> </web-app>
>
> I am able to get login.jsp by using http://localhost:8080/onjava/login.jsp.
> But
> when I submit it I got the HTTP status 404 -
> /onjava/servlet/com.onjava.login
> error.
>
> Anything I did wrong?
>
> Jim
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org