Examples for Servlets concepts

28
SERVLET EXAMPLES for all major concepts Tested By M.Gangappa 1 Servlet Examples Your First Servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<HTML>"); out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>"); out.println("<BODY>"); out.println("<BIG>Hello World</BIG>"); out.println("</BODY></HTML>"); } } <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <servlet><servlet-name>MyServletName</servlet-name> <servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping><servlet-name>MyServletName</servlet-name> <url-pattern>/index.html</url-pattern> </servlet-mapping> </web-app> =============================================================== 2. List All Init Parameters in Servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class MyServlet extends HttpServlet { public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

description

Servelets with examples in web technology

Transcript of Examples for Servlets concepts

Page 1: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 1

Servlet Examples

Your First Servlet

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

res.setContentType("text/html");

PrintWriter out = res.getWriter();

out.println("<HTML>");

out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>");

out.println("<BODY>");

out.println("<BIG>Hello World</BIG>");

out.println("</BODY></HTML>");

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

===============================================================

2. List All Init Parameters in Servlet import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

public void service(ServletRequest req, ServletResponse res)

throws ServletException, IOException {

Page 2: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 2

res.setContentType("text/plain");

PrintWriter out = res.getWriter();

out.println("Init Parameters:");

Enumeration e = getInitParameterNames();

while (e.hasMoreElements()) {

String name = (String) e.nextElement();

out.println(name + ": " + getInitParameter(name));

}

}

} <?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

<init-param>

<param-name>

initial

</param-name>

<param-value>

1000

</param-value>

<description>

The initial value for the counter <!-- optional -->

</description>

</init-param>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

===============================================================

3. Get all Server Related Parameters import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

public void service(ServletRequest req, ServletResponse res)

throws ServletException, IOException {

res.setContentType("text/plain");

PrintWriter out = res.getWriter();

ServletContext context = getServletContext();

out.println("req.getServerName(): " + req.getServerName());

out.println("req.getServerPort(): " + req.getServerPort());

out.println("context.getServerInfo(): " + context.getServerInfo());

out.println("getServerInfo() name: " +

Page 3: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 3

getServerInfoName(context.getServerInfo()));

out.println("getServerInfo() version: " +

getServerInfoVersion(context.getServerInfo()));

out.println("context.getAttributeNames():");

Enumeration e = context.getAttributeNames();

while (e.hasMoreElements()) {

String name = (String) e.nextElement();

out.println(" context.getAttribute(\"" + name + "\"): " +

context.getAttribute(name));

}

}

private String getServerInfoName(String serverInfo) {

int slash = serverInfo.indexOf('/');

if (slash == -1) return serverInfo;

else return serverInfo.substring(0, slash);

}

private String getServerInfoVersion(String serverInfo) {

// Version info is everything between the slash and the space

int slash = serverInfo.indexOf('/');

if (slash == -1) return null;

int space = serverInfo.indexOf(' ', slash);

if (space == -1) space = serverInfo.length();

return serverInfo.substring(slash + 1, space);

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

====================================================

4. Date Servlet: doGet method

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Date;

Page 4: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 4

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class DateServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

HttpSession hs = request.getSession(true);

response.setContentType("text/html");

PrintWriter pw = response.getWriter();

pw.print("<B>");

Date date = (Date) hs.getAttribute("date");

if (date != null) {

pw.print("Last access: " + date + "<br>");

}

date = new Date();

hs.setAttribute("date", date);

pw.println("Current date: " + date);

}

}

===============================================================

5. Using Servlet Init Method

import java.util.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

String msg = "";

public void init(ServletConfig config)

{

msg = "Hello from Java servlets!";

}

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws IOException, ServletException

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<HTML>");

out.println("<HEAD>");

Page 5: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 5

out.println("<TITLE>");

out.println("Using the init Method");

out.println("</TITLE>");

out.println("</HEAD>");

out.println("<BODY>");

out.println("<H1>Using the init Method</H1>");

out.println(msg);

out.println("</BODY>");

out.println("</HTML>");

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

===============================================================

