SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Prepared using




Unit 2
     HTTP Basics
     Servlet Basics




Presentation by
AshishSingh T Bhatia
Lecturer, CTI
ast.bhatia@gmail.com
Assignment 1

    1. Explain Internet and WWW.
    2. Explain the basic structure of HTML document with
        brief history.
    3. What is JavaScript? Describe its evolution.
    4. Explain different type of datatypes available and use
        in JS.
    5. Write shortnote on DOM.
    6. List and explain different browsers objects.
    7. Explain all form elements.
    8. List and explain JavaScript Event handlers.
    9. Explain in detail Form Object and its use.
    10. Explain inbuilt objects in JavaScript. [ String and Date]
I                                                     Ashish Bhatia
Assignment 1

11. Explain the functions and its use in JavaScript.
12. Explain following with examples
      1. typeof
      2. instanceof
      3. prototype
      4. constructor
      5. caller
      6. toString
      7. valueOf
13. Desribe the object creation in JavaScript with example.


II                                               Ashish Bhatia
HTTP

●   HTTP stands for Hyper Text Transfer Protocol

     HTTP/0.9         HTTP/1.0       HTTP/1.1

      RFC ?           RFC 1945        RFC 2616
●   HTTP is
      ●   Aplication Level Protocol for distributed, collaborative,
          hypermedia information systems.
      ●   Generic stateless protocol which can be used for many
          tasks beyond its use for hypertext .
      ●   Use by WWW since 1990.
      ●   Use reliable TCP / IP connection.
1                                                   Ashish Bhatia
URL , URI , URN

●   URL : Uniform Resource Locator
●   URI : Uniform Resource Identifier
●   URN : Uniform Resource Name




2                                       Ashish Bhatia
URL , URI , URN

●   Web Identifiers
●   Classical View
     ●   [ URI ] Identifier might specify
     ●   location of resource ==> URL
          ●   http://
          ●   identifies a resource via a representation of its
              primary access mechanism
              (e.g., its network "location"),
     ●   Its name independent of location ==> URN
          ●   urn:isbn :n-nn-nnnnnn-n


3                                                       Ashish Bhatia
Move Back to History




4                      Ashish Bhatia
Move Back to History




5                      Ashish Bhatia
Understanding a Bit here

●   Take place of CGI scripts
●   Run inside a JVM [ Making it safe and portable ]
●   Operate solely in domain of server unlike applet they
     do not require support for Java on web Browser.
●   Efficient and Scalable : Threads are used for request.
●   Support for servlet
     ●   Standalone Servlet Engines
          ●   Sun Java web Server, JigSaw Server by W3C,
              Netscape Eneterprise Server, Lotus Domino Go Server




6                                                   Ashish Bhatia
Understanding a Bit here

●   Add – on servlet Engines
      ●   Jserv [ Apache ]
      ●   JRun [ Live Software ]
      ●   WebSphere [ IBM ]
      ●   ServletExec [ Atlantas ]

●   Embeddable Servlet Engines




7                                    Ashish Bhatia
Coming back to HTTP

●   Always client initiates a transaction by establishing a
     connection and sending HTTP request.
●   Server has no way to callback or connect client.
●   HTTP transaction begins with :
      ●   Request from the client browser.
      ●   Ends with Response from the server.
●   Request Header consist of three parts
      ●   Method – URI – Protocol Version
      ●   Request Headers
      ●   Entity Body


8                                                   Ashish Bhatia
Coming back to HTTP




9                     Ashish Bhatia
Coming back to HTTP




10                    Ashish Bhatia
Coming back to HTTP




11                    Ashish Bhatia
Coming back to HTTP




12                    Ashish Bhatia
Coming back to HTTP

●    Server process the request and send the response to
      the client.
●    HTTP/1.0 200 OK




13                                                Ashish Bhatia
Coming back to HTTP



●    1xx: Informational - Request received,
          continuing process
●    2xx: Success - The action was successfully received,
          understood, and accepted
●    3xx: Redirection - Further action must be taken in order
          to complete the request
●    4xx: Client Error - The request contains bad syntax or
          cannot be fulfilled
