Servlets and a little bit of Web Services - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Servlets and a little bit of Web Services

Description:

Learn about using servlets as one way of providing web ... DCOM. Web/HTTP. Application. Access over the Web. Web. Application. Web Server. Web. Application ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 27
Provided by: peterlo7
Category:
Tags: bit | dcom | services | servlets | web

less

Transcript and Presenter's Notes

Title: Servlets and a little bit of Web Services


1
Servletsand a little bit ofWeb Services
  • Russell Beale

2
Overview
  • In general
  • Provide remote access to applications
  • Servlets
  • What are servlets
  • How can we use them
  • Web Services
  • What are web services

3
Objectives
  • Learn about using servlets as one way of
    providing web based interfaces to databases and
    other applications.
  • Learn how to create and deploy servlets using the
    NetBeans IDE and Tomcat server
  • Learn about Web Services and their advantages in
    relation to providing web based interfaces to
    databases and other applications
  • See how to create and deploy Web Services using
    Java, Apache Tomcat, and Apache Axis
  • Be aware of other tools for developing,
    deploying, and consuming web services

4
Providing remote access
RMI
CORBA
Application
DCOM
Web/HTTP
5
Access over the Web
6
Servlets and Web Services
  • Servlets
  • providing generic access to an application, using
    a web interface
  • we need to build both client and server
  • Web Services
  • providing generic access with a defined API
  • allows custom interface at the client
  • we can just build the server

7
Using servlets
  • A user (1) requests some information by filling
    out a form containing a link to a servlet and
    clicking the Submit button (2).
  • The server (3) locates the requested servlet (4).
  • The servlet then gathers the information needed
    to satisfy the user's request and constructs a
    Web page (5) containing the information.
  • That Web page is then displayed on the user's
    browser (6).
  • (bit like CGI scripts, bit like applets)
  • (from Sun)

8
Servlets
  • Servlets are server-side resources
  • Servlets are Java objects that act as compact web
    servers
  • Can support all protocols, but are not as
    flexible/powerful as full servers
  • Need to run inside a web server that supports
    servlets
  • Take in requests re-directed from the web-server,
    write HTML back to the client

9
Advantages of servlets
  • Based on Java convenient powerful, can talk
    directly to the server
  • Efficient lightweight Java processes, servlet
    code loads only once
  • Free/very cheap

10
Typical uses
  • Processing and/or storing data submitted by an
    HTML form.
  • Providing dynamic content from, for example, a
    database query
  • Managing state information on top of HTTP (which
    is stateless)
  • e.g. an online shopping cart which manages
    baskets for many concurrent customers and maps
    every request to the right customer.

11
Servlets
  • Servlets are part of J2EE
  • All servlets implement interface
    javax.servlet.Servlet
  • We will be using javax.servlet.http.HttpServlet

12
HTTP protocol
  • 8 request methods
  • GET retrieve content
  • POST send data, retrieve content
  • HEAD retrieve headers only
  • PUT upload content
  • DELETE remove content
  • TRACE echos the request, showing servers etc
  • OPTIONS returns list of supported methods
  • CONNECT used with SSL proxy tunnels

13
Lifecycle
  • init()
  • set up the servlet
  • service()
  • respond to requests, after init()
  • destroy()
  • shutdown the servlet

14
Using HttpServlet
  • By extending HttpServlet, we only have to
    over-ride the methods we need to
  • E.g., doGet(), doPost()

15
HelloWorld servlet
  • Using NetBeans, we can easily create servlets
    under Tomcat
  • Tomcat is a Java server that supports servlets
  • Tomcat is bundled with NetBeans IDE
  • HelloWorld servlet

16
POST and GET
  • GET and POST allow information to be sent back to
    the webserver from a browser (or other HTTP
    client for that matter)
  • Imagine that you have a form on a HTML page and
    clicking the "submit" button sends the data in
    the form back to the server, as "namevalue"
    pairs.

17
HTML forms
  • ltform action "PostExample" methodPOSTgt
  • ltinput typetext size20 namefirstnamegt
  • ltbrgt
  • ltinput typetext size20 namelastnamegt
  • ltbrgt
  • ltinput typesubmitgt
  • lt/formgt

18
GET
  • Choosing GET as the "method" will append all of
    the data to the URL and it will show up in the
    URL bar of your browser.
  • The amount of information you can send back using
    a GET is restricted as URLs can only be 1024
    characters.

19
POST
  • A POST will send the information through a socket
    back to the webserver and it won't show up in the
    URL bar.
  • It is stored on the request object
  • You can send much more information to the server
    this way
  • not restricted to textual data - you can send
    files and even binary data such as serialized
    Java objects

20
Handling GET requests
  • GET requests call the doGet() method on your
    servlet
  • Put code in that method to handle GET, or call
    another method to do it
  • GET can pass in data through URL encoding

21
Handling POST requests
  • POST requests call the doPost() method
  • Put code in this method, or call another one
  • Post data is stored on the request object
  • PostExample.htm

22
Storing Data
  • We often want to store some data about the user
    and their requests
  • We can do this in 2 ways
  • Client-side - cookies
  • Server-side session data, database etc

23
What are cookies?
  • HTTP protocol is stateless
  • Browser contacts server ata URL, requests a page,
    provides its capabilities
  • Server sends info to client
  • Connection closed
  • So to mark one visitor to track visit to site,
    need to store a piece of information on the
    client side
  • This is the cookie
  • HTTP header that contains text string

24
Two sorts
  • Session
  • Temporary, erased when you close browser
  • Often used by e-commerce sites for shopping carts
  • Persistent
  • Written to hard drive
  • Remain until erased or expire
  • Used to store user preferences

25
Sessions
  • Live on the server
  • Actually built on top of cookies or URL rewritin,
    but you dont have to bother with this
  • HttpSession object
  • Stores all the information for a session
  • Saves you having to access the cookies yourself

26
Servlets and JSP
  • Putting large amounts of HTML into servlets is a
    bit cumbersome
  • JSP pages let you use Java code directly in a
    HTML document
  • The Java code is then executed as a servlet at
    runtime
Write a Comment
User Comments (0)
About PowerShow.com