0% found this document useful (0 votes)
8 views

TMJavaBookThree

This document serves as a reference for attendees of Java J2EE classroom sessions at Thinking Machines, detailing the setup and configuration of Tomcat servers and the development of web applications. It includes step-by-step instructions for creating a simple web application, handling session tracking, and implementing form validation using Java servlets. The document emphasizes the importance of attending theory sessions for understanding the examples provided.

Uploaded by

shsbhajak
Copyright
© © All Rights Reserved
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
0% found this document useful (0 votes)
8 views

TMJavaBookThree

This document serves as a reference for attendees of Java J2EE classroom sessions at Thinking Machines, detailing the setup and configuration of Tomcat servers and the development of web applications. It includes step-by-step instructions for creating a simple web application, handling session tracking, and implementing form validation using Java servlets. The document emphasizes the importance of attending theory sessions for understanding the examples provided.

Uploaded by

shsbhajak
Copyright
© © All Rights Reserved
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
You are on page 1/ 28

Thinking Machines – Java – J2EE Page 1

This documentation is
for reference purpose
only and is for those
who have attended the
classroom sessions at
Thinking Machines.
• During your classroom session appropriate theory needs to be written against
each example.

• You are required to bring this book daily for your classroom sessions.

• If you try to understand the examples without attending theory sessions then
may god help you.
Thinking Machines – Java – J2EE Page 2

S.No. Topic Page


1 Our first webapplication one.com (Tomcat 4)
2 Session tracking – Hidden form field
3 Session tracking – URL rewriting
4 Session tracking – cookies & Switching to Tomcat 7 or Tomcat 8
5 Session tracking – Session Object
Thinking Machines – Java – J2EE Page 3

Configuring Tomcat 4
Download tomcats.zip, unzip it, then unzip tomcat4, copy the tomcat4 folder (the one which contains
the bin folder) to c:\

Now I am assuming that the following path exists

c:\tomcat4\bin

Move to c:\tomcat4\bin folder. Edit startup.bat and see to it that the first two lines are are as follows.

set CATALINA_HOME=c:\tomcat4
set JAVA_HOME=c:\jdk1.8

Note : I am assuming that you have jdk 1.8 installed and the c:\jdk1.8\bin path exists.

Now create a shortcut to c:\tomcat4\bin\startup.bat named as Tomcat4.

Double click the shortcut to start the server, you should see the following

Note : If firewall prompts something, select (allow) option.


Now start browser and in the address bar type

http://localhost:8080 and you should see the following.


Thinking Machines – Java – J2EE Page 4

one.com
Now close the server window and the browser window.
Now let us create our first website one.com

move to c:\tomcat4\webapps and create the following structure

one.com\WEB-INF\classes

Note : WEB-INF is upper case

Now in c:\tomcat4\webapps\one.com folder create the following files.

index.html (location c:\tomcat4\webapps\one.com)


<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>one.com</title>
</head>
<body>
<center>
<h1><i>Welcome to a cool site</i></h1>
<h3>Ujjain</h3>
<h6><u>Madhya Pradesh</u></h6>
<b>India</b>
<br>
<br/>
<a href='/one.com/abcd.html'>Begin</a>
</center>
</body>
</html>
abcd.html (location c:\tomcat4\webapps\one.com)
<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>one.com</title>
<script>
function ramu(f)
{
var nn=f.nm.value;
if(nn.length==0)
{
alert('Name required'); f.nm.focus();
return false;
}
Thinking Machines – Java – J2EE Page 5

var v='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .';


document.getElementById("nameErrorSection").innerHTML="";
var e=0;
while(e<nn.length)
{
if(v.indexOf(nn.charAt(e))==-1)
{
document.getElementById("nameErrorSection").innerHTML="Invalid data in name";
f.nm.focus();
return false;
}
e++;
}
if(f.sex[0].checked==false && f.sex[1].checked==false)
{
alert("Select gender");
return false;
}
if(f.ct.selectedIndex==0)
{
alert("Select a city");
f.ct.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<center>
<h2>Personal Information</h2>
<form action='/one.com/servlet/aaa' onsubmit='return ramu(this)'>
<table border='1'>
<tr><td>
Name</td><td>
<input type='text' name='nm' id='nm' >
<span id='nameErrorSection'></span>
</td></tr><tr><td>
Gender</td><td>
Male <input type='radio' name='sex' id='ml' value='M'>
&nbsp;&nbsp;&nbsp;
Female <input type='radio' name='sex' id='fe' value='F'>
</td></tr><tr><td>
Select city</td><td>
<select name='ct' id='ct'>
<option value='-1'>&lt;Select&gt;</option>
<option value='101'>Pune</option>
Thinking Machines – Java – J2EE Page 6

<option value='102'>Ujjain</option>
<option value='103'>Indore</option>
</select></td></tr></tr><tr>
<td colspan='2' align='center'>
<input type='submit' value='Save'></td></tr></table>
</form>
</center>
</body>
</html>
aaa.java (location c:\tomcat4\webapps\one.com\WEB-INF\classes)
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class aaa extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
String ss=rq.getParameter("sex");
String cc=rq.getParameter("ct");
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
// some code to save data
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>one.com</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<h1>Data Saved</h1></body></html>");
}catch(Exception exception)
{
System.out.println(exception);
}
}
}
The above code won't get compiled using
Thinking Machines – Java – J2EE Page 7

