I'm trying to step-up a simple servlet that processes a get action from a form.
When I click on the submit button I get the message.
HTTP Status 404 - /jhtp6/welcome1
type Status report
message /jhtp6/welcome1
description The requested resource (/jhtp6/welcome1) is not available.
Apache Tomcat/5.0.25
I also included an image of my file structure.
Here's the java code
3 import javax.servlet.ServletException;
4 import javax.servlet.http.HttpServlet;
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7 import java.io.IOException;
8 import java.io.PrintWriter;
9
10 public class WelcomeServlet extends HttpServlet
11 {
12 // process "get" requests from clients
13 protected void doGet( HttpServletRequest request,
14 HttpServletResponse response )
15 throws ServletException, IOException
16 {
17 response.setContentType( "text/html" );
18 PrintWriter out = response.getWriter();
19
20 // send XHTML page to client
21
22 // start XHTML document
23 out.println( "<?xml version = \"1.0\"?>" );
24
25 out.printf( "%s%s%s" , "<!DOCTYPE html PUBLIC",
26 " \"-//W3C//DTD XHTML 1.0 Strict//EN\"",
27 " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n" );
28
29 out.println( "<html xmlns = \"http://www.w3.org/1999/xhtml\">" );
30
31 // head section of document
32 out.println( "<head>" );
33 out.println( "<title>A Simple Servlet Example</title>" );
34 out.println( "</head>" );
35
36 // body section of document
37 out.println( "<body>" );
38 out.println( "<h1>Welcome to Servlets!</h1>" );
39 out.println( "</body>" );
40
41 // end XHTML document
42 out.println( "</html>" );
43 out.close(); // close stream to complete the page
44 } // end method doGet
45 } // end class WelcomeServlet
Here's the xml Code
<web-app xmlns= "http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<!-- General description of your Web application -->
<display-name>
Java How to Program JSP
and Servlet Chapter Examples
</display-name>
<description>
This is the Web application in which we
demonstrate our JSP and Servlet examples.
</description>
<!-- Servlet definitions -->
<servlet>
<servlet-name>welcome1</servlet-name>
<description>
A simple servlet that handles an HTTP get request.
</description>
<servlet-class>
WelcomeServlet
</servlet-class>
</servlet>
<!-- Servlet mappings -->
<servlet-mapping>
<servlet-name>welcome1</servlet-name>
<url-pattern>/welcome1</url-pattern>
</servlet-mapping>
</web-app>
and here's the html document code
<?xml version = "1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Fig. 26.7: WelcomeServlet.html -->
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>Handling an HTTP Get Request</title>
</head>
<body>
<form action = "/jhtp6/welcome1" method = "get" >
<p><label>Click the button to invoke the servlet
<input type = "submit" value = "Get HTML Document" />
</label></p>
</form>
</body>
</html>
Why do I get this message instead of the servlet response and how do I fix it.
Your servlet's .class file should be in WEB-INF/classes/ is that the case ?
Also once you move your servlets .class file there, you will need to either restart tomcat entirely or you will need to reload you application, by accessing the tomcat manager at http://localhost:8080/manager/html , for the URL I am assuming your tomcat is running on the same machine as you are working on and is configured to listen on port 8080 for requests
hi,
error no: File Not Found Error.
So, please check the file name and the class name are same, to check correct path to save the file.
save the correct location and try again.....
<?xml version = "1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Fig. 26.7: WelcomeServlet.html -->
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>Handling an HTTP Get Request</title>
</head>
<body>
<form action = "welcome1" method = "get" >
<p><label>Click the button to invoke the servlet
<input type = "submit" value = "Get HTML Document" />
</label></p>
</form>
</body>
</html>
Change the html given by u and put the above. The has been changed to
Hope it works
Salamo Alaikum Knight
I had the same error as yours; mine was solved that way
instead of
it has to be
Hope it works
Please give me feed back