Servlets - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Servlets

Description:

THIS IS WHAT YOU'LL BE DOING!! Client. Server. Servlets. Outline. Who ... throws IOException, ServletException. response. ... IOException, ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 18
Provided by: wwwcsifC
Category:

less

Transcript and Presenter's Notes

Title: Servlets


1
Servlets
  • Stoney Jackson
  • jacksoni_at_cs.ucdavis.edu
  • http//wwwcsif.cs.ucdavis.edu/jacksoni

2
Java on the Web J2EE
  • Thin clients (minimize download)
  • Java all server side
  • THIS IS WHAT YOULL BE DOING!!

Client
Server
3
Outline
Sun
  • Who made Servlets?
  • What are Servlets?
  • Why are Servlets?
  • Where are Servlets?
  • When are Servlets?
  • How are Servlets?

4
What are Servlets?
  • Units of Java code that run server-side.
  • Run in containers (provide context)
  • Helps with client-server communications
  • Not necessarily over HTTP
  • But usually over HTTP (well focus here)

5
Why are Servlets?
  • Web pages with dynamic content
  • Easy coordination between Servlets to make Web
    applications
  • Containers support many features
  • Sessions, persistence, resource management (e.g.,
    database connections), security, etc.

6
Where are Servlets?
File system
Static
Web Server
HTTP
ServletServer
Dynamic
7
When are Servlets?
Receive Request forServlet S
Loaded when first used,or after modified
Is S loaded?
no
yes
Is S current?
no
(re)Load S
yes
Servlets die when Servlet Server dies
Forward Requestto S
8
Why Not CGIs?
  • CGI Common Gateway Interface
  • Defines interface between Web servers and
    programs
  • Environment variables and standard-in as input
    from client
  • Standard-out for output to client

9
Why Not CGIs (cont.)
  • Only defines interface
  • ? no supporting infrastructure
  • (security, sessions, persistence, etc.)
  • Inefficient new process for each request!!!

Recall Servlets loaded only once!
10
How are Servlets?
  • import java.io.
  • import javax.servlet.
  • import javax.servlet.http.
  • public class Hellox extends HttpServlet
  • public void doGet(HttpServletRequest request,
  • HttpServletResponse response)
  • throws IOException, ServletException
  • response.setContentType("text/html")
  • PrintWriter out response.getWriter()
  • out.println("lthtmlgt")
  • // out.println("ltbodygt")
  • out.println("ltheadgt")
  • out.println("lttitlegtHello World!lt/titlegt")
  • out.println("lt/headgt")
  • out.println("ltbodygt")
  • out.println("lth1gtHello World!lt/h1gt")

11
Compiling
  • javac classpath
  • LIB/servlet-api.jar
  • Hellox.java

12
Directory Structure
13
Directory Structure (cont.)
14
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • ltweb-app xmlns"http//java.sun.com/xml/ns/j2ee"
  • xmlnsxsi"http//www.w3.org/2001/XMLSchema-in
    stance"
  • xsischemaLocation
  • "http//java.sun.com/xml/ns/j2ee
    http//java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  • version"2.4"gt
  • ltdescriptiongtExampleslt/descriptiongt
  • ltdisplay-namegtExampleslt/display-namegt
  • ltservletgt
  • ltservlet-namegtHelloxlt/servlet-namegt
  • ltservlet-classgtHelloxlt/servlet-classgt
  • lt/servletgt
  • ltservlet-mappinggt
  • ltservlet-namegtHelloxlt/servlet-namegt
  • lturl-patterngt/Helloxlt/url-patterngt

Declares servlet
abbreviation
fully qualified (e.g., java.lang.String)
Maps servlet to URL (rooted at D)
15
  • public class Helloy extends HttpServlet
  • public void doGet(HttpServletRequest request,
  • HttpServletResponse response)
  • throws IOException, ServletException
  • response.setContentType("text/html")
  • PrintWriter out response.getWriter()
  • out.println("lthtmlgt")
  • out.println("ltbodygt")
  • out.println("ltheadgt")
  • out.println("lttitlegtHello, Tell me your
    name!lt/titlegt")
  • out.println("lt/headgt")
  • out.println("ltbodygt")
  • out.println("lth1gtHello, Tell me your name!lt/h1gt
    ltbrgt")
  • out.print("ltform action\"")
  • out.println("NamedHello\" methodPOSTgt")
  • out.println("ltinput typetext length20
    nameyournamegtltbrgt")
  • out.println("ltinput typesubmitgtlt/formgt")

16
  • public class NamedHello extends HttpServlet
  • public void doPost(HttpServletRequest request,
  • HttpServletResponse response)
  • throws IOException, ServletException
  • response.setContentType("text/html")
  • PrintWriter out response.getWriter()
  • String name request.getParameter("yourname")
  • out.println("lthtmlgt")
  • out.println("ltbodygt")
  • out.println("ltheadgt")
  • out.println("lttitlegtHello, Tell me your name
    again!lt/titlegt")
  • out.println("lt/headgt")
  • out.println("ltbodygt")
  • out.println("lth2gtHello, " name "lt/h2gt
    ltbrgt")
  • out.print("ltform action\"")
  • out.println("NamedHello\" methodPOSTgt")
  • out.println("ltinput typetext length20
    nameyournamegtltbrgt")
  • out.println("ltinput typesubmitgtlt/formgt")

17
  • public class NamedSessionHello1 extends
    HttpServlet
  • public void doGet(HttpServletRequest request,
  • HttpServletResponse response)
  • throws IOException, ServletException
  • response.setContentType("text/html")
    PrintWriter out response.getWriter()
  • HttpSession hs request.getSession(true)
  • String sn (String) hs.getAttribute("yourname")
  • out.println("lthtmlgt") out.println("ltbodygt")
    out.println("ltheadgt")
  • out.println("lttitlegtHello, Tell me your name
    again!lt/titlegt")
  • out.println("lt/headgt") out.println("ltbodygt")
  • if(sn ! null ! sn.equals (""))
  • out.println("lth1gtltblinkgt OH,
    NamedSessionHello1
  • already know your name " sn
    "lt/blinkgtlt/h1gt")
  • else
  • String sn2 request.getParameter("yourname")
  • if (sn2 null sn2.equals(""))
  • out.println("lth2gtHello,noname " "lt/h2gt
    ltbrgt")
  • else
  • out.println("lth2gtHello, " sn2 "lt/h2gt
    ltbrgt")
Write a Comment
User Comments (0)
About PowerShow.com