6. Returns any parameters and lists server properties. import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Properties extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse resp) t

hrows ServletException,

IOException {

PrintWriter out = resp.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>My First Servlet</title>");

out.println("</head>");

out.println("<h2><center>");

out.println("Information About You</center></h2>");

out.println("<br>");

out.println("<center><table border>");

out.println("<tr>");

out.println("<td>Method</td>");

Page 6: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 6

out.println("<td>" + req.getMethod() + "</td>");

out.println("</tr>");

out.println("<tr>");

out.println("<td>User</td>");

out.println("<td>" + req.getRemoteUser() + "</td>");

out.println("</tr>");

out.println("<tr>");

out.println("<td>Client</td>");

out.println("<td>" + req.getRemoteHost() + "</td>");

out.println("</tr>");

out.println("<tr>");

out.println("<td>Protocol</td>");

out.println("<td>" + req.getProtocol() + "</td>");

out.println("</tr>");

java.util.Enumeration e = req.getParameterNames();

while (e.hasMoreElements()) {

String name = (String) e.nextElement();

out.println("<tr>");

out.println("<td>Parameter '" + name + "'</td>");

out.println("<td>" + req.getParameter(name) + "</td>");

out.println("</tr>");

}

out.println("</table></center><br><hr><br>");

out.println("<h2><center>");

out.println("Server Properties</center></h2>");

out.println("<br>");

out.println("<center><table border width=80%>");

java.util.Properties props = System.getProperties();

e = props.propertyNames();

while (e.hasMoreElements()) {

String name = (String) e.nextElement();

out.println("<tr>");

out.println("<td>" + name + "</td>");

out.println("<td>" + props.getProperty(name) + "</td>");

out.println("</tr>");

}

out.println("</table></center>");

out.println("</html>");

out.flush();

}

public void init() throws ServletException {

ServletConfig config = getServletConfig();

}

public void destroy() {

Page 7: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 7

}

}

==============================================================

Servlets and forms

1.Servlet Post Form Data to Self Servlet

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse res

ponse)

