------- ---------------------- Servlet Configure --------------------
-------------------
Copy the file "servlet-api.jar" from location YOUR_INSTILLATION_PATH\tomcat\lib\servlet-api.jar and Paste the file
into your Java Directory YOUR_INSTILLATION_PATH\Java\jdk1.8.0_121\jre\lib\ext
this
will work (tested).
--------------------
------------------------------------ Example to config Servlet ------------------------------
Copy : C:\xampp\tomcat\lib\servlet-api.jar
Paste: C:\Program
Files\Java\jdk1.8.0_261\jre\lib\ext\servlet-api.jar
------- ---------------------- -----------------------------
----------------------------------- -------------------
----- -----------------------------------
----------------------------- Example 1
-------------------------------------------- ------------------------ ------
C:\xampp\tomcat\webapps\first
//My.java
import javax.servlet.*;
import
javax.servlet.http.*;
import java.io.*;
public class My extends
HttpServlet {
public void
service(HttpServletRequest req, HttpServletResponse res) throws
ServletException,
IOException{
PrintWriter p = res.getWriter();
p.println("hello servlet");
}
}
-------------- --------------- Compile ----------------
Class file will store in
folder WEB-INF\classes as file name My.class
Javac –d WEB-INF\classes
My.java
----------- -
C:\xampp\tomcat\webapps\first\WEB-INF
// WEB-INF/web.xml
<web-app>
<servlet>
<servlet-name>My</servlet-name>
<servlet-class>My</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>My</servlet-name>
<url-pattern>/My</url-pattern>
</servlet-mapping>
</web-app>
----- -----------------------------------
----------------------------- Example 2
-------------------------------------------- ------------------------ ------
Servlets are Java
classes which service HTTP requests and implement the javax.servlet.Servlet interface.
Web application developers typically write servlets that extend
javax.servlet.http.HttpServlet, an abstract class that implements the Servlet
interface and is specially designed to handle HTTP requests.
Sample
Code
Following is the sample
source code structure of a servlet example to show Hello World −
// 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.
}
}
Compiling a Servlet
Let
us create a file with name HelloWorld.java with the code shown above. Place
this file at C:\ServletDevel (in Windows) or at /usr/ServletDevel (in Unix).
This path location must be added to CLASSPATH before proceeding further.
Assuming
your environment is setup properly, go in ServletDevel directory
and compile HelloWorld.java as follows −
$ javac HelloWorld.java
If everything goes fine, above compilation
would produce HelloWorld.class file in the same directory.
Next section would explain how a compiled servlet would be deployed in
production.
Servlet Deployment
By default, a
servlet application is located at the path
<Tomcat-installationdirectory>/webapps/ROOT and the class file would
reside in <Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/classes.
If you have a
fully qualified class name of com.myorg.MyServlet, then this
servlet class must be located in WEB-INF/classes/com/myorg/MyServlet.class.
For now, let us
copy HelloWorld.class into
<Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/classes and create
following entries in web.xml file located in
<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/
<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>
Above entries
to be created inside <web-app>...</web-app> tags available in
web.xml file. There could be various entries in this table already available,
but never mind.
You are almost
done, now let us start tomcat server using
<Tomcat-installationdirectory>\bin\startup.bat (on Windows) or
<Tomcat-installationdirectory>/bin/startup.sh (on Linux/Solaris etc.) and
finally type http://localhost:8080/HelloWorld in the browser's
address box. If everything goes fine, you would get the following result