100% found this document useful (1 vote)
841 views28 pages

Java Servlet Examples Guide

The document provides examples of servlet code for common servlet tasks like: 1) Creating a simple "Hello World" servlet 2) Listing init parameters in a servlet 3) Getting server related parameters like server name and port 4) Using servlet methods like doGet, init, and destroy 5) Posting form data to a servlet

Uploaded by

Mukesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
841 views28 pages

Java Servlet Examples Guide

The document provides examples of servlet code for common servlet tasks like: 1) Creating a simple "Hello World" servlet 2) Listing init parameters in a servlet 3) Getting server related parameters like server name and port 4) Using servlet methods like doGet, init, and destroy 5) Posting form data to a servlet

Uploaded by

Mukesh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SERVLET EXAMPLES for all major concepts

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


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

import import import import

public class MyServlet extends HttpServlet { public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


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 import import import java.io.*; javax.servlet.*; javax.servlet.http.*; 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: " +

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


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;

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


import import import import import javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse; 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 import import import java.util.*; java.io.*; javax.servlet.*; 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>");

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


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 import import import import javax.servlet.ServletConfig; javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; 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>");

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


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() {

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


} }

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

Servlets and forms


1.Servlet Post Form Data to Self Servlet
import import import import java.io.*; javax.servlet.*; javax.servlet.http.*; 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>");

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


} 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>

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


</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?

Tested By M.Gangappa

SERVLET EXAMPLES for all major concepts


<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">

Tested By M.Gangappa

10

SERVLET EXAMPLES for all major concepts


<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

Tested By M.Gangappa

11

SERVLET EXAMPLES for all major concepts


import import import import java.io.*; javax.servlet.*; javax.servlet.http.*; 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;

Tested By M.Gangappa

12

SERVLET EXAMPLES for all major concepts


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>

========================================================= Tested By M.Gangappa 13

SERVLET EXAMPLES for all major concepts =========================================================

Sessions
Servlet Session Info
import import import import java.io.*; javax.servlet.*; javax.servlet.http.*; 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)

Tested By M.Gangappa

14

SERVLET EXAMPLES for all major concepts


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 import import import java.util.*; java.io.*; javax.servlet.*; 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."));

Tested By M.Gangappa

15

SERVLET EXAMPLES for all major concepts


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 import import import java.util.*; java.io.*; javax.servlet.*; 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);

Tested By M.Gangappa

16

SERVLET EXAMPLES for all major concepts

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>

Tested By M.Gangappa

17

SERVLET EXAMPLES for all major concepts


<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 import import import import javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse; 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 import import import import public java.io.*; javax.servlet.*; javax.servlet.http.*; java.util.*; java.text.DateFormat; class MyServlet extends HttpServlet {

Tested By M.Gangappa

18

SERVLET EXAMPLES for all major concepts

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 import import import javax.servlet.ServletException; javax.servlet.http.Cookie; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest;

Tested By M.Gangappa

19

SERVLET EXAMPLES for all major concepts


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 import import import import javax.servlet.ServletException; javax.servlet.http.Cookie; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; 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 import import import java.io.*; javax.servlet.*; javax.servlet.http.*; java.util.*;

public class MyServlet extends HttpServlet {

Tested By M.Gangappa

20

SERVLET EXAMPLES for all major concepts

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>");

Tested By M.Gangappa

21

SERVLET EXAMPLES for all major concepts


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 Tested By M.Gangappa 22

SERVLET EXAMPLES for all major concepts

import import import import

java.io.*; javax.servlet.*; javax.servlet.http.*; 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 {

Tested By M.Gangappa

23

SERVLET EXAMPLES for all major concepts

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 import import import java.util.*; java.io.*; javax.servlet.*; 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++) {

Tested By M.Gangappa

24

SERVLET EXAMPLES for all major concepts


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 import import import import javax.servlet.ServletException; javax.servlet.http.Cookie; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; 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();

Tested By M.Gangappa

25

SERVLET EXAMPLES for all major concepts


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 import import import java.io.*; javax.servlet.*; javax.servlet.http.*; 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>");

Tested By M.Gangappa

26

SERVLET EXAMPLES for all major concepts


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 import import import import javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse; javax.servlet.http.HttpSession;

public class CounterRewrite extends HttpServlet {

Tested By M.Gangappa

27

SERVLET EXAMPLES for all major concepts


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(); } }

Tested By M.Gangappa

28

You might also like