javac aaa.java
use
javac -classpath c:\tomcat4\common\lib\servlet.jar;. aaa.java
Now start server, then browser as done earlier and type the following in the address bar

http://localhost:8080/one.com

you should see the following.


Thinking Machines – Java – J2EE Page 8

Now click the hyperlink with text Begin and you should see the following

Test the following scenarios

Click the save button without feeding anything, you should see the message box that says Name
required. Then Feed name, but type digits and click the save button and see what happens, you should
see a message appear that says invalid data, then correct it but don't select gender or city and click the
save button, now you should see a message that says, select gender, now select gender but don't select
city and click the save button, now you should see the message, select city. Now select city and click
the Save button, now the following should appear
Thinking Machines – Java – J2EE Page 9

And the following should appear on server window.

two.com
index.html

<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>two.com</title>
</head>
<body>
<center>
<h1><i>Welcome to a cool site</i></h1>
<h3>Ujjain</h3>
<h6><u>Madhya Pradesh</u></h6>
<b>India</b>
Thinking Machines – Java – J2EE Page 10

<br>
<br/>
<a href='/two.com/abcd.html'>Begin</a>
</center>
</body>
</html>
abcd.html
<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>one.com</title>
<script>
function ramu(f)
{
var nn=f.nm.value;
if(nn.length==0)
{
alert('Name required'); f.nm.focus();
return false;
}
var v='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .';
document.getElementById("nameErrorSection").innerHTML="";
var e=0;
while(e<nn.length)
{
if(v.indexOf(nn.charAt(e))==-1)
{
document.getElementById("nameErrorSection").innerHTML="Invalid data in name";
f.nm.focus();
return false;
}
e++;
}
if(f.sex[0].checked==false && f.sex[1].checked==false)
{
alert("Select gender");
return false;
}
if(f.ct.selectedIndex==0)
{
alert("Select a city");
f.ct.focus();
return false;
}
return true;
Thinking Machines – Java – J2EE Page 11

}
</script>
</head>
<body>
<center>
<h1>Session Tracking Example</h1>
<h4><u>Using Hidden Form Field</u></h4>
<h2>Personal Information - Page 1</h2>
<form action='/two.com/servlet/aaa' onsubmit='return ramu(this)'>
<table border='0'>
<tr><td>
Name</td><td>
<input type='text' name='nm' id='nm' >
<span id='nameErrorSection'></span>
</td></tr><tr>
<td colspan='2' align='center'>
<input type='submit' value='Next'></td></tr></table>
</form>
</center>
</body>
</html>
aaa.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class aaa extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
PrintWriter pw=rs.getWriter();
rs.setContentType("text/html");
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>two.com</title>");
pw.println("<script>");
pw.println("function ramu(f)");
pw.println("{");
pw.println("if(f.sex[0].checked==false && f.sex[1].checked==false)");
pw.println("{");
pw.println("alert(\"Select gender\");");
pw.println("return false;");
Thinking Machines – Java – J2EE Page 12

