Servlet Programming

13
1 SATEESH N For many WEB applications server side processing is necessary. i.e., whenever a WEB Browser sends the data to a WEB Server the WEB Server forwards the same to a program on the server which is referred as ServerSideProgram. The ServerSideProgram receives the data form the WEB Server, process the data and returns the output back to the WEB Server which will be given to the WEB Browser. The WEB Browser receives the data and presents the data on the document. These ServerSidePrograms can be written in any language such as C, C++, UNIX Shell programming, perl, Servlets etc., and the current technologies the ServerSidePrograms are designed using ASP,JSP etc., WEB Browser http://yahoo.com User Name Password Yahoo WEB Server Login checkmail Particular ID’s Mail Box Documents delete will be opened The following are the famous WEB servers : IIS (Internet Information Serverm ) MircroSoft supports ASP PWS ( Personal WEB Server ) MircroSoft supports ASP Apache Apache only for HTML Tomcat Jakarta supports servlets,,jsp, tomcat doesn’t supports for EJB. http://apache.jakarta.org Java Web Server J2EE Weblogic BEA Websphere IBM JRun JBoss etc., Methods of sending data : A WEB Browser after receiving the details from the user cab forward to the WEB Server in any of the following 3 methods. GET POST HEAD A WEB Server after receiving the data from the WEB Browser should forward the same to the ssp in the following 3 corresponding methods. GET Environment variables POST Streams HEAD Commandline arguments ServerSideProgram

description

Servlets and its life cycle with examples

Transcript of Servlet Programming

Page 1: Servlet Programming

1 SATEESH N

For many WEB applications server side processing is necessary ie whenever a WEB Browsersends the data to a WEB Server the WEB Server forwards the same to a program on the server which isreferred as ServerSideProgram The ServerSideProgram receives the data form the WEB Server process thedata and returns the output back to the WEB Server which will be given to the WEB Browser The WEBBrowser receives the data and presents the data on the document These ServerSidePrograms can be writtenin any language such as C C++ UNIX Shell programming perl Servlets etc and the current technologiesthe ServerSidePrograms are designed using ASPJSP etc

WEB Browserhttpyahoocom

User Name Password Yahoo WEB Server

Login

checkmail

Particular IDrsquos Mail Box Documents delete will be opened

The following are the famous WEB servers

IIS (Internet Information Serverm )agrave MircroSoft agrave supports ASPPWS ( Personal WEB Server ) agrave MircroSoft agrave supports ASPApache agrave Apache agrave only for HTMLTomcat agrave Jakarta agrave supports servletsjsp tomcat doesnrsquot supports for EJB httpapachejakartaorgJava Web Server agraveJ2EE agraveWeblogic agrave BEAWebsphere agrave IBMJRun agraveJBoss agrave etc

Methods of sending data

A WEB Browser after receiving the details from the user cab forward to the WEB Server in any of thefollowing 3 methods

GETPOSTHEAD

A WEB Server after receiving the data from the WEB Browser should forward the same to the ssp inthe following 3 corresponding methods

GET Environment variables POST Streams HEAD Commandline arguments

ServerSideProgram

2 SATEESH N

GET Environment variables

POST Streams

HEAD Commandline args

URL Coding Whenever a WEB Browser is required to send data to the WEB Server the WEB Browserconverts the data in a particualar format which is known as URL coding The server isde program receives theconverted data undos the conversion and process the data

The following 4 rules will be used by the WEB Browsers for URL coding

1 All the fields will be separated by amp symbol2 Each field contains the name of the field and the value of the field separated by = symbol3 All spaces will be converted to + symbols4 All special characters such as + amp etc will be converted to hexadecimal values prefixed with

symbol

Ex httpmyservercomSSPnameEmpno=101ampEname=abc+xyzampJob=clkxxAcc

Server ssp param1 value1 p2 v2 p3 v3

In Java the SSPs can be written in sevlets and jsp

Creating a Servlet To create a servlet create a class that extends the ldquoHttpServletrdquo class and overrideany or both of the following methods (i) doGet( ) (ii) doPost( )

agrave If the WEB Browser sends the data in the ldquoGet( ) ldquo method then ldquodoGet( )rdquo method of servlet will beexecuted

agrave If the WEB Browser sends the data in the ldquoPostrdquo method then the ldquodoPost( )rdquo method of the servletwill be execued

agrave If the WEB Browser doesnot specify any method then the ldquodoGet( )rdquo will be executed

Syntax

DoGet( ) public void doGet(HttpServletRequest HttpServletResponse) throws ServletExceptionIO Exception

DoPost( )public void doPost(HttpServletRequestHttpServletResponse) throws ServletExceptionIO Exception

The ldquorequestrdquo object contains the data that was received from the WebBrowser and the ldquoresponserdquoallows us to send the output back to the WebBrowser

While exchanging data between the WEB Browser and WEB Server the following 2 objects are usedRequest and Response

tomcat

request

response

wwwyahoocom

user name password

LoginWEB Server Server Side Program

wwwyahoocom

user name password

Login

WEB Server Server Side Program

3 SATEESH N

HttpServletRequest For receiving input from the WebBrowser

Methods

String getParameter(String paramname) Returns the value of the specified parameter It returns null if theparameter is not available

Cookie[ ] get Cookie( ) Returns all the cookies that are received from the WebBrowser

HttpSession getSession( ) Returns the current HttpSession

HttpServletResponse For sending output to the WebBrowser

Methods

void setContentType(String mimeType) Sets the content type as mime type MIME(Multipurpose Internet Mail Extension )

Mime Types texthtml textplain imagegif

PrintWriter getWriter( ) Returns the output stream for sending the output to thye WebBrowser

