2

.. but I guess I have done every thing right..please suggest

I need to know how to make a simple servlet application..Is there any thing to set in environment variables before proceeding..I have created helloworld servlet pgm but getting 404 error requested resource is not available..

servlet class

package com.ignis;

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

public class Hello extends HttpServlet {
  /**
     * 
     */
    private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("Hello World");
  }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>devProj</display-name>
    <welcome-file-list>
        <welcome-file>Hello</welcome-file>


    </welcome-file-list>

     <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>Hello</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>
Maxim Shoustin
  • 77,483
  • 27
  • 203
  • 225
ajay
  • 21
  • 1
  • Close the PrintWriter object – Muhammad Gelbana Aug 31 '13 at 20:22
  • 1
    @MuhammadGelbana: unnecessary. Container does that already. Even more, a 404 means that the requested resource does not exist (or, that the request URL being used is wrong), so the servlet is never invoked in any way. – BalusC Aug 31 '13 at 20:25

2 Answers2

4

The servlet class declaration should be

 <servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>com.ignis.Hello</servlet-class>
</servlet>

You need the fully qualified class name of your HttpServlet implementation. I am surprised it even runs.

Sotirios Delimanolis
  • 274,122
  • 60
  • 696
  • 724
4

You have to provide the fully qualified name of the servlet class in the web.xml. Like this:

<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>com.ignis.Hello</servlet-class>
</servlet>
Konstantin Yovkov
  • 62,134
  • 8
  • 100
  • 147