pw.println("}");
pw.println("return true;");
pw.println("}");
pw.println("</script>");
pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using Hidden Form Field</u></h4>");
pw.println("<h2>Personal Information - Page 2</h2>");
pw.println("Name : <b>"+nn+"</b></br>");
pw.println("<form action='/two.com/servlet/bbb' onsubmit='return ramu(this)'>");
pw.println("<input type='hidden' name='nm' id='nm' value='"+nn+"'>");
pw.println("<table border='0'>");
pw.println("<tr><td>");
pw.println("Gender</td><td>");
pw.println("Male <input type='radio' name='sex' id='ml' value='M'>");
pw.println("&nbsp;&nbsp;&nbsp;");
pw.println("Female <input type='radio' name='sex' id='fe' value='F'>");
pw.println("</td></tr>");
pw.println("</tr><tr>");
pw.println("<td colspan='2' align='center'>");
pw.println("<input type='submit' value='Next'></td></tr></table>");
pw.println("</form>");
pw.println("</center>");
pw.println("</body>");
pw.println("</html>");

}catch(Exception e)
{
System.out.println(e);
}
}
}
bbb.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class bbb extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
String ss=rq.getParameter("sex");
Thinking Machines – Java – J2EE Page 13

PrintWriter pw=rs.getWriter();
rs.setContentType("text/html");
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>two.com</title>");
pw.println("<script>");
pw.println("function ramu(f)");
pw.println("{");
pw.println("if(f.ct.selectedIndex==0)");
pw.println("{");
pw.println("alert('Select a city');");
pw.println("f.ct.focus();");
pw.println("return false;");
pw.println("}");
pw.println("return true;");
pw.println("}");
pw.println("</script>");
pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using Hidden Form Field</u></h4>");
pw.println("<h2>Personal Information - Page 3</h2>");
pw.println("Name : <b>"+nn+"</b></br>");
pw.println("Sex : <b>"+ss+"</b></br>");
pw.println("<form action='/two.com/servlet/ccc' onsubmit='return ramu(this)'>");
pw.println("<input type='hidden' name='nm' id='nm' value='"+nn+"'>");
pw.println("<input type='hidden' name='sex' id='sex' value='"+ss+"'>");
pw.println("<table>");
pw.println("<tr><td>");
pw.println("Select city</td><td>");
pw.println("<select name='ct' id='ct'>");
pw.println("<option value='-1'>&lt;Select&gt;</option>");
pw.println("<option value='101'>Pune</option>");
pw.println("<option value='102'>Ujjain</option>");
pw.println("<option value='103'>Indore</option>");
pw.println("</select></td></tr></tr><tr>");
pw.println("<td colspan='2' align='center'>");
pw.println("<input type='submit' value='Save'></td></tr></table>");
pw.println("</form>");
pw.println("</center>");
pw.println("</body>");
pw.println("</html>");
Thinking Machines – Java – J2EE Page 14

}catch(Exception e)
{
System.out.println(e);
}
}
}
ccc.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ccc extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
String ss=rq.getParameter("sex");
String cc=rq.getParameter("ct");
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
// some code to save data
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>two.com</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using Hidden Form Field</u></h4>");
pw.println("<h1>Data Saved</h1></body></html>");
pw.println("Name : "+nn+"</br>");
pw.println("Gender : "+ss+"</br>");
pw.println("City : "+cc+"</br>");
pw.println("</center>");
}catch(Exception exception)
{
Thinking Machines – Java – J2EE Page 15

System.out.println(exception);
}
}
}
Now configure tomcat7 as we configured tomcat4. Finally you should have a shortcut to
c:\tomcat7\bin\startup.bat on your desktop.

Note : in case of tomcat4 the servlet.jar is located in c:\tomcat4\common\lib


In case of tomcat7, the name of the jar file is servlet-api.jar and is located in tomcat7\lib folder.

Now move to c:\tomcat7\webapps\ and create the folder structure.

three.com
three.com\WEB-INF
three.com\WEB-INF\classes\tm

index.html (Location – three.com)


