+ All Categories
Home > Documents > Introduction to Servlets. Introduction Servlet is a language to develop the server side...

Introduction to Servlets. Introduction Servlet is a language to develop the server side...

Date post: 18-Jan-2016
Category:
Upload: nelson-blake
View: 226 times
Download: 0 times
Share this document with a friend
Popular Tags:
41
Introduction to Servlets
Transcript
Page 1: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Introduction to Servlets

Page 2: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Introduction

• Servlet is a language to develop the server side applications, and it is also server side component.

• It can develop web-based applications, and it is provide component-based platform independent methods.

• Servlet is a server as well as platform independent.• It gives a freedom to you for selecting your server,

platforms and tools. • Web developers can create fast and efficient web

based applications using by servlet.

Page 3: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

HTTP Servlet

• HTTP Servlet is a base class of servlet program; it is used to dynamic content.

• HTML submitted data to store the process. • The dynamic content getting the result of a

database and returning to the client, and manage the information of the stateless HTTP.

• Hyper Text Markup Language (HTML) is the describe inside of web documents

• Hypertext Transfer Protocol (HTTP) is the language used to describe how documents are sent over the internet.

Page 4: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Servlets role in J2EE

Page 5: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Life cycle of Servlet

Page 6: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Life cycle of Servlet

Page 7: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Advantages of Java Servlets

• PortabilityServlets are written in java and follow well known standardized APIs so they are highly portable across operating systems and server implementations.They are write once, run anywhere (WORA) program.

• PowerfulServlets can talk directly to the web server while the CGI programs can't do. Servlets can share data among each other, they even make the database connection pools easy to implement. They can maintain the session by using the session tracking mechanism which helps them to maintain information from request to  request.

• EfficiencyWhen the servlet get loaded in the server, it remains in the server's memory as a single object instance. However with servlets there are N threads but only a single copy of the servlet class. Multiple concurrent requests are handled by separate threads so we can say that the servlets are highly scalable. 

Page 8: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Advantages of Java Servlets

• SafetyAs servlets are written in java, servlets inherit the strong type safety of java language. Java's automatic garbage collection and a lack of pointers means that servlets are generally safe from memory management problems. In servlets we can easily handle the errors due to  Java's exception handling mechanism. If any exception occurs then it will throw an exception.

• IntegrationServlets are tightly integrated with the server. Servlet can use the server to translate the file paths, perform logging, check authorization, and MIME type mapping etc.

• ExtensibilityThe servlet API is designed in such a way that it can be easily extensible. The servlet API support Http Servlets, but in later date it can be extended for another type of servlets.

• InexpensiveThere are number of  free web servers available for personal use or for commercial purpose. Web servers are relatively expensive. So by using the free available web servers you can add servlet support to it.

Page 9: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Simple Exampleimport java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class DisplayingDate extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse

response) throws ServletException, IOException{

PrintWriter pw = response.getWriter();

Date today = new Date();

pw.println("<html>"+"<body><h1>Today Date is</h1>");

pw.println("<b>"+ today+"</b></body>"+ "</html>"); } }

Page 10: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

HTTP Request

• HTTP: Hypertext Transfer Protocol is the language used to describe how the documents are sent over the internet.

• HTTP recommends the rules by which browser make request and servers provide response.

• This rules or protocol includes,– Document name– Data format– User name– Decide handle outdated resources– Indicate the request

Page 11: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

HTTP request mode

• Basic HTTP Client and Server Communication• A key consideration is this model is stateless• After a TCP connection is created, the client• request and server response is communicated.

Client Request: The HTTP client sends a request message formatted by the rules of the HTTP standard an HTTP request.

Information provided to be provided to the server.

Server Response: server received the clients request and interprets the request.

It takes action on the client request and server creates an HTTP response message and sends back to client.

If request was successful the response message

Page 12: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

The HttpServletRequest class

• getParameter() • getParameterValues()• getParameterNames()• getParameterMap().

Page 13: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

getParameter()

• This method is used to get the client request parameter

• It is returns the value of a request parameter as a String value.

• HTTP Servlet parameter are contained in the query string or posted form data.

• While client request only one at a time, method can be get the parameter string.

• This method cannot get more than one parameter value.

Page 14: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

getParameterValues()

• This method is used to get the parameter values from the client request.

• It is return an array of string objects.• If the string values are null the parameter does not exist.• This method can get more than one parameter and its

value also. • The String objects containing all of the values the given

request parameter• If the parameter return single value the array values is

one.

