2

Below is my Servlet code:

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

    public class HelloWorldServlet extends GenericServlet
    {
       public void service(ServletRequest request,ServletResponse response)throws ServletException,IOException
       {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<HTML>");
            out.println("<BODY BGCOLOR = yellow>");
            out.println("<H1>Hello Web World!</H1>");
            out.println("<BODY>");
            out.println("</HTML>");
            out.close();
        }
    }

Below is web.xml:

<web-app>
   <servlet>
      <servlet-name>HelloWorldServlet</servlet-name>
      <servlet-class>HelloWorldServlet</servlet-class>
   </servlet>
   <servlet-mapping>
       <servlet-name>HelloWorldServlet</servlet-name>
       <url-pattern>/hello</url-pattern>
   </servlet-mapping>
</web-app>

I placed the web.xml in WEB-INF folder.But even though it is showing resource not found error.

satish
  • 45
  • 5

2 Answers2

1

If you will hit proper url,you will be good.
In my case http://localhost:8080/MyWebapp/hello worked.

Note- If your servlet is in a package,then specify classname with package like this in your web.xml.

   <servlet>
      <servlet-name>HelloWorldServlet</servlet-name>
      <servlet-class>your.package.HelloWorldServlet</servlet-class>
   </servlet>
RockAndRoll
  • 2,247
  • 2
  • 16
  • 35
  • Yes you are correct @Prince Mani Gupta after I had given the url "http://localhost:8080/MyWebapp/hello".It successfully executed.Thank you for your help – satish Oct 31 '15 at 09:47
1

"I placed the web.xml in WEB-INF folder.But even though it is showing resource not found error."

web.xml file must be inside WEB-INF folder.

<servlet-class> HelloWorldServlet </servlet-class>

Inside tag you must specify the fully qualified class path (including package name).

As a convention we do not use same name for <servlet-name> and <servlet-class>. The whole purpose of using mappings will be worthless. We use a different name for servlet-name becuase that will be visible in the client's browser.

Jude Niroshan
  • 4,280
  • 8
  • 40
  • 62