void addCookie(Cookie ck) Sends a cookie to the WebBrowser

waServlet to send the text to WebBrowser

File name firstservletjava

import javaioimport javaxservletimport javaxservlethttp

public class firstservlet extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException send the output to the webbrowser responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(ltHTMLgt) outprintln(ltBODY bgcolor=0086b2 text=whitegt) outprintln(ltH1 align =centergtWelcome to Servlet ProgrammingltH1gt) outprintln(ltHR size=5 color=blackgt) outprintln(ltH3gt First Servlet ProgramltH3gt) outprintln(ltBODYgt) outprintln(ltHTMLgt)

4 SATEESH N

waservlet to send employee details to the WebBrowser

File name getempdetservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class getempdetservlet extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbody bgcolor=white text=blackgt) outprintln(lth2 style=background-colorgreencoloryellowtext-aligncentergt Exployee Details lth2gt)

try getting data

ClassforName(oraclejdbcdriverOracleDriver) Connection con = DriverManagergetConnection(jdbcoraclethinorasrv1521miraclescotttiger)

ClassforName(sunjdbcodbcJdbcOdbcDriver) Connection con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

Statement stmt = concreateStatement() ResultSet rs = stmtexecuteQuery(select empnoenamejobsaldeptno from emp)

constructing table format

outprintln(lttable width=100 bgcolor=pink border=2 bordercolor=red cellspacing=0gt) outprintln(lttrgt) outprintln(ltthgtEmployee Numberltthgt) outprintln(ltthgtEmployee Nameltthgt) outprintln(ltthgtJOBltthgt) outprintln(ltthgtSalaryltthgt) outprintln(ltthgtDepartment Noltthgt) outprintln(lttrgt)

placing the records into table

while(rsnext()) outprintln(lttrgt) for(int i=1ilt=5i++) outprintln(lttdgt+rsgetString(i)+lttdgt) outprintln(lttrgt) outprintln(lttablegt) rsclose() stmtclose() conclose() conthellip

5 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln(ltbodygtlthtmlgt)

HTML Forms A HTML form is a collection of input fields such as text boxes check boxes etc HTMLforms are used for sending data from the WebBrowser to the WebServer Each HTML form contains thefollowing

Name form name

Method GET || POST

Action The name of the server side program for processing the data

One or more input fields

SUBMIT button A special button which sends the accepted data to the WebServer

was which accepts employee details from WebBrowser (html) and sends them to the WebServer (ssp) Theservlet after receiving the data should echo the details back to the WebBrowser

File name iptoservletoptowbhtml

lt-- iptoservletoptowbhtml--gt

lthtmlgt ltbodygt lth2gt Enter Employee Details lth2gt ltform name = EMPFORM method = GET action= httplocalhost8080satclassservletiptoservletoptowbgt Employee Number ltinput type = text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type = text name=ENAME size=25gtltbrgt ltbrgt Employee JOb ltinput type = text name=JOB size=15gt ltbrgt ltinput type = SUBMIT value=Send Datagt ltformgt ltbodygtlthtmlgt

File name iptoservletoptowbjava

import javaioimport javaxservletimport javaxservlethttp

public class iptoservletoptowb extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) conthellip

6 SATEESH N

PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

read data from the request

String p1 = requestgetParameter(EMPNO) String p2 = requestgetParameter(ENAME) String p3 = requestgetParameter(JOB)

send the received details to the client

outprintln(lth2gt received details lth2gt) outprintln(ltbrgt) outprintln(lth3gt Employee Number +p1+ltbrgt) outprintln( Employee Name +p2+ltbrgt) outprintln( Employee JOB +p3+lth3gt) outprintln(ltbodygtlthtmlgt)

wa html file which accepts an employee number and sends the employee number to the servlet Theservlet should return the corresponding employee details back to the WebBrowser

lt--findempservlethtml--gt

lthtmlgt ltbodygt lth2gt Find Employee Details lth2gt ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletfindempservletgt Enter Employee Number ltinput type=text name=EMPNO size=15gt ltinput type=submit value=Find Employee Recordgt ltformgt ltbodygtlthtmlgt

File name findempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class findempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException IOException

responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

conthellip

7 SATEESH N

Receive the employee number

int empno = IntegerparseInt(requestgetParameter(EMPNO))

Get the record try ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoralcescotttiger) ps = conprepareStatement(select empnoenamejobsaldeptno from emp where empno=)

pssetInt(1empno) ResultSet rs = psexecuteQuery()

if(rsnext()) outprintln( lth2gt RecordFound lth2gt ) outprintln(ltbrgt Employee Number +rsgetString(1)) outprintln(ltbrgt Employee Name +rsgetString(2)) outprintln(ltbrgt JOB +rsgetString(3)) outprintln(ltbrgt Salary +rsgetString(4)) outprintln(ltbrgt Department No +rsgetString(5)) else outprintln( lth2gt Record Not Found +empno+ lth2gt ) catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclassfindempservlethtmlgt Find Another ltagt) outprintln(ltbodygt lthtmlgt)

wa html file which accepts employee details and sends them to the servlet The servlet after receiving theemployee details should insert them into the database

lt--saveempservlethtml--gt

lthtmlgt ltbodygt lth2 style=background-color0086b2colorwhitetext-aligncentergtNew Employee Recordlth2gt

ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletsaveempservletgt

Employee Number ltinput type=text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type=text name=ENAME size=25gt ltbrgt ltbrgt Employe Job ltinput type=text name=JOB size=15gt ltbrgt ltbrgt Basic Salary ltinput type=text name=SAL size=10gt ltbrgt ltbrgt cont

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 2: Servlet Programming

2 SATEESH N

GET Environment variables

POST Streams