throws ServletException, java.io.IOException {

System.out.println("command: "+request.getParameter("command"));

response.setContentType("text/html");

java.io.PrintWriter out = response.getWriter();

out.println("<html><head>");

out.println("<title>Help Page</title></head><body>");

out.println("<h2>Please submit your information</h2>");

out.println("<form method=\"post\" action =\"" + request.getContext

Path() +"/MyServlet\" >");

out.println("<table border=\"0\"><tr><td valign=\"top\">");

out.println("Your first name: </td> <td valign=\"top\">");

out.println("<input type=\"text\" name=\"firstname\" size=\"20\">")

;

out.println("</td></tr><tr><td valign=\"top\">");

out.println("Your last name: </td> <td valign=\"top\">");

out.println("<input type=\"text\" name=\"lastname\" size=\"20\">");

out.println("</td></tr><tr><td valign=\"top\">");

out.println("Your email: </td> <td valign=\"top\">");

out.println("<input type=\"text\" name=\"email\" size=\"20\">");

out.println("</td></tr><tr><td valign=\"top\">");

out.println("<input type=\"submit\" value=\"Submit Info\"></td></tr

>");

out.println("</table></form>");

out.println("</body></html>");

Page 8: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 8

}

public void doPost(HttpServletRequest request, HttpServletResponse r

esponse)

throws ServletException,java.io.IOException{

Enumeration paramNames = request.getParameterNames();

String parName;

boolean emptyEnum = false;

if (! paramNames.hasMoreElements())

emptyEnum = true;

response.setContentType("text/html");

java.io.PrintWriter out = response.getWriter();

out.println("<html><head>");

out.println("<title>Submitted Parameters</title></head><body>");

if (emptyEnum){

out.println("<h2>Sorry, the request does not contain any paramete

rs</h2>");

} else {

out.println("<h2>Here are the submitted parameter values</h2>");

}

while(paramNames.hasMoreElements()){

parName = (String) paramNames.nextElement();

out.println("<strong>" + parName + "</strong> : " + request.getPa

rameter(parName));

out.println("<br />");

}

out.println("</body></html>");

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/*</url-pattern>

Page 9: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 9

</servlet-mapping>

</web-app>

2. Get Form Text Field as a Servlet parameter import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

res.setContentType("text/html");

PrintWriter out = res.getWriter();

String name = req.getParameter("name");

out.println("<HTML>");

out.println("<HEAD><TITLE>Hello, " + name + "</TITLE></HEAD>");

out.println("<BODY>");

out.println("Hello, " + name);

out.println("</BODY></HTML>");

}

public String getServletInfo() {

return "A servlet that knows the name of the person to whom it's" +

"saying hello";

}

}

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

</web-app>

<HTML>

<HEAD>

<TITLE>Introductions</TITLE>

</HEAD>

<BODY>

<FORM METHOD=GET ACTION="Hello.do">

If you don't mind me asking, what is your name?

Page 10: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 10

<INPUT TYPE=TEXT NAME="name"><P>

<INPUT TYPE=SUBMIT>

</FORM>

</BODY>

</HTML>

===========================================================

3. Servlet Form Processor CheckBox import javax.servlet.http.*;

import javax.servlet.*;

import java.io.IOException;

public class MyServlet extends HttpServlet

{

public void doPost (HttpServletRequest req, HttpServletResponse res)

throws IOException

{

ServletOutputStream out = res.getOutputStream();

res.setContentType("text/html");

out.println("<html><head><title>Basic Form Processor Output</title>

</head>");

out.println("<body>");

out.println("<h1>Here is your Form Data</h1>");

//extract the form data here

String title = req.getParameter("title");

String name = req.getParameter("name");

String city = req.getParameter("city");

String country = req.getParameter("country");

String tel = req.getParameter("tel");

String age = req.getParameter("age");

// extracting data from the checkbox field

String[] interests = req.getParameterValues("interests");

//output the data into a web page

out.println("Your title is " + title);

out.println("<br>Your name is " + name);

out.println("<br>Your city is " + city);

out.println("<br>Your country is " + country);

out.println("<br>Your tel is " + tel);

out.println("<br>Your interests include<ul> ");

for (int i=0;i<interests.length; i++) {

out.println("<li>" + interests[i]);

}

out.println("</ul>");

out.println("<br>Your age is " + age);

out.println("</body></html>");

}

}

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

Page 11: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 11

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

</web-app>

<html>

<head>

<title>JSP Unleashed, Chapter 1 - A Basic HTML Form</title>

</head>

<body>

<h1>Please enter your information</h1>

<form method="POST" action="formProcessor.do">

Title: <select size="1" name="title">

<option>Mr</option>

<option>Mrs</option>

<option>Miss</option>

<option>Ms</option>

<option>Other</option>

</select><br>

Name: <input type="text" name="name" size="20"><br>

City: <input type="text" name="city" size="20"><br>

Country: <input type="text" name="country" size="20"><br>

Telephone: <input type="text" name="tel" size="20">

<P>Please inform us of your interests:<br>

<input type="checkbox" name="interests" value="Sport">Sport<br>

<input type="checkbox" name="interests" value="Music">Music<br>

<input type="checkbox" name="interests" value="Reading">Reading<br>

<input type="checkbox" name="interests" value="TV and Film">TV and Fi

lm</p>

<P>Your age

<input type="radio" name="age" value="25orless" checked>Less than 25

<input type="radio" name="age" value="26to40">26-40

<input type="radio" name="age" value="41to65">41-65

<input type="radio" name="age" value="over65">Over 65</p>

<P><input type="submit" value="Submit"></p>

</form>

</body>

</html>

=====================================================

4. Servlet Based GuestBook

Page 12: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 12

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

private Vector entries = new Vector();

private long lastModified = 0;

public void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

res.setContentType("text/html");

PrintWriter out = res.getWriter();

printHeader(out);

printForm(out);

printMessages(out);

printFooter(out);

}

// Add a new entry, then dispatch back to doGet()

public void doPost(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

handleForm(req, res);

doGet(req, res);

}

private void printHeader(PrintWriter out) throws ServletException {

out.println("<HTML><HEAD><TITLE>Guestbook</TITLE></HEAD>");

out.println("<BODY>");

}

private void printForm(PrintWriter out) throws ServletException {

out.println("<FORM METHOD=POST>"); // posts to itself

out.println("<B>Please submit your feedback:</B><BR>");

out.println("Your name: <INPUT TYPE=TEXT NAME=name><BR>");

out.println("Your email: <INPUT TYPE=TEXT NAME=email><BR>");

out.println("Comment: <INPUT TYPE=TEXT SIZE=50 NAME=comment><BR>");

out.println("<INPUT TYPE=SUBMIT VALUE=\"Send Feedback\"><BR>");

out.println("</FORM>");

out.println("<HR>");

}

private void printMessages(PrintWriter out) throws ServletException {

String name, email, comment;

Enumeration e = entries.elements();

while (e.hasMoreElements()) {

GuestbookEntry entry = (GuestbookEntry) e.nextElement();

name = entry.name;

if (name == null) name = "Unknown user";

email = entry.email;

if (name == null) email = "Unknown email";

comment = entry.comment;

Page 13: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 13

if (comment == null) comment = "No comment";

out.println("<DL>");

out.println("<DT><B>" + name + "</B> (" + email + ") says");

out.println("<DD><PRE>" + comment + "</PRE>");

out.println("</DL>");

// Sleep for half a second to simulate a slow data source

try { Thread.sleep(500); } catch (InterruptedException ignored) {

}

}

}

private void printFooter(PrintWriter out) throws ServletException {

out.println("</BODY>");

}

private void handleForm(HttpServletRequest req,

HttpServletResponse res) {

GuestbookEntry entry = new GuestbookEntry();

entry.name = req.getParameter("name");

entry.email = req.getParameter("email");

entry.comment = req.getParameter("comment");

entries.addElement(entry);

// Make note we have a new last modified time

lastModified = System.currentTimeMillis();

}

public long getLastModified(HttpServletRequest req) {

return lastModified;

}

}

class GuestbookEntry {

public String name;

public String email;

public String comment;

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

=========================================================

Page 14: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 14

=========================================================

Sessions

Servlet Session Info

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse r

esponse)

throws ServletException, java.io.IOException {

response.setContentType("text/html");

java.io.PrintWriter out = response.getWriter();

HttpSession session = request.getSession();

out.println("<html>");

out.println("<head>");

out.println("<title>Simple Session Tracker</title>");

out.println("</head>");

out.println("<body>");

out.println("<h2>Session Info</h2>");

out.println("session Id: " + session.getId() + "<br><br>");

out.println( "The SESSION TIMEOUT period is " + session.getMaxI

nactiveInterval() + " seconds.<br><br>");

out.println( "Now changing it to 20 minutes.<br><br>");

session.setMaxInactiveInterval(20 * 60);

out.println("The SESSION TIMEOUT period is now " + session.getM

axInactiveInterval() + " seconds.");

out.println("</body>");

out.println("</html>");

}

/** Handles the HTTP <code>POST</code> method.

* @param request servlet request

* @param response servlet response

*/

protected void doPost(HttpServletRequest request, HttpServletRespon

se response)

Page 15: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 15

throws ServletException, java.io.IOException {

doGet(request,response);

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

==============================================================

2. Get Set SessionAttributes in Servlet import java.util.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

res.setContentType("text/html");

PrintWriter out = res.getWriter();

HttpSession session = req.getSession();

Integer count = (Integer)session.getAttribute("tracker.count");

if (count == null)

count = new Integer(1);

else

count = new Integer(count.intValue() + 1);

session.setAttribute("tracker.count", count);

out.println("<HTML><HEAD><TITLE>SessionTracker</TITLE></HEAD>");

out.println("<BODY><H1>Session Tracking Demo</H1>");

out.println("You've visited this page " + count +

((count.intValue() == 1) ? " time." : " times."));

Page 16: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 16

out.println("<P>");

out.println("<H2>Here is your session data:</H2>");

Enumeration e = session.getAttributeNames();

while (e.hasMoreElements()) {

String name = (String) e.nextElement();

out.println(name + ": " + session.getAttribute(name) + "<BR>");

}

out.println("</BODY></HTML>");

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

2. Get Set Session Value in a Servlet import java.util.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse r

esponse)

throws ServletException, IOException

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

HttpSession session = request.getSession(true);

Integer counter2 = (Integer) getServletContext().getAttribute (

"counter2");

if (counter2 == null) {

counter2 = new Integer(1);

} else {

counter2 = new Integer(counter2.intValue() + 1);

}

getServletContext().setAttribute("counter2", counter2);

Page 17: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 17

Integer counter = (Integer) session.getAttribute("counter");

if (counter == null) {

counter = new Integer(1);

} else {

counter = new Integer(counter.intValue() + 1);

}

session.setAttribute("counter", counter);

out.println("<HTML>");

out.println("<HEAD>");

out.println("<TITLE>");

out.println("Using Contexts");

out.println("</TITLE>");

out.println("</HEAD>");

out.println("<BODY>");

out.println("<H1>Using Contexts</H1>");

out.println("Welcome! You have been here " + counter + " times.

<BR>");

out.println("Total page accesses: " + counter2 + "<BR>");

if(session.isNew()){

out.println("This is a new session.<BR>");

} else {

out.println("This is not a new session.<BR>");

}

out.println("The session ID: " + session.getId() + "<BR>");

out.println("Last time accessed: " + new Date(session.getLastAc

cessedTime()) + "<BR>");

out.println("Creation time: " + new Date(session.getCreationTim

e()) + "<BR>");

out.println("Timeout length: " + session.getMaxInactiveInterval

() + " seconds<BR>");

out.println("</BODY>");

out.println("</HTML>");

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

Page 18: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 18

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

3. use the Servlet API to manage session information import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class Counter extends HttpServlet {

static final String COUNTER_KEY = "Counter.count";

public void doGet(HttpServletRequest req, HttpServletResponse resp) t

hrows ServletException,

IOException {

HttpSession session = req.getSession(true);

resp.setContentType("text/html");

PrintWriter out = resp.getWriter();

int count = 1;

Integer i = (Integer) session.getAttribute(COUNTER_KEY);

if (i != null) {

count = i.intValue() + 1;

}

session.setAttribute(COUNTER_KEY, new Integer(count));

out.println("<html>");

out.println("<head>");

out.println("<title>Session Counter</title>");

out.println("</head>");

out.println("<body>");

out.println("Your session ID is <b>" + session.getId());

out.println("</b> and you have hit this page <b>" + count

+ "</b> time(s) during this browser session");

out.println("<form method=GET action=\"" + req.getRequestURI() + "\

">");

out.println("<input type=submit " + "value=\"Hit page again\">");

out.println("</form>");

out.println("</body>");

out.println("</html>");

out.flush();

}

}

4. Servlet Session Check

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

import java.text.DateFormat;

public class MyServlet extends HttpServlet {

Page 19: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 19

public void doGet(HttpServletRequest request, HttpServletResponse resp

onse)

throws ServletException, java.io.IOException {

HttpSession session = request.getSession(false);

if (session == null){

response.sendRedirect("/dbproj/login.jsp");

} else {

response.sendRedirect("/dbproj/menu.jsp");

}

}

} <?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

=============================================================

CooKie

1. Add Cookie Servlet ‘

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

Page 20: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 20

import javax.servlet.http.HttpServletResponse;

public class AddCookieServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse re

sponse)

throws ServletException, IOException {

String data = request.getParameter("data");

Cookie cookie = new Cookie("MyCookie", data);

response.addCookie(cookie);

response.setContentType("text/html");

PrintWriter pw = response.getWriter();

pw.println("<B>MyCookie has been set to");

pw.println(data);

pw.close();

}

}

2. Get Cookies Servlet import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class GetCookiesServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse res

ponse)

throws ServletException, IOException {

Cookie[] cookies = request.getCookies();

response.setContentType("text/html");

PrintWriter pw = response.getWriter();

pw.println("<B>");

for (int i = 0; i < cookies.length; i++) {

String name = cookies[i].getName();

String value = cookies[i].getValue();

pw.println("name = " + name + "; value = " + value);

}

pw.close();

}

}

