Link to home
Start Free TrialLog in
Avatar of gudii9
gudii9Flag for United States of America

asked on

servlet example issue

Hi,

I am trying below servlet on eclipse and tomcat 9

https://www.tutorialspoint.com/servlets/servlets-first-example.htm

package com.servlet;
// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
 
  private String message;

  public void init() throws ServletException
  {
      // Do required initialization
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }
  
  public void destroy()
  {
      // do nothing.
  }
}

Open in new window


http://localhost:65535/TestServlets/servlet/com.servlet.HelloWorld

when i execute
i am getting wrong result
HTTP Status 404 - /TestServlets/servlet/com.servlet.HelloWorld


typeStatus report

message/TestServlets/servlet/com.servlet.HelloWorld

descriptionThe requested resource is not available.


Apache Tomcat/9.0.0.M15

please advise how to fix and run this servlet. please advise
Avatar of gudii9
gudii9
Flag of United States of America image

ASKER

servlet code under Java Resources-->src then com.servlet package
package com.servlet;
// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
 
  private String message;

  public void init() throws ServletException
  {
      // Do required initialization
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }
  
  public void destroy()
  {
      // do nothing.
  }
}

Open in new window


web.xml is
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 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">

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

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

Open in new window

Avatar of gudii9

ASKER

@WebServlet(
      description = "sss",
      urlPatterns = { "/HelloServlet1" },
      initParams = {
                  @WebInitParam(name = "aaa", value = "bbb", description = "ccc")
      })


if i give above on top of servlet class no need of web,xml entry looks like
Avatar of gudii9

ASKER

package com.gp.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class OneServlet
 */
@WebServlet("/OneServlet")
public class OneServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public OneServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

Open in new window


above when i ran on tomcat 9 within eclipise by right clicking on serlvet and run on server
http://localhost:60000/TestServletProject2/OneServlet
i got below output
Served at: /TestServletProject2


addding below
@WebServlet("/OneServlet")

seems enough and no need to make web.xml entry
servletsq.png
Avatar of mccarl
So can you please clarify what your question is?
Another guddi9 goose chase.
I wish EE had emoji's to express what im feeling right now.
ASKER CERTIFIED SOLUTION
Avatar of rrz
rrz
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial