Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run servlet on tomcat server

I have create following java file,compile it and got .class file.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>");
    out.println("<head>");
    out.println("<title>First Example</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>Hello World!</h1>");
    out.println("</body>");
    out.println("</html>");
}
}

Now i created directory abc/WEB-INF/classes under apache-tomcat-6.0.32/webapps directory so my classFile Path is : apache-tomcat-6.0.32/webapps/abc/WEB-INF/classes/HelloWorld.class and trying to access http://localhost:8080/abc/WEB-INF/classes/HelloWorld, but getting error "The requested resource (/abc/HelloWorld) is not available"

Where i am going wrong? or should i have to specify other configuration?

like image 425
user595014 Avatar asked Aug 04 '11 07:08

user595014


1 Answers

you must define your servlet in the web.xml

<servlet>
   <servlet-name>HelloWorld</servlet-name>
   <servlet-class>yourpackage.HelloWorld</servlet-class>
</servlet>

and then define the mapping from URL to servlet

<servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

and finally type the URL as: http://localhost:8080/abc/HelloWorld

like image 135
dov.amir Avatar answered Nov 15 '22 11:11

dov.amir