HEAD Commandline args

URL Coding Whenever a WEB Browser is required to send data to the WEB Server the WEB Browserconverts the data in a particualar format which is known as URL coding The server isde program receives theconverted data undos the conversion and process the data

The following 4 rules will be used by the WEB Browsers for URL coding

1 All the fields will be separated by amp symbol2 Each field contains the name of the field and the value of the field separated by = symbol3 All spaces will be converted to + symbols4 All special characters such as + amp etc will be converted to hexadecimal values prefixed with

symbol

Ex httpmyservercomSSPnameEmpno=101ampEname=abc+xyzampJob=clkxxAcc

Server ssp param1 value1 p2 v2 p3 v3

In Java the SSPs can be written in sevlets and jsp

Creating a Servlet To create a servlet create a class that extends the ldquoHttpServletrdquo class and overrideany or both of the following methods (i) doGet( ) (ii) doPost( )

agrave If the WEB Browser sends the data in the ldquoGet( ) ldquo method then ldquodoGet( )rdquo method of servlet will beexecuted

agrave If the WEB Browser sends the data in the ldquoPostrdquo method then the ldquodoPost( )rdquo method of the servletwill be execued

agrave If the WEB Browser doesnot specify any method then the ldquodoGet( )rdquo will be executed

Syntax

DoGet( ) public void doGet(HttpServletRequest HttpServletResponse) throws ServletExceptionIO Exception

DoPost( )public void doPost(HttpServletRequestHttpServletResponse) throws ServletExceptionIO Exception

The ldquorequestrdquo object contains the data that was received from the WebBrowser and the ldquoresponserdquoallows us to send the output back to the WebBrowser

While exchanging data between the WEB Browser and WEB Server the following 2 objects are usedRequest and Response

tomcat

request

response

wwwyahoocom

user name password

LoginWEB Server Server Side Program

wwwyahoocom

user name password

Login

WEB Server Server Side Program

3 SATEESH N

HttpServletRequest For receiving input from the WebBrowser

Methods

String getParameter(String paramname) Returns the value of the specified parameter It returns null if theparameter is not available

Cookie[ ] get Cookie( ) Returns all the cookies that are received from the WebBrowser

HttpSession getSession( ) Returns the current HttpSession

HttpServletResponse For sending output to the WebBrowser

Methods

void setContentType(String mimeType) Sets the content type as mime type MIME(Multipurpose Internet Mail Extension )

Mime Types texthtml textplain imagegif

PrintWriter getWriter( ) Returns the output stream for sending the output to thye WebBrowser

void addCookie(Cookie ck) Sends a cookie to the WebBrowser

waServlet to send the text to WebBrowser

File name firstservletjava

import javaioimport javaxservletimport javaxservlethttp

public class firstservlet extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException send the output to the webbrowser responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(ltHTMLgt) outprintln(ltBODY bgcolor=0086b2 text=whitegt) outprintln(ltH1 align =centergtWelcome to Servlet ProgrammingltH1gt) outprintln(ltHR size=5 color=blackgt) outprintln(ltH3gt First Servlet ProgramltH3gt) outprintln(ltBODYgt) outprintln(ltHTMLgt)

4 SATEESH N

waservlet to send employee details to the WebBrowser

File name getempdetservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class getempdetservlet extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbody bgcolor=white text=blackgt) outprintln(lth2 style=background-colorgreencoloryellowtext-aligncentergt Exployee Details lth2gt)

try getting data

ClassforName(oraclejdbcdriverOracleDriver) Connection con = DriverManagergetConnection(jdbcoraclethinorasrv1521miraclescotttiger)

ClassforName(sunjdbcodbcJdbcOdbcDriver) Connection con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

Statement stmt = concreateStatement() ResultSet rs = stmtexecuteQuery(select empnoenamejobsaldeptno from emp)

constructing table format

outprintln(lttable width=100 bgcolor=pink border=2 bordercolor=red cellspacing=0gt) outprintln(lttrgt) outprintln(ltthgtEmployee Numberltthgt) outprintln(ltthgtEmployee Nameltthgt) outprintln(ltthgtJOBltthgt) outprintln(ltthgtSalaryltthgt) outprintln(ltthgtDepartment Noltthgt) outprintln(lttrgt)

placing the records into table

while(rsnext()) outprintln(lttrgt) for(int i=1ilt=5i++) outprintln(lttdgt+rsgetString(i)+lttdgt) outprintln(lttrgt) outprintln(lttablegt) rsclose() stmtclose() conclose() conthellip

5 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln(ltbodygtlthtmlgt)

HTML Forms A HTML form is a collection of input fields such as text boxes check boxes etc HTMLforms are used for sending data from the WebBrowser to the WebServer Each HTML form contains thefollowing

Name form name

Method GET || POST

Action The name of the server side program for processing the data

One or more input fields

SUBMIT button A special button which sends the accepted data to the WebServer

was which accepts employee details from WebBrowser (html) and sends them to the WebServer (ssp) Theservlet after receiving the data should echo the details back to the WebBrowser

File name iptoservletoptowbhtml

lt-- iptoservletoptowbhtml--gt

lthtmlgt ltbodygt lth2gt Enter Employee Details lth2gt ltform name = EMPFORM method = GET action= httplocalhost8080satclassservletiptoservletoptowbgt Employee Number ltinput type = text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type = text name=ENAME size=25gtltbrgt ltbrgt Employee JOb ltinput type = text name=JOB size=15gt ltbrgt ltinput type = SUBMIT value=Send Datagt ltformgt ltbodygtlthtmlgt

File name iptoservletoptowbjava

import javaioimport javaxservletimport javaxservlethttp

public class iptoservletoptowb extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) conthellip

6 SATEESH N

PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

read data from the request

String p1 = requestgetParameter(EMPNO) String p2 = requestgetParameter(ENAME) String p3 = requestgetParameter(JOB)

send the received details to the client

outprintln(lth2gt received details lth2gt) outprintln(ltbrgt) outprintln(lth3gt Employee Number +p1+ltbrgt) outprintln( Employee Name +p2+ltbrgt) outprintln( Employee JOB +p3+lth3gt) outprintln(ltbodygtlthtmlgt)

wa html file which accepts an employee number and sends the employee number to the servlet Theservlet should return the corresponding employee details back to the WebBrowser

lt--findempservlethtml--gt

lthtmlgt ltbodygt lth2gt Find Employee Details lth2gt ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletfindempservletgt Enter Employee Number ltinput type=text name=EMPNO size=15gt ltinput type=submit value=Find Employee Recordgt ltformgt ltbodygtlthtmlgt

File name findempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class findempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException IOException

responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

conthellip

7 SATEESH N

Receive the employee number

int empno = IntegerparseInt(requestgetParameter(EMPNO))

Get the record try ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoralcescotttiger) ps = conprepareStatement(select empnoenamejobsaldeptno from emp where empno=)

pssetInt(1empno) ResultSet rs = psexecuteQuery()

if(rsnext()) outprintln( lth2gt RecordFound lth2gt ) outprintln(ltbrgt Employee Number +rsgetString(1)) outprintln(ltbrgt Employee Name +rsgetString(2)) outprintln(ltbrgt JOB +rsgetString(3)) outprintln(ltbrgt Salary +rsgetString(4)) outprintln(ltbrgt Department No +rsgetString(5)) else outprintln( lth2gt Record Not Found +empno+ lth2gt ) catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclassfindempservlethtmlgt Find Another ltagt) outprintln(ltbodygt lthtmlgt)

wa html file which accepts employee details and sends them to the servlet The servlet after receiving theemployee details should insert them into the database

lt--saveempservlethtml--gt

lthtmlgt ltbodygt lth2 style=background-color0086b2colorwhitetext-aligncentergtNew Employee Recordlth2gt

ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletsaveempservletgt

Employee Number ltinput type=text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type=text name=ENAME size=25gt ltbrgt ltbrgt Employe Job ltinput type=text name=JOB size=15gt ltbrgt ltbrgt Basic Salary ltinput type=text name=SAL size=10gt ltbrgt ltbrgt cont

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 3: Servlet Programming

3 SATEESH N

HttpServletRequest For receiving input from the WebBrowser

Methods

String getParameter(String paramname) Returns the value of the specified parameter It returns null if theparameter is not available

Cookie[ ] get Cookie( ) Returns all the cookies that are received from the WebBrowser

HttpSession getSession( ) Returns the current HttpSession

HttpServletResponse For sending output to the WebBrowser

Methods

void setContentType(String mimeType) Sets the content type as mime type MIME(Multipurpose Internet Mail Extension )

Mime Types texthtml textplain imagegif

PrintWriter getWriter( ) Returns the output stream for sending the output to thye WebBrowser

void addCookie(Cookie ck) Sends a cookie to the WebBrowser

waServlet to send the text to WebBrowser

File name firstservletjava

import javaioimport javaxservletimport javaxservlethttp

public class firstservlet extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException send the output to the webbrowser responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(ltHTMLgt) outprintln(ltBODY bgcolor=0086b2 text=whitegt) outprintln(ltH1 align =centergtWelcome to Servlet ProgrammingltH1gt) outprintln(ltHR size=5 color=blackgt) outprintln(ltH3gt First Servlet ProgramltH3gt) outprintln(ltBODYgt) outprintln(ltHTMLgt)

4 SATEESH N

waservlet to send employee details to the WebBrowser

File name getempdetservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class getempdetservlet extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbody bgcolor=white text=blackgt) outprintln(lth2 style=background-colorgreencoloryellowtext-aligncentergt Exployee Details lth2gt)

try getting data

ClassforName(oraclejdbcdriverOracleDriver) Connection con = DriverManagergetConnection(jdbcoraclethinorasrv1521miraclescotttiger)

ClassforName(sunjdbcodbcJdbcOdbcDriver) Connection con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

Statement stmt = concreateStatement() ResultSet rs = stmtexecuteQuery(select empnoenamejobsaldeptno from emp)

constructing table format

outprintln(lttable width=100 bgcolor=pink border=2 bordercolor=red cellspacing=0gt) outprintln(lttrgt) outprintln(ltthgtEmployee Numberltthgt) outprintln(ltthgtEmployee Nameltthgt) outprintln(ltthgtJOBltthgt) outprintln(ltthgtSalaryltthgt) outprintln(ltthgtDepartment Noltthgt) outprintln(lttrgt)

placing the records into table

while(rsnext()) outprintln(lttrgt) for(int i=1ilt=5i++) outprintln(lttdgt+rsgetString(i)+lttdgt) outprintln(lttrgt) outprintln(lttablegt) rsclose() stmtclose() conclose() conthellip

5 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln(ltbodygtlthtmlgt)

HTML Forms A HTML form is a collection of input fields such as text boxes check boxes etc HTMLforms are used for sending data from the WebBrowser to the WebServer Each HTML form contains thefollowing

Name form name

Method GET || POST

Action The name of the server side program for processing the data

One or more input fields

SUBMIT button A special button which sends the accepted data to the WebServer

was which accepts employee details from WebBrowser (html) and sends them to the WebServer (ssp) Theservlet after receiving the data should echo the details back to the WebBrowser

File name iptoservletoptowbhtml

lt-- iptoservletoptowbhtml--gt