●    5xx: Server Error - The server failed to fulfill an
          apparently valid request

14                                                     Ashish Bhatia
Coming back to HTTP

●    GET
      ●    Retrieve information identified by Request-URI
●    HEAD
      ●    Similar to GET except that server will not return
             a message body
●    POST
      ●




15                                                   Ashish Bhatia
Coming back to HTTP

●    PUT
      ●    Enclosed entity be stored under the supplied
             Requested-URI
      ●    If entity exists it will be treated as modified version
      ●    201 – Created
      ●    200 – OK
      ●    204 – No Content
      ●    Error Code
      ●    501 – Not Implemented



16                                                     Ashish Bhatia
Coming back to HTTP

●    DELETE
      ●   Delete the resource identified by the Request-URI
      ●   200 – OK
      ●   202 – accepted
      ●   204 – No content
●    TRACE
      ●    Used to invoke a remote, application-layer
          loop-back of the request message. The final
          recipient of the request SHOULD reflect the
          message received back to the client as the
          entity-body of a 200 (OK) response.

17                                                 Ashish Bhatia
Coming back to HTTP

●    CONNECT
       ●   Reserves for use with proxy that can dynamically
             switch to being a tunnel.




18                                                Ashish Bhatia
Prepared using




Are You Attentive ?

How many methods we studied ?

How request header looks ?

How response header looks ?


     Lets move to Servlet Basics


19                                        Ashish Bhatia
Servlet Application Architecture

●    A servlet is a Java class that can be loaded dynamically
         into and run by a special web server.
●    Servlet Container / Servlet Engine :
         Servlet aware web server




20                                                  Ashish Bhatia
Servlet Application Architecture

●    Problem and Solution




21                                 Ashish Bhatia
How Servlet Works

●    Servlet is loaded in Servlet
      Container first.
●    Servlet then is forwared the
      user request, process it,
      and returns the response
      to the servlet container
      which in turns send response
      back to server.
●    Servlet stays in memory
      waiting for other requests
●    Unloaded ??? Shortage of mem

22                                   Ashish Bhatia
Tomcat as Servlet Container

●    Designed by Sun Microsystem
●    Handed the code the Apache – 1999
       ●   Included as Jakarta Project
       ●   Its one of recognised Servlet Container and
              used world wide
       ●   OpenSource
●    Current version 7.0




23                                                  Ashish Bhatia
Getting up with Tomcat

●    Genreally two options available for
         tomcat installation
      ●   Liked by many .exe
      ●   Zip folder
●    Where to get Tomcat ?
      ●   http://tomcat.apache.org/
      ●   http://tomcat.apache.org/download-70.cgi
●




24                                                   Ashish Bhatia
Getting up with Tomcat




25                       Ashish Bhatia
Setting up using zip / tar.gz version

●    Setting up on any platform
         ●   Extract the zip / tar.gz to desired place
              ●   Assumption
                   ●   Extracted folder D:tomcat
                   ●   JDK : C:Program FilesJavajdk
         ●   Set two environment variables
              ●   CATALINA_HOME=D:tomcat
              ●   JAVA_HOME=C:Program FilesJavajdk
●    If exe :
     ●   Double click ==> Get installed as window service


26                                                       Ashish Bhatia
Moving ahead to directory




27                          Ashish Bhatia
Directory details

●    bin
     ●   Contains files for starting / stopping tomcat server
●    conf
         ●   Contains xml files
●    lib
         ●   Contains jar files
●    logs
●    temp
●    webapps
         ●   Working directory mapped to localhost [ see later ]
●    work
28                                                      Ashish Bhatia
Program Structure

                       Project

                                        JSP pages,
WEB-INF                                 static html pages,
                                        applet classes


              classes             lib              tags


 web.xml       .class files   Library archives     . tag files


29                                               Ashish Bhatia
Directory details

●    Http://localhost:8080/Add
      ●   This will call up index page
            [Default Page]
      ●   When called the servlet object
           is created from Add.class




30                                         Ashish Bhatia
Understanding the javax.servlet