<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>three.com</title>
</head>
<body>
<center>
<h1><i>Welcome to a cool site</i></h1>
<h3>Ujjain</h3>
<h6><u>Madhya Pradesh</u></h6>
<b>India</b>
<br>
<br/>
<a href='/three.com/abcd.html'>Begin</a>
</center>
</body>
</html>
abcd.html
<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>three.com</title>
<script>
function ramu(f)
{
var nn=f.nm.value;
if(nn.length==0)
Thinking Machines – Java – J2EE Page 16

{
alert('Name required'); f.nm.focus();
return false;
}
var v='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .';
document.getElementById("nameErrorSection").innerHTML="";
var e=0;
while(e<nn.length)
{
if(v.indexOf(nn.charAt(e))==-1)
{
document.getElementById("nameErrorSection").innerHTML="Invalid data in name";
f.nm.focus();
return false;
}
e++;
}
if(f.sex[0].checked==false && f.sex[1].checked==false)
{
alert("Select gender");
return false;
}
if(f.ct.selectedIndex==0)
{
alert("Select a city");
f.ct.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<center>
<h2>Personal Information</h2>
<form action='/three.com/ProcessForm' onsubmit='return ramu(this)'>
<table border='1'>
<tr><td>
Name</td><td>
<input type='text' name='nm' id='nm' >
<span id='nameErrorSection'></span>
</td></tr><tr><td>
Gender</td><td>
Male <input type='radio' name='sex' id='ml' value='M'>
&nbsp;&nbsp;&nbsp;
Female <input type='radio' name='sex' id='fe' value='F'>
</td></tr><tr><td>
Thinking Machines – Java – J2EE Page 17

Select city</td><td>
<select name='ct' id='ct'>
<option value='-1'>&lt;Select&gt;</option>
<option value='101'>Pune</option>
<option value='102'>Ujjain</option>
<option value='103'>Indore</option>
</select></td></tr></tr><tr>
<td colspan='2' align='center'>
<input type='submit' value='Save'></td></tr></table>
</form>
</center>
</body>
</html>
aaa.java (Location three.com\WEB-INF\classes\tm)

To comple the following code, you will have to type


javac -classpath c:\tomcat7\lib\servlet-api.jar;. *.java

package tm;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class aaa extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
String ss=rq.getParameter("sex");
String cc=rq.getParameter("ct");
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>three.com</title>");
Thinking Machines – Java – J2EE Page 18

pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using URL Rewriting</u></h4>");
pw.println("<a href='/three.com/SaveData?nm="+URLEncoder.encode(nn)
+"&ct="+URLEncoder.encode(cc)+"&sex="+URLEncoder.encode(ss)+"'>Save</a>");
pw.println("</center>");
pw.println("</body>");
pw.println("</html>");
}catch(Exception exception)
{
System.out.println(exception);
}
}
}
bbb.java (Location three.com\WEB-INF\classes\tm)

To comple the following code, you will have to type


javac -classpath c:\tomcat7\lib\servlet-api.jar;. *.java

package tm;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class bbb extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
String ss=rq.getParameter("sex");
String cc=rq.getParameter("ct");
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
// some code to save data
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
Thinking Machines – Java – J2EE Page 19

pw.println("<meta charset='utf-8'>");
pw.println("<title>three.com</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using URL Rewriting</u></h4>");
pw.println("<h1>Data Saved</h1></body></html>");
pw.println("Name : "+nn+"</br>");
pw.println("Gender : "+ss+"</br>");
pw.println("City : "+cc+"</br>");
pw.println("</center>");
}catch(Exception exception)
{
System.out.println(exception);
}
}
}
Note : copy paste the following in a file named as web.xml

web.xml (Location : three.com\WEB-INF)


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-
app_2_5.xsd">
<servlet>
<servlet-name>FormProcessor</servlet-name>
<servlet-class>tm.aaa</servlet-class>
</servlet>
<servlet>
<servlet-name>DataSaver</servlet-name>
<servlet-class>tm.bbb</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FormProcessor</servlet-name>
<url-pattern>/ProcessForm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DataSaver</servlet-name>
<url-pattern>/SaveData</url-pattern>
</servlet-mapping>
</web-app>
four.com (tomcat7\webapps)
Comple everything as done in three.com
Thinking Machines – Java – J2EE Page 20