Page 15: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

getParameterNames()

• This method is used to get the request parameter and return the string objects name

• This method derived the Enumeration class. • The string objects containing the parameters

name contained in this request.• If the request has no parameters, the method

returns a null/empty Enumeration.

Page 16: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

getParameterMap().

• This method derived Map class, this method returns parameter values as map values using

by parameter name as key.• The parameter name has the key of type as String,

and the parameter map values type as String array.

Page 17: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Attribute in Servlet

• An attribute in servlet is an object that can be set, get or removed from one of the following scopes:

• request scope• session scope• application scope• The servlet programmer can pass informations

from one servlet to another using attributes.• It is just like passing object from one class to

another so that we can reuse the same object again and again.

Page 18: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Attribute specific methods

• There are following 4 attribute specific methods.• public void setAttribute(String name,Object

object):sets the given object in the application scope.• public Object getAttribute(String name):Returns the

attribute for the specified name.• public Enumeration getInitParameterNames():Returns

the names of the context's initialization parameters as an Enumeration of String objects.

• public void removeAttribute(String name):Removes the attribute with the given name from the servlet context.

Page 19: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

import java.io.*;  

import javax.servlet.*;  

import javax.servlet.http.*;   

public class DemoServlet1 extends HttpServlet{  

public void doGet(HttpServletRequest req,HttpServletResponse res)  

{  

try{  

res.setContentType("text/html");  

PrintWriter out=res.getWriter();  

ServletContext context=getServletContext();  

context.setAttribute("company","IBM");  

out.println("Welcome to first servlet");  

out.println("<a href='servlet2'>visit</a>");  

out.close();  

}catch(Exception e){out.println(e);}   }}  

Page 20: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

SendRedirect in servlet

• The sendRedirect() method of HttpServletResponse interface can be used to redirect response to another resource, it may be servlet, jsp or html file.

• It accepts relative as well as absolute URL.• It works at client side because it uses the url bar

of the browser to make another request.• So, it can work inside and outside the server.

Page 21: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Difference between forward() and sendRedirect() method

forward() method sendRedirect() method

The forward() method works at server side.

The sendRedirect() method works at client side.

It sends the same request and response objects to another servlet.

It always sends a new request.

It can work within the server only.It can be used within and outside the server.

Example: request.getRequestDispacher("servlet2").forward(request,response);

Example: response.sendRedirect("servlet2");

Page 22: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

import java.io.*;  

import javax.servlet.*;  

import javax.servlet.http.*;  

public class DemoServlet extends HttpServlet{  

public void doGet(HttpServletRequest req,HttpServletResponse res)  

throws ServletException,IOException  

{  

res.setContentType("text/html");  

PrintWriter pw=res.getWriter();  

response.sendRedirect("http://www.google.com");  

pw.close();  

}}  

Page 23: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Output

Page 24: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Output

Page 25: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Session Tracking

• Http is a stateless protocol- means that it can't persist the information.

• It always treats each request as a new request.• In Http client makes a connection to the server, sends

the request., gets the response, and closes the connection.• In session management client first make a request for

any servlet or any page• The container receives the request and generate a unique

session ID and gives it back to the client along with the response.

• This ID gets stores on the client machine

Page 26: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Ways of Session Tracking

• Hidden Form Fields: This is one of the way to support the session tracking.

• The hidden form field are sent back to the server when the form is submitted.

• In hidden form fields the html entry will be like this : <input type ="hidden" name = "name" value="">.

• In this session ID information would be embedded within the form as a hidden field and submitted with the Http POST command.

Page 27: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

• URL Rewriting: • URLRewriting can be used in place where we don't want to

use cookies.• It is used to maintain the session.• Whenever the browser sends a request then it is always

interpreted as a new request because http protocol is a stateless protocol as it is not persistent.

• In session tracking firstly a session object is created when the first request goes to the server.

• Then server creates a token which will be used to maintain the session.

• The token is transmitted to the client by the response object and gets stored on the client machine.

• By default the server creates a cookie and the cookie get stored on the client machine.

Page 28: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

• Cookies: When cookie based session management is used, a token is generated which contains user's information, is sent to the browser by the server.

• The cookie is sent back to the server when the user sends a new request.

• By this cookie, the server is able to identify the user. • Cookie is nothing but a name- value pair, which is stored

on the client machine. • By default the cookie is implemented in most of the

browsers.• If we want then we can also disable the cookie.• For security reasons, cookie based session management

uses two types of cookies.