31                                Ashish Bhatia
Understanding the javax.servlet : interfaces

●    14 interfaces : 7 implemented provided by container
     ●   ServletConfig
     ●   ServletContext
     ●   ServletRequest
     ●   ServletResponse
     ●   RequestDispatcher
     ●   FilterChain
     ●   FilterConfig




32                                                Ashish Bhatia
Understanding the javax.servlet : interfaces

●    14 interfaces : 7 left for developer
     ●   Servlet
     ●   ServletRequestListener
     ●   ServletRequestAttributeListener
     ●   ServletContextListener
     ●   ServletContextAttributeListener
     ●   SingleThreadModel
     ●   Filter




33                                             Ashish Bhatia
ServletContext

●    ServletConfig interface
      ●   getServletContext() that returns ServletContext
●    Communicates with the container when you want to
      perform actions such as writing log files or
      dispatching request
●    One ServletContext object per web application.
      ●   Intialized when application starts
      ●   Destroyed when application shut downs
●    Persistence mechanism
      ●   Attributes available through out.


34                                                  Ashish Bhatia
Other interfaces brief introduction

●    ServletRequest and ServletResponse
      ●   Provide the client request information and object
            used to send the reponse to the client.
●    RequestDispatcher
      ●   Object that manages client request by directing them
            to appropriate resources to the server.
●    Filter, FilterChain, FilterConfig
      ●   Use for filtering




35                                                  Ashish Bhatia
Understanding the javax.servlet : classes
●    Nine classes + 2 exception classes
      ●   Generic Servlet
      ●   ServletContextEvent
      ●   ServletContextAttributeEvent
      ●   ServletRequestEvent
      ●   ServpetRequestAttributeEvent
      ●   ServletInputStream
      ●   ServletOutputStream
      ●   ServletRequestWrapper
      ●   ServletResponseWrapper
      ●   ServletException
      ●   UnavailableException
36                                          Ashish Bhatia
Understanding the javax.servlet : classes




37                                          Ashish Bhatia
Understanding the javax.servlet : classes




38                                          Ashish Bhatia
Serlvet Interface : LifeCycle
●    Servlet must implement the Servlet interface OR
      Extend from a class that has already implemented
      Servlet Interface.
●    public void init(ServletConfig c) throws ServletException
●    public void service(ServletRequest req, ServletResponse
      res) throws ServletException, IOException
●    public void destroy()

●    public ServletConfig getServletConfig()
●    public String getServletInfo() throws ServletException,
      IOException


39                                                  Ashish Bhatia
GenericServlet Class
●    Abstract class implmenting Servlet Interface.
     ●   public void init(ServletConfig config)
     ●   public void init()
     ●   public abstract void service(ServletRequest req,
           ServletResponse res)
     ●   public void destroy()
     ●   public ServletContext getServletContext()
     ●   public java.util.Enumeration getInitParameterNames()
     ●   public String getInitParameter(String name)
     ●   public String getServletName()
     ●   public void log(String msg)
     ●   public void log(String message, java.lang.Throwable t)
40                                                     Ashish Bhatia
HttpServlet Cass
●    Overrides service method of GenericServlet class.
     ●   public void init(ServletConfig config)
     ●   public void init()
     ●   public void service(ServletRequest req,
           ServletResponse res)
     ●   public void service(HttpServletRequest req,
           HttpServletResponse res)


public void destroy()




41                                                     Ashish Bhatia
HttpServlet Cass
●    protected void doGet(HttpServletRequest req,
      HttpServletResponse res) throws ServletException,
      IOException
●    protected void doPost(HttpServletRequest req,
      HttpServletResponse res) throws ServletException,
      IOException
●    protected void doHead(HttpServletRequest req,
      HttpServletResponse res) throws ServletException,
      IOException
●    protected void doPut(HttpServletRequest req,
      HttpServletResponse res) throws ServletException,
      IOException

42                                              Ashish Bhatia
HttpServlet Cass
●    protected void doOption(HttpServletRequest req,
      HttpServletResponse res) throws ServletException,
      IOException