lthtmlgt ltbodygt lth2gt Enter Employee Details lth2gt ltform name = EMPFORM method = GET action= httplocalhost8080satclassservletiptoservletoptowbgt Employee Number ltinput type = text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type = text name=ENAME size=25gtltbrgt ltbrgt Employee JOb ltinput type = text name=JOB size=15gt ltbrgt ltinput type = SUBMIT value=Send Datagt ltformgt ltbodygtlthtmlgt

File name iptoservletoptowbjava

import javaioimport javaxservletimport javaxservlethttp

public class iptoservletoptowb extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) conthellip

6 SATEESH N

PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

read data from the request

String p1 = requestgetParameter(EMPNO) String p2 = requestgetParameter(ENAME) String p3 = requestgetParameter(JOB)

send the received details to the client

outprintln(lth2gt received details lth2gt) outprintln(ltbrgt) outprintln(lth3gt Employee Number +p1+ltbrgt) outprintln( Employee Name +p2+ltbrgt) outprintln( Employee JOB +p3+lth3gt) outprintln(ltbodygtlthtmlgt)

wa html file which accepts an employee number and sends the employee number to the servlet Theservlet should return the corresponding employee details back to the WebBrowser

lt--findempservlethtml--gt

lthtmlgt ltbodygt lth2gt Find Employee Details lth2gt ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletfindempservletgt Enter Employee Number ltinput type=text name=EMPNO size=15gt ltinput type=submit value=Find Employee Recordgt ltformgt ltbodygtlthtmlgt

File name findempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class findempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException IOException

responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

conthellip

7 SATEESH N

Receive the employee number

int empno = IntegerparseInt(requestgetParameter(EMPNO))

Get the record try ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoralcescotttiger) ps = conprepareStatement(select empnoenamejobsaldeptno from emp where empno=)

pssetInt(1empno) ResultSet rs = psexecuteQuery()

if(rsnext()) outprintln( lth2gt RecordFound lth2gt ) outprintln(ltbrgt Employee Number +rsgetString(1)) outprintln(ltbrgt Employee Name +rsgetString(2)) outprintln(ltbrgt JOB +rsgetString(3)) outprintln(ltbrgt Salary +rsgetString(4)) outprintln(ltbrgt Department No +rsgetString(5)) else outprintln( lth2gt Record Not Found +empno+ lth2gt ) catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclassfindempservlethtmlgt Find Another ltagt) outprintln(ltbodygt lthtmlgt)

wa html file which accepts employee details and sends them to the servlet The servlet after receiving theemployee details should insert them into the database

lt--saveempservlethtml--gt

lthtmlgt ltbodygt lth2 style=background-color0086b2colorwhitetext-aligncentergtNew Employee Recordlth2gt

ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletsaveempservletgt

Employee Number ltinput type=text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type=text name=ENAME size=25gt ltbrgt ltbrgt Employe Job ltinput type=text name=JOB size=15gt ltbrgt ltbrgt Basic Salary ltinput type=text name=SAL size=10gt ltbrgt ltbrgt cont

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 4: Servlet Programming

4 SATEESH N

waservlet to send employee details to the WebBrowser

File name getempdetservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class getempdetservlet extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbody bgcolor=white text=blackgt) outprintln(lth2 style=background-colorgreencoloryellowtext-aligncentergt Exployee Details lth2gt)

try getting data

ClassforName(oraclejdbcdriverOracleDriver) Connection con = DriverManagergetConnection(jdbcoraclethinorasrv1521miraclescotttiger)

ClassforName(sunjdbcodbcJdbcOdbcDriver) Connection con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

Statement stmt = concreateStatement() ResultSet rs = stmtexecuteQuery(select empnoenamejobsaldeptno from emp)

constructing table format

outprintln(lttable width=100 bgcolor=pink border=2 bordercolor=red cellspacing=0gt) outprintln(lttrgt) outprintln(ltthgtEmployee Numberltthgt) outprintln(ltthgtEmployee Nameltthgt) outprintln(ltthgtJOBltthgt) outprintln(ltthgtSalaryltthgt) outprintln(ltthgtDepartment Noltthgt) outprintln(lttrgt)

placing the records into table

while(rsnext()) outprintln(lttrgt) for(int i=1ilt=5i++) outprintln(lttdgt+rsgetString(i)+lttdgt) outprintln(lttrgt) outprintln(lttablegt) rsclose() stmtclose() conclose() conthellip

5 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln(ltbodygtlthtmlgt)

HTML Forms A HTML form is a collection of input fields such as text boxes check boxes etc HTMLforms are used for sending data from the WebBrowser to the WebServer Each HTML form contains thefollowing

Name form name

Method GET || POST

Action The name of the server side program for processing the data

One or more input fields

SUBMIT button A special button which sends the accepted data to the WebServer

was which accepts employee details from WebBrowser (html) and sends them to the WebServer (ssp) Theservlet after receiving the data should echo the details back to the WebBrowser

File name iptoservletoptowbhtml

lt-- iptoservletoptowbhtml--gt

lthtmlgt ltbodygt lth2gt Enter Employee Details lth2gt ltform name = EMPFORM method = GET action= httplocalhost8080satclassservletiptoservletoptowbgt Employee Number ltinput type = text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type = text name=ENAME size=25gtltbrgt ltbrgt Employee JOb ltinput type = text name=JOB size=15gt ltbrgt ltinput type = SUBMIT value=Send Datagt ltformgt ltbodygtlthtmlgt

File name iptoservletoptowbjava

import javaioimport javaxservletimport javaxservlethttp

public class iptoservletoptowb extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) conthellip

6 SATEESH N

PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

read data from the request