index.html

<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>four.com</title>
</head>
<body>
<center>
<h1><i>Welcome to a cool site</i></h1>
<h3>Ujjain</h3>
<h6><u>Madhya Pradesh</u></h6>
<b>India</b>
<br>
<br/>
<a href='/four.com/abcd.html'>Begin</a>
</center>
</body>
</html>
abcd.html
<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>four.com</title>
<script>
function ramu(f)
{
var nn=f.nm.value;
if(nn.length==0)
{
alert('Name required'); f.nm.focus();
return false;
}
var v='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .';
document.getElementById("nameErrorSection").innerHTML="";
var e=0;
while(e<nn.length)
{
if(v.indexOf(nn.charAt(e))==-1)
{
document.getElementById("nameErrorSection").innerHTML="Invalid data in name";
f.nm.focus();
return false;
}
Thinking Machines – Java – J2EE Page 21

e++;
}
if(f.sex[0].checked==false && f.sex[1].checked==false)
{
alert("Select gender");
return false;
}
if(f.ct.selectedIndex==0)
{
alert("Select a city");
f.ct.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<center>
<h2>Personal Information</h2>
<form action='/four.com/ProcessForm' onsubmit='return ramu(this)'>
<table border='1'>
<tr><td>
Name</td><td>
<input type='text' name='nm' id='nm' >
<span id='nameErrorSection'></span>
</td></tr><tr><td>
Gender</td><td>
Male <input type='radio' name='sex' id='ml' value='M'>
&nbsp;&nbsp;&nbsp;
Female <input type='radio' name='sex' id='fe' value='F'>
</td></tr><tr><td>
Select city</td><td>
<select name='ct' id='ct'>
<option value='-1'>&lt;Select&gt;</option>
<option value='101'>Pune</option>
<option value='102'>Ujjain</option>
<option value='103'>Indore</option>
</select></td></tr></tr><tr>
<td colspan='2' align='center'>
<input type='submit' value='Save'></td></tr></table>
</form>
</center>
</body>
</html>
Thinking Machines – Java – J2EE Page 22

aaa.java
package tm;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class aaa extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
String ss=rq.getParameter("sex");
String cc=rq.getParameter("ct");
Cookie c1=new Cookie("nm",nn);
Cookie c2=new Cookie("ct",cc);
Cookie c3=new Cookie("sex",ss);
rs.addCookie(c1);
rs.addCookie(c2);
rs.addCookie(c3);
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>four.com</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using Cookies</u></h4>");
pw.println("<a href='/four.com/SaveData'>Save</a>");
pw.println("</center>");
pw.println("</body>");
pw.println("</html>");
}catch(Exception exception)
{
System.out.println(exception);
}
Thinking Machines – Java – J2EE Page 23

}
}
bbb.java
package tm;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class bbb extends HttpServlet
{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
Cookie c[]=rq.getCookies();
String nn="";
String ss="";
String cc="";
if(c!=null)
{
for(Cookie r:c)
{
if(r.getName().equals("nm"))
{
nn=r.getValue();
} else if(r.getName().equals("ct"))
{
cc=r.getValue();
} else if(r.getName().equals("sex"))
{
ss=r.getValue();
}
}
}
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>four.com</title>");
Thinking Machines – Java – J2EE Page 24

pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using Cookies</u></h4>");
pw.println("<h1>Data Saved</h1></body></html>");
pw.println("Name : "+nn+"</br>");
pw.println("Gender : "+ss+"</br>");
pw.println("City : "+cc+"</br>");
pw.println("</center>");
}catch(Exception exception)
{
System.out.println(exception);
}
}
}
web.xml (Location four.com\WEB-INF)
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-
app_2_5.xsd">
<servlet>
<servlet-name>FormProcessor</servlet-name>
<servlet-class>tm.aaa</servlet-class>
</servlet>
<servlet>
<servlet-name>DataSaver</servlet-name>
<servlet-class>tm.bbb</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FormProcessor</servlet-name>
<url-pattern>/ProcessForm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DataSaver</servlet-name>
<url-pattern>/SaveData</url-pattern>
</servlet-mapping>
</web-app>
five.com
Compile everything as done in four.com
index.html
<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
Thinking Machines – Java – J2EE Page 25

