Servlet implemented with 2 thread models:
1. Single thread Model
2. Multi Thread Model(*)
Note: Single ThreadModel interface is deprecated in J2EE 1.4
Files Required For Servlet 2.X
1. Index.html
2. TestServlet.java
3. Web.xml
1. Index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="test.jtc">
<h1>Enter Name</h1>
<br>
<br>
<input type="text" name="uname" />
<br>
<br>
<input type="submit" value="Check">
</form>
</body>
</html>
2. TestServlet.java
package com.jtcindia.servlet;
import java.io.IOException;
import java.io.Writer;
import javax.servlet.ServletException;
import javax.servlet.SingleThreadModel;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet implements
SingleThreadModel {
public TestServlet() {
System.out.println("**TestServlet Def Cons:" + this);
}
@Override
protected void service(HttpServletRequest req,
HttpServletResponse res) throws ServletException,
IOException {
String unam = req.getParameter("uname");
Writer out = res.getWriter();
out.flush();
Thread th = Thread.currentThread();
for (int i = 0; i < 10; i++) {
System.out.println(th.getName() + "\t" + unam + "\t" + this);
out.write("<br/>" + th.getName() + "\t" + unam + "\t" + this);
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
out.write("<h1>Hi" + unam + "<br/>Response from Server");
}
}
}
3. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/webapp_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>Jtc13</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servletclass>com.jtcindia.servlet.TestServlet</servletclass>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test.jtc</url-pattern>
</servlet-mapping>
</web-app>
Steps to create Servlet class in Eclipse
• Right click on SRC
• Select New-> Servlet
• Provide
o Package
o Class Name
• Change the superclass name if required.
• Click on the next button.
• Provide the name (the login name of the servlet).
• Add the required init-parameters by clicking the Add Button.
• Specify the URL mapping by clicking the Add button.
• Click on the next button.
• Select the required method signature and click "finished”.