●    protected void doTrace(HttpServletRequest req,
      HttpServletResponse res) throws ServletException,
      IOException
●    protected long getLastModified(HttpServlet req)
      throws ServletException,IOException




43                                               Ashish Bhatia
Understanding GenericServlet and HttpServlet




44                                        Ashish Bhatia
Program Structure

                      HelloWorld

                                     index.html
WEB-INF


               classes         lib


 web.xml    HelloWorld.class


29                                         Ashish Bhatia
Prepared using




End of Session for today

Weitere ähnliche Inhalte

Was ist angesagt?

ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Servicesewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST ServicesRob Tweed
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swiftymtech
 
Toster - Understanding the Rails Web Model and Scalability Options
Toster - Understanding the Rails Web Model and Scalability OptionsToster - Understanding the Rails Web Model and Scalability Options
Toster - Understanding the Rails Web Model and Scalability OptionsFabio Akita
 
Memcached Code Camp 2009
Memcached Code Camp 2009Memcached Code Camp 2009
Memcached Code Camp 2009NorthScale
 
What is Rack Hijacking API
What is Rack Hijacking APIWhat is Rack Hijacking API
What is Rack Hijacking APINomo Kiyoshi
 
ZK_Arch_notes_20081121
ZK_Arch_notes_20081121ZK_Arch_notes_20081121
ZK_Arch_notes_20081121WANGCHOU LU
 
OCI Image Spec
OCI Image SpecOCI Image Spec
OCI Image Specstrikr .
 
Build an autoversioning filesystem with Apache2
Build an autoversioning filesystem with Apache2Build an autoversioning filesystem with Apache2
Build an autoversioning filesystem with Apache2Javier Arturo Rodríguez
 
DataMapper on Infinispan
DataMapper on InfinispanDataMapper on Infinispan
DataMapper on InfinispanLance Ball
 
TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011Lance Ball
 
Jolokia - JMX on Capsaicin (Devoxx 2011)
Jolokia - JMX on Capsaicin (Devoxx 2011)Jolokia - JMX on Capsaicin (Devoxx 2011)
Jolokia - JMX on Capsaicin (Devoxx 2011)roland.huss
 
Camel and JBoss
Camel and JBossCamel and JBoss
Camel and JBossJBug Italy
 
Scalable Architecture 101
Scalable Architecture 101Scalable Architecture 101
Scalable Architecture 101ConFoo
 
Web-Technologies 26.06.2003
Web-Technologies 26.06.2003Web-Technologies 26.06.2003
Web-Technologies 26.06.2003Wolfgang Wiese
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postvamsi krishna
 

Was ist angesagt? (19)

ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Servicesewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
ewd-qoper8-vistarpc: Exposing VistA's RPCs as REST Services
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swift
 
Toster - Understanding the Rails Web Model and Scalability Options
Toster - Understanding the Rails Web Model and Scalability OptionsToster - Understanding the Rails Web Model and Scalability Options
Toster - Understanding the Rails Web Model and Scalability Options
 
Memcached Code Camp 2009
Memcached Code Camp 2009Memcached Code Camp 2009
Memcached Code Camp 2009
 
What is Rack Hijacking API
What is Rack Hijacking APIWhat is Rack Hijacking API
What is Rack Hijacking API
 
Aspdotnet
AspdotnetAspdotnet
Aspdotnet
 
ZK_Arch_notes_20081121
ZK_Arch_notes_20081121ZK_Arch_notes_20081121
ZK_Arch_notes_20081121
 
Php version 5
Php version 5Php version 5
Php version 5
 
Varnish - PLNOG 4
Varnish - PLNOG 4Varnish - PLNOG 4
Varnish - PLNOG 4
 
OCI Image Spec
OCI Image SpecOCI Image Spec
OCI Image Spec
 
Build an autoversioning filesystem with Apache2
Build an autoversioning filesystem with Apache2Build an autoversioning filesystem with Apache2
Build an autoversioning filesystem with Apache2
 
DataMapper on Infinispan
DataMapper on InfinispanDataMapper on Infinispan
DataMapper on Infinispan
 
TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011TorqueBox - Ruby Hoedown 2011
TorqueBox - Ruby Hoedown 2011
 
Jolokia - JMX on Capsaicin (Devoxx 2011)
Jolokia - JMX on Capsaicin (Devoxx 2011)Jolokia - JMX on Capsaicin (Devoxx 2011)
Jolokia - JMX on Capsaicin (Devoxx 2011)
 
Camel and JBoss
Camel and JBossCamel and JBoss
Camel and JBoss
 
Scalable Architecture 101
Scalable Architecture 101Scalable Architecture 101
Scalable Architecture 101
 
Web-Technologies 26.06.2003
Web-Technologies 26.06.2003Web-Technologies 26.06.2003
Web-Technologies 26.06.2003
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
3 Git
3 Git3 Git
3 Git
 

Andere mochten auch

Andere mochten auch (11)

IPv6
IPv6IPv6
IPv6
 
Java script
Java scriptJava script
Java script
 
Java I/O Part 2
Java I/O Part 2Java I/O Part 2
Java I/O Part 2
 
JavaScript State of the Union - Jan 2013
JavaScript State of the Union - Jan 2013JavaScript State of the Union - Jan 2013
JavaScript State of the Union - Jan 2013
 
Syllabus of BCA Second Year JAMMU University
Syllabus of BCA Second Year JAMMU UniversitySyllabus of BCA Second Year JAMMU University
Syllabus of BCA Second Year JAMMU University
 
Servlet Event framework
Servlet Event frameworkServlet Event framework
Servlet Event framework
 
Nested and Enum in Java
Nested and Enum in JavaNested and Enum in Java
Nested and Enum in Java
 
I/O In Java Part 2
I/O In Java Part 2I/O In Java Part 2
I/O In Java Part 2
 
Java servlets
Java servletsJava servlets
Java servlets
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
Java servlet life cycle - methods ppt
Java servlet life cycle - methods pptJava servlet life cycle - methods ppt
Java servlet life cycle - methods ppt
 

Ähnlich wie HTTP Basic and Servlet Basic

JavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User ExperienceJavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User Experiencereeder29
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applicationsTom Martin
 
Esigate dev meeting 25 03_2013
Esigate dev meeting 25 03_2013Esigate dev meeting 25 03_2013
Esigate dev meeting 25 03_2013nricheton
 
Webserver
WebserverWebserver
WebserverARYA TM
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...WebStackAcademy
 
BaseX user-group-talk XML Prague 2013
BaseX user-group-talk XML Prague 2013BaseX user-group-talk XML Prague 2013
BaseX user-group-talk XML Prague 2013Andy Bunce
 
Ch 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet ServersCh 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet Serverswebhostingguy
 
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.pptweb-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt20521742
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopBob Killen
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with NginxBud Siddhisena
 
Webinar: Draw a line between HTTP/2 client and HTTP Client
Webinar: Draw a line between HTTP/2 client and HTTP ClientWebinar: Draw a line between HTTP/2 client and HTTP Client
Webinar: Draw a line between HTTP/2 client and HTTP ClientKnoldus Inc.
 
12.+Managing+Containers.pdf
12.+Managing+Containers.pdf12.+Managing+Containers.pdf
12.+Managing+Containers.pdfVikrantSChohaan
 
ChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy IntroChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy IntroChinaNetCloud
 

Ähnlich wie HTTP Basic and Servlet Basic (20)

slides (PPT)
slides (PPT)slides (PPT)
slides (PPT)
 
JavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User ExperienceJavaScript Service Worker Design Patterns for Better User Experience
JavaScript Service Worker Design Patterns for Better User Experience
 
Apache web service
Apache web serviceApache web service
Apache web service
 
Apache tomcat
Apache tomcatApache tomcat
Apache tomcat
 
Progressive web applications
Progressive web applicationsProgressive web applications
Progressive web applications
 
Philly Tech Fest Iis
Philly Tech Fest IisPhilly Tech Fest Iis
Philly Tech Fest Iis
 
Esigate dev meeting 25 03_2013
Esigate dev meeting 25 03_2013Esigate dev meeting 25 03_2013
Esigate dev meeting 25 03_2013
 