Page 29: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Session Exampleimport java.io.*;

import javax.servlet.*;import javax.servlet.http.*;public class CheckingTheSession extends HttpServlet{  protected void doGet(HttpServletRequest request, HttpServletResponse   response)throws ServletException, IOException {  response.setContentType("text/html");  PrintWriter pw = response.getWriter();  pw.println("Checking whether the session is new or old<br>");  HttpSession session = request.getSession();  if(session.isNew()){  pw.println("You have created a new session");   }  else{  pw.println("Session already exists");   }   } }

Page 30: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Get Session ID

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

public class SessionIdServlet extends HttpServlet{  protected void doGet(HttpServletRequest request, HttpServletResponse    response)throws ServletException, IOException{  response.setContentType("text/html");  PrintWriter pw = response.getWriter();  HttpSession session = request.getSession();  String id = session.getId();  pw.println("Session Id is : " + id);  }}

Page 31: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

import java.io.*; import javax.servlet.*; import javax.servlet.http.*;public class CounterServlet extends HttpServlet{  public void doGet(HttpServletRequest request,   HttpServletResponse response)  throws ServletException, IOException {  HttpSession session = request.getSession(true);  response.setContentType("text/html");  PrintWriter out = response.getWriter();  Integer count = new Integer(0);  String head;  if (session.isNew()) {   head = "This is the New Session";   } else {  head = "This is the old Session";  Integer oldcount =(Integer)session.getValue("count");   if (oldcount != null) {  count = new Integer(oldcount.intValue() + 1);   }   }  session.putValue("count", count);  out.println("<HTML><BODY BGCOLOR=\"#FDF5E6\">\n" +  "<H2 ALIGN=\"CENTER\">" + head + "</H2>\n" +   "<TABLE BORDER=1 ALIGN=CENTER>\n”  + "<TR BGCOLOR=\"#FFAD00\">\n"   +"  <TH>Information Type<TH>Session Count\n“   +"<TR>\n" +" <TD>Total Session Accesses\n" +  "<TD>" + count + "\n" +   "</TABLE>\n"    +"</BODY></HTML>" );  } }

Page 32: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Cookie Introduction

• Cookies are small pieces of information that are sent in response from the web server to the client. 

• Cookiesare the simplest technique used for storing client state.

• Cookies are stored on client's computer.• They have a lifespan and are destroyed by the

client browser at the end of that lifespan.

Page 33: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Cookies API

• Cookies are created using Cookie class present in Servlet API.

• Cookies are added to response object using the addCookie() method.

• This method sends cookie information over the HTTP response stream.

• getCookies() method is used to access the cookies that are added to response object.

Page 34: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Cookies API

Page 35: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Cookie Example

Page 36: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

index.html

<form method="post" action="validate"> Name:<input type="text" name="user" /><br/>

Password:<input type="text" name="pass" ><br/>

<input type="submit" value="submit"> </form>

Page 37: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

MyServlet.javaimport java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class MyServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); String name = request.getParameter("user");

String pass = request.getParameter("pass"); if(pass.equals("1234")) {

Cookie ck = new Cookie("username",name); response.addCookie(ck); response.sendRedirect("First"); } } }

Page 38: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

First.java

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class First extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

Cookie[] cks = request.getCookies(); out.println("Welcome "+cks[0].getValue()); } }

Page 39: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Registration form in Servlet

Page 40: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Create a Table in your Database

create table Student ( name varchar(60), email varchar(60), pass varchar(100) )

Index.html

<html> <head> <title>Register form</title> </head> <body>

<form method="post" action="register"> Name:<input type="text" name="name" /><br/> Email ID:<input type="text" name="email”/><br/>

Password:<input type="text" name="pass" /><br/> <input type="submit" value="register" /> </form> </body> </html>

Page 41: Introduction to Servlets. Introduction Servlet is a language to develop the server side applications, and it is also server side component. It can develop.

Register.java

import java.io.*; import javax.servlet.*;

import javax.servlet.http.*; import java.sql.*;

public class Register extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter(); String name = request.getParameter("name");

String email = request.getParameter("email"); String pass = request.getParameter("pass");

try{

Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","username","password");

PreparedStatement ps=con.prepareStatement ("insert into Student values(?,?,?)");

ps.setString(1, name); ps.setString(2, email);

ps.setString(3, pass); int i=ps.executeUpdate(); if(i>0) {

out.println("You are sucessfully registered"); } }

catch(Exception se) { se.printStackTrace(); } } }


Recommended