String p1 = requestgetParameter(EMPNO) String p2 = requestgetParameter(ENAME) String p3 = requestgetParameter(JOB)

send the received details to the client

outprintln(lth2gt received details lth2gt) outprintln(ltbrgt) outprintln(lth3gt Employee Number +p1+ltbrgt) outprintln( Employee Name +p2+ltbrgt) outprintln( Employee JOB +p3+lth3gt) outprintln(ltbodygtlthtmlgt)

wa html file which accepts an employee number and sends the employee number to the servlet Theservlet should return the corresponding employee details back to the WebBrowser

lt--findempservlethtml--gt

lthtmlgt ltbodygt lth2gt Find Employee Details lth2gt ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletfindempservletgt Enter Employee Number ltinput type=text name=EMPNO size=15gt ltinput type=submit value=Find Employee Recordgt ltformgt ltbodygtlthtmlgt

File name findempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class findempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException IOException

responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

conthellip

7 SATEESH N

Receive the employee number

int empno = IntegerparseInt(requestgetParameter(EMPNO))

Get the record try ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoralcescotttiger) ps = conprepareStatement(select empnoenamejobsaldeptno from emp where empno=)

pssetInt(1empno) ResultSet rs = psexecuteQuery()

if(rsnext()) outprintln( lth2gt RecordFound lth2gt ) outprintln(ltbrgt Employee Number +rsgetString(1)) outprintln(ltbrgt Employee Name +rsgetString(2)) outprintln(ltbrgt JOB +rsgetString(3)) outprintln(ltbrgt Salary +rsgetString(4)) outprintln(ltbrgt Department No +rsgetString(5)) else outprintln( lth2gt Record Not Found +empno+ lth2gt ) catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclassfindempservlethtmlgt Find Another ltagt) outprintln(ltbodygt lthtmlgt)

wa html file which accepts employee details and sends them to the servlet The servlet after receiving theemployee details should insert them into the database

lt--saveempservlethtml--gt

lthtmlgt ltbodygt lth2 style=background-color0086b2colorwhitetext-aligncentergtNew Employee Recordlth2gt

ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletsaveempservletgt

Employee Number ltinput type=text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type=text name=ENAME size=25gt ltbrgt ltbrgt Employe Job ltinput type=text name=JOB size=15gt ltbrgt ltbrgt Basic Salary ltinput type=text name=SAL size=10gt ltbrgt ltbrgt cont

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 5: Servlet Programming

5 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln(ltbodygtlthtmlgt)

HTML Forms A HTML form is a collection of input fields such as text boxes check boxes etc HTMLforms are used for sending data from the WebBrowser to the WebServer Each HTML form contains thefollowing

Name form name

Method GET || POST

Action The name of the server side program for processing the data

One or more input fields

SUBMIT button A special button which sends the accepted data to the WebServer

was which accepts employee details from WebBrowser (html) and sends them to the WebServer (ssp) Theservlet after receiving the data should echo the details back to the WebBrowser

File name iptoservletoptowbhtml

lt-- iptoservletoptowbhtml--gt

lthtmlgt ltbodygt lth2gt Enter Employee Details lth2gt ltform name = EMPFORM method = GET action= httplocalhost8080satclassservletiptoservletoptowbgt Employee Number ltinput type = text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type = text name=ENAME size=25gtltbrgt ltbrgt Employee JOb ltinput type = text name=JOB size=15gt ltbrgt ltinput type = SUBMIT value=Send Datagt ltformgt ltbodygtlthtmlgt

File name iptoservletoptowbjava

import javaioimport javaxservletimport javaxservlethttp

public class iptoservletoptowb extends HttpServlet public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException

IOException responsesetContentType(texthtml) conthellip

6 SATEESH N

PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

read data from the request

String p1 = requestgetParameter(EMPNO) String p2 = requestgetParameter(ENAME) String p3 = requestgetParameter(JOB)

send the received details to the client

outprintln(lth2gt received details lth2gt) outprintln(ltbrgt) outprintln(lth3gt Employee Number +p1+ltbrgt) outprintln( Employee Name +p2+ltbrgt) outprintln( Employee JOB +p3+lth3gt) outprintln(ltbodygtlthtmlgt)

wa html file which accepts an employee number and sends the employee number to the servlet Theservlet should return the corresponding employee details back to the WebBrowser

lt--findempservlethtml--gt

lthtmlgt ltbodygt lth2gt Find Employee Details lth2gt ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletfindempservletgt Enter Employee Number ltinput type=text name=EMPNO size=15gt ltinput type=submit value=Find Employee Recordgt ltformgt ltbodygtlthtmlgt

File name findempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class findempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException IOException

responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

conthellip

7 SATEESH N

Receive the employee number

int empno = IntegerparseInt(requestgetParameter(EMPNO))

Get the record try ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoralcescotttiger) ps = conprepareStatement(select empnoenamejobsaldeptno from emp where empno=)

pssetInt(1empno) ResultSet rs = psexecuteQuery()

if(rsnext()) outprintln( lth2gt RecordFound lth2gt ) outprintln(ltbrgt Employee Number +rsgetString(1)) outprintln(ltbrgt Employee Name +rsgetString(2)) outprintln(ltbrgt JOB +rsgetString(3)) outprintln(ltbrgt Salary +rsgetString(4)) outprintln(ltbrgt Department No +rsgetString(5)) else outprintln( lth2gt Record Not Found +empno+ lth2gt ) catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclassfindempservlethtmlgt Find Another ltagt) outprintln(ltbodygt lthtmlgt)

wa html file which accepts employee details and sends them to the servlet The servlet after receiving theemployee details should insert them into the database

lt--saveempservlethtml--gt