<title>five.com</title>
</head>
<body>
<center>
<h1><i>Welcome to a cool site</i></h1>
<h3>Ujjain</h3>
<h6><u>Madhya Pradesh</u></h6>
<b>India</b>
<br>
<br/>
<a href='/five.com/abcd.html'>Begin</a>
</center>
</body>
</html>
abcd.html
<!Doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>five.com</title>
<script>
function ramu(f)
{
var nn=f.nm.value;
if(nn.length==0)
{
alert('Name required'); f.nm.focus();
return false;
}
var v='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .';
document.getElementById("nameErrorSection").innerHTML="";
var e=0;
while(e<nn.length)
{
if(v.indexOf(nn.charAt(e))==-1)
{
document.getElementById("nameErrorSection").innerHTML="Invalid data in name";
f.nm.focus();
return false;
}
e++;
}
if(f.sex[0].checked==false && f.sex[1].checked==false)
{
alert("Select gender");
return false;
Thinking Machines – Java – J2EE Page 26

}
if(f.ct.selectedIndex==0)
{
alert("Select a city");
f.ct.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<center>
<h2>Personal Information</h2>
<form action='/five.com/ProcessForm' onsubmit='return ramu(this)'>
<table border='1'>
<tr><td>
Name</td><td>
<input type='text' name='nm' id='nm' >
<span id='nameErrorSection'></span>
</td></tr><tr><td>
Gender</td><td>
Male <input type='radio' name='sex' id='ml' value='M'>
&nbsp;&nbsp;&nbsp;
Female <input type='radio' name='sex' id='fe' value='F'>
</td></tr><tr><td>
Select city</td><td>
<select name='ct' id='ct'>
<option value='-1'>&lt;Select&gt;</option>
<option value='101'>Pune</option>
<option value='102'>Ujjain</option>
<option value='103'>Indore</option>
</select></td></tr></tr><tr>
<td colspan='2' align='center'>
<input type='submit' value='Save'></td></tr></table>
</form>
</center>
</body>
</html>
aaa.java
package tm;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class aaa extends HttpServlet
Thinking Machines – Java – J2EE Page 27

{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn=rq.getParameter("nm");
String ss=rq.getParameter("sex");
String cc=rq.getParameter("ct");
HttpSession sess=rq.getSession(true);
sess.setAttribute("nm",nn);
sess.setAttribute("ct",cc);
sess.setAttribute("sex",ss);
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>five.com</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using Session Object</u></h4>");
pw.println("<a href='/five.com/SaveData'>Save</a>");
pw.println("</center>");
pw.println("</body>");
pw.println("</html>");
}catch(Exception exception)
{
System.out.println(exception);
}
}
}
bbb.java
package tm;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class bbb extends HttpServlet
Thinking Machines – Java – J2EE Page 28

{
public void doGet(HttpServletRequest rq,HttpServletResponse rs)
{
try
{
String nn="";
String ss="";
String cc="";
HttpSession sess;
sess=rq.getSession(false);
if(sess!=null)
{
nn=(String)sess.getAttribute("nm");
cc=(String)sess.getAttribute("ct");
ss=(String)sess.getAttribute("sex");
}
System.out.println("Request arrived");
System.out.println("Data arrived");
System.out.println("Name : "+nn);
System.out.println("Gender : "+ss);
System.out.println("City : "+cc);
rs.setContentType("text/html");
PrintWriter pw;
pw=rs.getWriter();
pw.println("<!Doctype html>");
pw.println("<html lang='en'>");
pw.println("<head>");
pw.println("<meta charset='utf-8'>");
pw.println("<title>five.com</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<center>");
pw.println("<h1>Session Tracking Example</h1>");
pw.println("<h4><u>Using Session Object</u></h4>");
pw.println("<h1>Data Saved</h1></body></html>");
pw.println("Name : "+nn+"</br>");
pw.println("Gender : "+ss+"</br>");
pw.println("City : "+cc+"</br>");
pw.println("</center>");
}catch(Exception exception)
{
System.out.println(exception);
}
}
}

You might also like