3.Servlet Cookie Setter import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

Page 21: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 21

public void doGet(HttpServletRequest request, HttpServletResponse r

esponse)

throws ServletException, java.io.IOException {

Cookie cookie = null;

//Get an array of Cookies associated with this domain

Cookie[] cookies = request.getCookies();

boolean newCookie = false;

//Get the 'mycookie' Cookie if it exists

if (cookies != null){

for (int i = 0; i < cookies.length; i++){

if (cookies[i].getName().equals("mycookie")){

cookie = cookies[i];

}

}//end for

}//end if

if (cookie == null){

newCookie=true;

//Get the cookie's Max-Age from a context-param element

//If the 'cookie-age' param is not set properly

//then set the cookie to a default of -1, 'never expires'

int maxAge;

try{

maxAge = new Integer(getServletContext().getInitParameter("c

ookie-age")).intValue();

} catch (Exception e) {

maxAge = -1;

}

//Create the Cookie object

cookie = new Cookie("mycookie",""+getNextCookieValue());

cookie.setPath(request.getContextPath());

cookie.setMaxAge(maxAge);

response.addCookie(cookie);

}//end if

// get some info about the cookie

response.setContentType("text/html");

java.io.PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>Cookie info</title>");

out.println("</head>");

out.println("<body>");

out.println("<h2> Information about the cookie named \"mycookie

\"</h2>");

out.println("Cookie value: "+cookie.getValue()+"<br>");

if (newCookie){

out.println("Cookie Max-Age: "+cookie.getMaxAge()+"<br>");

Page 22: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 22

out.println("Cookie Path: "+cookie.getPath()+"<br>");

}

out.println("</body>");

out.println("</html>");

out.close();

}

private long getNextCookieValue(){

/*This produces a cookie value to show how to create Cookie objects

. If

this method was heavily used in a production environment it may

produce too many objects; synchronization of a single Date object

might be better, based on performance testing. At any rate a

production environment would produce a unique cookie value in a

different manner such as from a unique database ID. */

//returns the number of milleseconds since Jan 1, 1970

return new java.util.Date().getTime();

}

public void doPost(HttpServletRequest request, HttpServletResponse

response)

throws ServletException, java.io.IOException {

doGet(request,response);

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

<init-param>

<param-name>

go

</param-name>

<param-value>

weather

</param-value>

</init-param>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

4. 4. Servlet Cookie Reader

Page 23: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 23

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse r

esponse)

throws ServletException, java.io.IOException {

Cookie cookie = null;

//Get an array of Cookies associated with this domain

Cookie[] cookies = request.getCookies();

boolean hasCookies = false;

if (cookies != null)

hasCookies = true;

// display the name/value of each cookie

response.setContentType("text/html");

java.io.PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>Cookie information</title>");

out.println("</head>");

out.println("<body>");

if (hasCookies){

out.println("<h2> The name and value of each found cookie</h2>"

);

for (int i = 0; i < cookies.length; i++){

cookie = cookies[i];

out.println("Name of cookie #"+(i + 1)+": "+cookie.getName(

)+"<br>");

out.println("Value of cookie #"+(i + 1)+": "+cookie.getValu

e()+"<br><br>");

}

} else {

out.println("<h2> This request did not include any cookies<

/h2>");

}

out.println("</body>");

out.println("</html>");

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse

response)

throws ServletException, java.io.IOException {

Page 24: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 24

doGet(request,response);

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

<init-param>

<param-name>

go

</param-name>

<param-value>

weather

</param-value>

</init-param>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

5. Get/Set Cookie

import java.util.*;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse r

esponse)

throws IOException, ServletException

{

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("<HTML>");

out.println("<HEAD>");

out.println("<TITLE>");

out.println("A Web Page");

out.println("</TITLE>");

out.println("</HEAD>");

out.println("<BODY");

Cookie[] cookies = request.getCookies();

boolean foundCookie = false;

for(int i = 0; i < cookies.length; i++) {

Page 25: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 25

Cookie cookie1 = cookies[i];

if (cookie1.getName().equals("color")) {

out.println("bgcolor = " + cookie1.getValue());

foundCookie = true;

}

}

if (!foundCookie) {

Cookie cookie1 = new Cookie("color", "cyan");

cookie1.setMaxAge(24*60*60);

response.addCookie(cookie1);

}

out.println(">");

out.println("<H1>Setting and Reading Cookies</H1>");

out.println("This page will set its background color using a co

okie when reloaded.");

out.println("</BODY>");

out.println("</HTML>");

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

6. List Servlet Cookie Information

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Cookies extends HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse resp) t

hrows ServletException,

IOException {

resp.setContentType("text/html");

req.getSession();

Page 26: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 26

PrintWriter out = resp.getWriter();

Cookie cookies[] = req.getCookies();

out.println("<html>");

out.println("<head>");

out.println("<title>Servlet Cookie Information</title>");

out.println("</head>");

out.println("<body>");

if ((cookies == null) || (cookies.length == 0)) {

out.println("<center><h1>No Cookies found</h1>");

} else {

out.println("<center><h1>Cookies found</h1>");

for (int i = 0; i < cookies.length; i++) {

Cookie c = cookies[i];

out.println(c.getName() + "::" + c.getValue() + "::"

+ c.getComment() + "::" + c.getMaxAge() + "<BR/>");

}

out.println("</table></center>");

}

out.println("</body>");

out.println("</html>");

out.flush();

}

}

Servlet URL Rewrite

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.*;

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse resp

onse)

throws ServletException, java.io.IOException {

response.setContentType("text/html");

java.io.PrintWriter out = response.getWriter();

String contextPath = request.getContextPath();

String encodedUrl = response.encodeURL(contextPath + "/default

.jsp");

out.println("<html>");

out.println("<head>");

out.println("<title>URL Rewriter</title>");

out.println("</head>");

out.println("<body>");

Page 27: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 27

out.println("<h1>This page will use URL rewriting if necessary<

/h2>");

out.println("Go to the default.jsp page <a href=\"" + encodedUr

l +

"\">here</a>.");

out.println("</body>");

out.println("</html>");

}

public void doPost(HttpServletRequest request, HttpServletResponse re

sponse)

throws ServletException, java.io.IOException {

doGet(request,response);

}

}

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

<servlet><servlet-name>MyServletName</servlet-name>

<servlet-class>MyServlet</servlet-class>

<init-param>

<param-name>

go

</param-name>

<param-value>

weather

</param-value>

</init-param>

</servlet>

<servlet-mapping><servlet-name>MyServletName</servlet-name>

<url-pattern>/index.html</url-pattern>

</servlet-mapping>

</web-app>

2. URL rewriting

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class CounterRewrite extends HttpServlet {

Page 28: Examples for Servlets concepts

SERVLET EXAMPLES for all major concepts

Tested By M.Gangappa 28

static final String COUNTER_KEY = "Counter.count";

public void doGet(HttpServletRequest req, HttpServletResponse resp) t

hrows ServletException,

IOException {

HttpSession session = req.getSession(true);

resp.setContentType("text/html");

PrintWriter out = resp.getWriter();

int count = 1;

Integer i = (Integer) session.getAttribute(COUNTER_KEY);

if (i != null) {

count = i.intValue() + 1;

}

session.setAttribute(COUNTER_KEY, new Integer(count));

out.println("<html>");

out.println("<head>");

out.println("<title>Session Counter</title>");

out.println("</head>");

out.println("<body>");

out.println("Your session ID is <b>" + session.getId());

out.println("</b> and you have hit this page <b>" + count

+ "</b> time(s) during this browser session");

String url = req.getRequestURI();

out.println("<form method=GET action=\"" + resp.encodeURL(url) + "\

">");

out.println("<input type=submit " + "value=\"Hit page again\">");

out.println("</form>");

out.println("</body>");

out.println("</html>");

out.flush();

}

}