lthtmlgt ltbodygt lth2 style=background-color0086b2colorwhitetext-aligncentergtNew Employee Recordlth2gt

ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletsaveempservletgt

Employee Number ltinput type=text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type=text name=ENAME size=25gt ltbrgt ltbrgt Employe Job ltinput type=text name=JOB size=15gt ltbrgt ltbrgt Basic Salary ltinput type=text name=SAL size=10gt ltbrgt ltbrgt cont

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 6: Servlet Programming

6 SATEESH N

PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

read data from the request

String p1 = requestgetParameter(EMPNO) String p2 = requestgetParameter(ENAME) String p3 = requestgetParameter(JOB)

send the received details to the client

outprintln(lth2gt received details lth2gt) outprintln(ltbrgt) outprintln(lth3gt Employee Number +p1+ltbrgt) outprintln( Employee Name +p2+ltbrgt) outprintln( Employee JOB +p3+lth3gt) outprintln(ltbodygtlthtmlgt)

wa html file which accepts an employee number and sends the employee number to the servlet Theservlet should return the corresponding employee details back to the WebBrowser

lt--findempservlethtml--gt

lthtmlgt ltbodygt lth2gt Find Employee Details lth2gt ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletfindempservletgt Enter Employee Number ltinput type=text name=EMPNO size=15gt ltinput type=submit value=Find Employee Recordgt ltformgt ltbodygtlthtmlgt

File name findempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class findempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletException IOException

responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

conthellip

7 SATEESH N

Receive the employee number

int empno = IntegerparseInt(requestgetParameter(EMPNO))

Get the record try ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoralcescotttiger) ps = conprepareStatement(select empnoenamejobsaldeptno from emp where empno=)

pssetInt(1empno) ResultSet rs = psexecuteQuery()

if(rsnext()) outprintln( lth2gt RecordFound lth2gt ) outprintln(ltbrgt Employee Number +rsgetString(1)) outprintln(ltbrgt Employee Name +rsgetString(2)) outprintln(ltbrgt JOB +rsgetString(3)) outprintln(ltbrgt Salary +rsgetString(4)) outprintln(ltbrgt Department No +rsgetString(5)) else outprintln( lth2gt Record Not Found +empno+ lth2gt ) catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclassfindempservlethtmlgt Find Another ltagt) outprintln(ltbodygt lthtmlgt)

wa html file which accepts employee details and sends them to the servlet The servlet after receiving theemployee details should insert them into the database

lt--saveempservlethtml--gt

lthtmlgt ltbodygt lth2 style=background-color0086b2colorwhitetext-aligncentergtNew Employee Recordlth2gt

ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletsaveempservletgt

Employee Number ltinput type=text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type=text name=ENAME size=25gt ltbrgt ltbrgt Employe Job ltinput type=text name=JOB size=15gt ltbrgt ltbrgt Basic Salary ltinput type=text name=SAL size=10gt ltbrgt ltbrgt cont

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 7: Servlet Programming

7 SATEESH N

Receive the employee number

int empno = IntegerparseInt(requestgetParameter(EMPNO))

Get the record try ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoralcescotttiger) ps = conprepareStatement(select empnoenamejobsaldeptno from emp where empno=)

pssetInt(1empno) ResultSet rs = psexecuteQuery()

if(rsnext()) outprintln( lth2gt RecordFound lth2gt ) outprintln(ltbrgt Employee Number +rsgetString(1)) outprintln(ltbrgt Employee Name +rsgetString(2)) outprintln(ltbrgt JOB +rsgetString(3)) outprintln(ltbrgt Salary +rsgetString(4)) outprintln(ltbrgt Department No +rsgetString(5)) else outprintln( lth2gt Record Not Found +empno+ lth2gt ) catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclassfindempservlethtmlgt Find Another ltagt) outprintln(ltbodygt lthtmlgt)

wa html file which accepts employee details and sends them to the servlet The servlet after receiving theemployee details should insert them into the database

lt--saveempservlethtml--gt

lthtmlgt ltbodygt lth2 style=background-color0086b2colorwhitetext-aligncentergtNew Employee Recordlth2gt

ltform name = EMPFORM method=GET action=httplocalhost8080satclassservletsaveempservletgt

Employee Number ltinput type=text name=EMPNO size=15gt ltbrgt ltbrgt Employee Name ltinput type=text name=ENAME size=25gt ltbrgt ltbrgt Employe Job ltinput type=text name=JOB size=15gt ltbrgt ltbrgt Basic Salary ltinput type=text name=SAL size=10gt ltbrgt ltbrgt cont

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 8: Servlet Programming

8 SATEESH N

Department Number ltinput type=text name=DEPTNO size=5gt ltbrgt ltbrgt ltinput type=SUBMIT value=Save Detailsgt ltformgt ltbodygtlthtmlgt

File name saveempservletjava

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class saveempservlet extends HttpServlet static Connection con static PreparedStatement ps

public void doGet(HttpServletRequest requestHttpServletResponse response)throwsServletExceptionIOException responsesetContentType(texthtml) PrintWriter out = responsegetWriter() outprintln(lthtmlgtltbodygt)

try Receive the employee details

int empno = IntegerparseInt(requestgetParameter(EMPNO)) String ename = requestgetParameter(ENAME) String job = requestgetParameter(JOB) double sal = DoubleparseDouble(requestgetParameter(SAL)) int deptno = IntegerparseInt(requestgetParameter(DEPTNO))

open the connection

ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) ps = conprepareStatement(insert into emp(empnoenamejobsaldeptno) values())

pssetInt(1empno) pssetString(2ename) pssetString(3job) pssetDouble(4sal) pssetInt(5deptno)

int n = psexecuteUpdate()