Webserver
WebserverWebserver
Webserver
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1... Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.ppt
 
BaseX user-group-talk XML Prague 2013
BaseX user-group-talk XML Prague 2013BaseX user-group-talk XML Prague 2013
BaseX user-group-talk XML Prague 2013
 
Ch 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet ServersCh 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet Servers
 
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.pptweb-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
web-servers3952 (1)qwjelkjqwlkjkqlwe.ppt
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with Nginx
 
Servlet classnotes
Servlet classnotesServlet classnotes
Servlet classnotes
 
Webinar: Draw a line between HTTP/2 client and HTTP Client
Webinar: Draw a line between HTTP/2 client and HTTP ClientWebinar: Draw a line between HTTP/2 client and HTTP Client
Webinar: Draw a line between HTTP/2 client and HTTP Client
 
12.+Managing+Containers.pdf
12.+Managing+Containers.pdf12.+Managing+Containers.pdf
12.+Managing+Containers.pdf
 
ChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy IntroChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy Intro
 

Kürzlich hochgeladen

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 

Kürzlich hochgeladen (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 

HTTP Basic and Servlet Basic

  • 1. Prepared using Unit 2 HTTP Basics Servlet Basics Presentation by AshishSingh T Bhatia Lecturer, CTI ast.bhatia@gmail.com
  • 2. Assignment 1 1. Explain Internet and WWW. 2. Explain the basic structure of HTML document with brief history. 3. What is JavaScript? Describe its evolution. 4. Explain different type of datatypes available and use in JS. 5. Write shortnote on DOM. 6. List and explain different browsers objects. 7. Explain all form elements. 8. List and explain JavaScript Event handlers. 9. Explain in detail Form Object and its use. 10. Explain inbuilt objects in JavaScript. [ String and Date] I Ashish Bhatia
  • 3. Assignment 1 11. Explain the functions and its use in JavaScript. 12. Explain following with examples 1. typeof 2. instanceof 3. prototype 4. constructor 5. caller 6. toString 7. valueOf 13. Desribe the object creation in JavaScript with example. II Ashish Bhatia
  • 4. HTTP ● HTTP stands for Hyper Text Transfer Protocol HTTP/0.9 HTTP/1.0 HTTP/1.1 RFC ? RFC 1945 RFC 2616 ● HTTP is ● Aplication Level Protocol for distributed, collaborative, hypermedia information systems. ● Generic stateless protocol which can be used for many tasks beyond its use for hypertext . ● Use by WWW since 1990. ● Use reliable TCP / IP connection. 1 Ashish Bhatia
  • 5. URL , URI , URN ● URL : Uniform Resource Locator ● URI : Uniform Resource Identifier ● URN : Uniform Resource Name 2 Ashish Bhatia
  • 6. URL , URI , URN ● Web Identifiers ● Classical View ● [ URI ] Identifier might specify ● location of resource ==> URL ● http:// ● identifies a resource via a representation of its primary access mechanism (e.g., its network "location"), ● Its name independent of location ==> URN ● urn:isbn :n-nn-nnnnnn-n 3 Ashish Bhatia
  • 7. Move Back to History 4 Ashish Bhatia
  • 8. Move Back to History 5 Ashish Bhatia
  • 9. Understanding a Bit here ● Take place of CGI scripts ● Run inside a JVM [ Making it safe and portable ] ● Operate solely in domain of server unlike applet they do not require support for Java on web Browser. ● Efficient and Scalable : Threads are used for request. ● Support for servlet ● Standalone Servlet Engines ● Sun Java web Server, JigSaw Server by W3C, Netscape Eneterprise Server, Lotus Domino Go Server 6 Ashish Bhatia
  • 10. Understanding a Bit here ● Add – on servlet Engines ● Jserv [ Apache ] ● JRun [ Live Software ] ● WebSphere [ IBM ] ● ServletExec [ Atlantas ] ● Embeddable Servlet Engines 7 Ashish Bhatia
  • 11. Coming back to HTTP ● Always client initiates a transaction by establishing a connection and sending HTTP request. ● Server has no way to callback or connect client. ● HTTP transaction begins with : ● Request from the client browser. ● Ends with Response from the server. ● Request Header consist of three parts ● Method – URI – Protocol Version ● Request Headers ● Entity Body 8 Ashish Bhatia
  • 12. Coming back to HTTP 9 Ashish Bhatia
  • 13. Coming back to HTTP 10 Ashish Bhatia
  • 14. Coming back to HTTP 11 Ashish Bhatia
  • 15. Coming back to HTTP 12 Ashish Bhatia
  • 16. Coming back to HTTP ● Server process the request and send the response to the client. ● HTTP/1.0 200 OK 13 Ashish Bhatia
  • 17. Coming back to HTTP ● 1xx: Informational - Request received, continuing process ● 2xx: Success - The action was successfully received, understood, and accepted ● 3xx: Redirection - Further action must be taken in order to complete the request ● 4xx: Client Error - The request contains bad syntax or cannot be fulfilled ● 5xx: Server Error - The server failed to fulfill an apparently valid request 14 Ashish Bhatia
  • 18. Coming back to HTTP ● GET ● Retrieve information identified by Request-URI ● HEAD ● Similar to GET except that server will not return a message body ● POST ● 15 Ashish Bhatia
  • 19. Coming back to HTTP ● PUT ● Enclosed entity be stored under the supplied Requested-URI ● If entity exists it will be treated as modified version ● 201 – Created ● 200 – OK ● 204 – No Content ● Error Code ● 501 – Not Implemented 16 Ashish Bhatia
  • 20. Coming back to HTTP ● DELETE ● Delete the resource identified by the Request-URI ● 200 – OK ● 202 – accepted ● 204 – No content ● TRACE ● Used to invoke a remote, application-layer loop-back of the request message. The final recipient of the request SHOULD reflect the message received back to the client as the entity-body of a 200 (OK) response. 17 Ashish Bhatia
  • 21. Coming back to HTTP ● CONNECT ● Reserves for use with proxy that can dynamically switch to being a tunnel. 18 Ashish Bhatia
  • 22. Prepared using Are You Attentive ? How many methods we studied ? How request header looks ? How response header looks ? Lets move to Servlet Basics 19 Ashish Bhatia
  • 23. Servlet Application Architecture ● A servlet is a Java class that can be loaded dynamically into and run by a special web server. ● Servlet Container / Servlet Engine : Servlet aware web server 20 Ashish Bhatia
  • 24. Servlet Application Architecture ● Problem and Solution 21 Ashish Bhatia
  • 25. How Servlet Works ● Servlet is loaded in Servlet Container first. ● Servlet then is forwared the user request, process it, and returns the response to the servlet container which in turns send response back to server. ● Servlet stays in memory waiting for other requests ● Unloaded ??? Shortage of mem 22 Ashish Bhatia
  • 26. Tomcat as Servlet Container ● Designed by Sun Microsystem ● Handed the code the Apache – 1999 ● Included as Jakarta Project ● Its one of recognised Servlet Container and used world wide ● OpenSource ● Current version 7.0 23 Ashish Bhatia
  • 27. Getting up with Tomcat ● Genreally two options available for tomcat installation ● Liked by many .exe ● Zip folder ● Where to get Tomcat ? ● http://tomcat.apache.org/ ● http://tomcat.apache.org/download-70.cgi ● 24 Ashish Bhatia
  • 28. Getting up with Tomcat 25 Ashish Bhatia
  • 29. Setting up using zip / tar.gz version ● Setting up on any platform ● Extract the zip / tar.gz to desired place ● Assumption ● Extracted folder D:tomcat ● JDK : C:Program FilesJavajdk ● Set two environment variables ● CATALINA_HOME=D:tomcat ● JAVA_HOME=C:Program FilesJavajdk ● If exe : ● Double click ==> Get installed as window service 26 Ashish Bhatia
  • 30. Moving ahead to directory 27 Ashish Bhatia
  • 31. Directory details ● bin ● Contains files for starting / stopping tomcat server ● conf ● Contains xml files ● lib ● Contains jar files ● logs ● temp ● webapps ● Working directory mapped to localhost [ see later ] ● work 28 Ashish Bhatia
  • 32. Program Structure Project JSP pages, WEB-INF static html pages, applet classes classes lib tags web.xml .class files Library archives . tag files 29 Ashish Bhatia
  • 33. Directory details ● Http://localhost:8080/Add ● This will call up index page [Default Page] ● When called the servlet object is created from Add.class 30 Ashish Bhatia
  • 35. Understanding the javax.servlet : interfaces ● 14 interfaces : 7 implemented provided by container ● ServletConfig ● ServletContext ● ServletRequest ● ServletResponse ● RequestDispatcher ● FilterChain ● FilterConfig 32 Ashish Bhatia
  • 36. Understanding the javax.servlet : interfaces ● 14 interfaces : 7 left for developer ● Servlet ● ServletRequestListener ● ServletRequestAttributeListener ● ServletContextListener ● ServletContextAttributeListener ● SingleThreadModel ● Filter 33 Ashish Bhatia
  • 37. ServletContext ● ServletConfig interface ● getServletContext() that returns ServletContext ● Communicates with the container when you want to perform actions such as writing log files or dispatching request ● One ServletContext object per web application. ● Intialized when application starts ● Destroyed when application shut downs ● Persistence mechanism ● Attributes available through out. 34 Ashish Bhatia
  • 38. Other interfaces brief introduction ● ServletRequest and ServletResponse ● Provide the client request information and object used to send the reponse to the client. ● RequestDispatcher ● Object that manages client request by directing them to appropriate resources to the server. ● Filter, FilterChain, FilterConfig ● Use for filtering 35 Ashish Bhatia
  • 39. Understanding the javax.servlet : classes ● Nine classes + 2 exception classes ● Generic Servlet ● ServletContextEvent ● ServletContextAttributeEvent ● ServletRequestEvent ● ServpetRequestAttributeEvent ● ServletInputStream ● ServletOutputStream ● ServletRequestWrapper ● ServletResponseWrapper ● ServletException ● UnavailableException 36 Ashish Bhatia
  • 40. Understanding the javax.servlet : classes 37 Ashish Bhatia
  • 41. Understanding the javax.servlet : classes 38 Ashish Bhatia
  • 42. Serlvet Interface : LifeCycle ● Servlet must implement the Servlet interface OR Extend from a class that has already implemented Servlet Interface. ● public void init(ServletConfig c) throws ServletException ● public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException ● public void destroy() ● public ServletConfig getServletConfig() ● public String getServletInfo() throws ServletException, IOException 39 Ashish Bhatia
  • 43. GenericServlet Class ● Abstract class implmenting Servlet Interface. ● public void init(ServletConfig config) ● public void init() ● public abstract void service(ServletRequest req, ServletResponse res) ● public void destroy() ● public ServletContext getServletContext() ● public java.util.Enumeration getInitParameterNames() ● public String getInitParameter(String name) ● public String getServletName() ● public void log(String msg) ● public void log(String message, java.lang.Throwable t) 40 Ashish Bhatia
  • 44. HttpServlet Cass ● Overrides service method of GenericServlet class. ● public void init(ServletConfig config) ● public void init() ● public void service(ServletRequest req, ServletResponse res) ● public void service(HttpServletRequest req, HttpServletResponse res) public void destroy() 41 Ashish Bhatia
  • 45. HttpServlet Cass ● protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException ● protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException ● protected void doHead(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException ● protected void doPut(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException 42 Ashish Bhatia
  • 46. HttpServlet Cass ● protected void doOption(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException ● protected void doTrace(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException ● protected long getLastModified(HttpServlet req) throws ServletException,IOException 43 Ashish Bhatia
  • 47. Understanding GenericServlet and HttpServlet 44 Ashish Bhatia
  • 48. Program Structure HelloWorld index.html WEB-INF classes lib web.xml HelloWorld.class 29 Ashish Bhatia
  • 49. Prepared using End of Session for today