Java and Distributed Computing

indexadjustmentInternet and Web Development

Nov 13, 2013 (4 years ago)

96 views


UMass Lowell Computer Science 91.460


Java and Distributed Computing


Prof. Karen Daniels


Fall, 2000


Lecture 21

Java Servlets

Wed. 11/22/00

based on material from
http://java.sun.com

and Deitel, Chapter 19

What is a Servlet?


Servlets are somewhat of a
server
-
side

analog of client
-
side applets


but, servlets have no GUI


Java module that extends request/response
-
oriented servers


Works with Java
-
enabled web (HTTP)
servers that support the Java Servlet API


executes in a web server thread

What is a Servlet’s Context?

Java 2 Platform

Standard Edition

Enterprise Edition

Micro Edition

What can a Servlet do?


Handle HTTP client requests


Handle multiple requests concurrently


Forward requests to other servers and servlets


Generate dynamic documents


Work with databases (e.g. using JDBC)


How is a Servlet different from…?


From Common Gateway Interface (CGI)
script?


Can perform similar tasks, but…


Servlet:


provides
platform independence


efficient: executes in a web server thread


CGI script spawns a new process


can access server resources



How is a Servlet different from…?


From Java Server Pages (JSP)? JSP:


is an extension of the Servlet concept


in principle, can do JSP tasks with a Servlet


but JSP is more convenient for some tasks


allows mixing of static HTML with
dynamically
-
generated HTML


dynamic part is written in Java


separates display aspects from content


JSP for display aspects


Servlet for content management


supports XML

How is a Servlet different from…?


From JavaScript? JavaScript:


works on the
client side


generates HTML dynamically on the
client side

How does a Servlet work?


invoked via URL in .html file


URL = web server address + location of Servlet .class file


executes in a Java
-
enabled web server thread


supports the Java Servlet API


implements the Servlet interface


extends (typically) HttpServlet Class


uses HTTP request types/methods:


GET: gets info. from the web server (e.g. HTML document)


POST: sends info. to the web server


overrides HttpServlet Class doGet( ) and/or doPost( )


doGet( ), doPost( ) called by HttpServlet service( )

How does a Servlet work?


HttpServletRequest interface (key methods)


doDelete( ): called for HTTP
DELETE

request (e.g. file)


doOptions( ): called for HTTP
OPTIONS

request


doPut( ): called for HTTP
PUT

request


doTrace(): called for HTTP
TRACE

request


String getParameter( String
parameterName
)


Returns value for a parameter sent to Servlet in GET or POST


Enumeration getParameterNames( )


Returns names of all parameters sent to Servlet in POST


String[ ] getParameterValues( String name )


Returns
values

for a parameter sent to Servlet in GET or POST


Cookie[ ] getCookies( ):
Cookie objects stored on client by server


HttpSession getSession( boolean create ):
client session object

How does a Servlet work?


HttpServletResponse interface (key methods)


void addCookie( Cookie cookie )


ServletOutputStream getOutputStream( )


Sets up byte
-
based output stream for sending data to client


PrintWriter getWriter( )


Sets up character
-
based output stream for sending data to client


void setContentType( String type )


Specifies type of response to browser


MIME type (e.g. text/html)

Servlet Code Samples & Demos

http://kdaniels:8080

Deitel Chapter 19 sample code

Resources


http://java.sun.com


UML CS
Internet & Web Systems

courses