if(n==1) outprintln(lth3gt Record Saved lth3gt) else outprintln(lth3gt Record Not Saved lth3gt)

psclose() conclose() conthellip

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 9: Servlet Programming

9 SATEESH N

catch(Exception ex) outprintln(ltbrgt Error +ex) outprintln( lthr size=5 color=redgt ) outprintln( lta href = satclasssaveempservlethtmlgt Save Another ltagt) outprintln(ltbodygt lthtmlgt)

Session Management

HTTP is a stateless protocol ie whenever a WebBrowser sends a request to the WebBrowser theWebServer provides a response to the WebBrowser and closes the connection ie the WebBrowser doesnrsquotstore any information of WebBrowser Some times we want the server side program to identify what values aregiven to the clients in the previous response

Session management is concept which makes a server side program to identify what values are givento the clients in the previous response

Sessin management can achieve in three different ways

1 Hidden Variables2 Cookies3 Sessions

Hidden Variables A Hidden Variable is a input field in a form which contains a value and which will not bedisplayed on the document Whenever the user clicks on the submit button the value of the hidden variable willalso be submitted along with the other input fields

File name nextempservletjava

using hidden variables

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0 conthellip

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 10: Servlet Programming

10 SATEESH N

String RNO = requestgetParameter(RNO)

if(RNO=null) rno = IntegerparseInt(RNO)

rno++

try send the employee record

openConnection()

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from employeewhere empno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

send the latest rno from the webserver to webbrowser

outprintln( lthr size = 5 color = redgt ) outprintln( ltform name=EMPFORM method=GET action=httplocalhost8080satclassservlet

nextempservletgt )

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 11: Servlet Programming

11 SATEESH N

outprintln( ltinput type=Hidden name=RNO value=+rno+gt ) outprintln( ltinput type=Submit value=Next Recordgt ) outprintln(ltformgt) outprintln(ltbodygtlthtmlgt)

void openConnection()throws SQLException try Systemoutprintln(Getting Connection) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger) catch(ClassNotFoundException ex) throw new SQLException(Driver Class Not Found) catch(SQLException ex) throw ex

Cookies A cookie is a piece of information created by the server and will be given to the clientsWebBrowser The WebBrowser receives the cookie and it will not be displayed on the document TheWebBrowser stores the cookie in a separate memory area Whenever the WebBrowser connects to theWebServer all the cookies of that WebServer will be given from the WebBrowser to the WebServer As aresult the server side program can retrieve any values stored into cookie

A WebBrowser generally stores upto 20 cookies for each WebServer A cookie contains the name andvalue In java cookies are managed using the cookie class Each cookie contains a name and value

Creating a Cookie In java cookies are managed using the cookie class each contains a name valueexpire date and time etc

Cookie(String name String value)

String getValue( )

void setValue(String value)

Sending a cookie to the WebBrowser

HttpServletResponse

void addCookie(Cookie ck) Sends a cookie to the WebBrowser If a cookie with the same name is alreadyexisting on the WebBrowser it will bhe replaced by the latest value

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 12: Servlet Programming

12 SATEESH N

Receiving the Cookies from the WebBrowser

HttpServletRequest

Cookie[ ] getCookies( ) Returns all the cookies that are received from the WebBrowser File name nextempservlet2java

using cookies

import javaioimport javasqlimport javaxservletimport javaxservlethttp

public class nextempservlet2 extends HttpServlet static Connection con = null

public void doGet(HttpServletRequest requestHttpServletResponse response)throws ServletExceptionIOException

responsesetContentType(texthtml)

PrintWriter out = responsegetWriter()

outprintln(lthtmlgt ltbodygt lth2gt Employee Record lth2gt)

int rno = 0

Cookie arr[] = requestgetCookies()

find the cookie with the name RNO

if(arr=null) for(int i=0iltarrlengthi++) if(arr[i]getName()equals(RNO)) rno = IntegerparseInt(arr[i]getValue()) break

rno++

send the record of rno to out

sendRecord(rnoout)

send the latest cookie to the webbrowser

Cookie ck = new Cookie(RNOStringvalueOf(rno))

responseaddCookie(ck)

outprintln( lthr size = 5 color = redgt )conthellip

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)

Page 13: Servlet Programming

13 SATEESH N

outprintln( lta href=httplocalhost8080satclassservletnextempservlet2gt Next Employee Record ltagt )

outprintln( ltbodygt lthtmlgt )

void sendRecord(int rnoPrintWriter out)throws IOException try if(con==null) Systemoutprintln(Getting Connection ) ClassforName(sunjdbcodbcJdbcOdbcDriver) con = DriverManagergetConnection(jdbcodbcjavaoraclescotttiger)

PreparedStatement ps = conprepareStatement(select empnoenamejobsaldeptno from emp whereempno = )

PreparedStatement ps = conprepareStatement(select snosnamesaddr from student where sno = )

pssetInt(1rno)

ResultSet rs = psexecuteQuery()

if( rsnext() ) outprintln( lth3gt Record Found +rno+ lth3gt )

outprintln( ltbrgt Employee Number +rsgetString(1) ) outprintln( ltbrgt Employee Name +rsgetString(2) ) outprintln( ltbrgt Employee Job +rsgetString(3) ) outprintln( ltbrgt Basic Salary +rsgetString(4) ) outprintln( ltbrgt Department No +rsgetString(5) )

outprintln( ltbrgt Student Number +rsgetString(1) ) outprintln( ltbrgt Student Name +rsgetString(2) ) outprintln( ltbrgt Student Address +rsgetString(3) )

else outprintln( lth3gt Record Not Found +rno+ lth3gt )

rsclose() psclose() catch(Exception ex) outprintln( ltbrgt Error +ex)