Download presentation
Presentation is loading. Please wait.
Published byGwenda O’Connor’ Modified over 9 years ago
1
1 Chapter 1: Overview of Servlets and JavaSerevr Pages
2
2 What Are Servlets: Replacement for CGI Basic operations: receive, process, send Advantages over CGI and other techniques: –Efficient –Convenient –Powerful –Portable –Secure –Inexpensive
3
3 What is JavaServer Pages (JSP): Enables you to mix static HTML with dynamically generated content. Advantages of JSP Versus: –ASP: Dynamic part is written in JAVA –PHP: Extensive library for Networking, DB, distributed Objects –Pure Servlets: Easier to develop specially if the pages are almost static ones. –SSI: More powerful set of tools –JavaScript: Access DB and networking –Static HTML: You know Installing s/w: Available In Windows machine Stright107.
4
4 Chapter 2: First Servlets
5
5 Basic Servlet structure: ServletTemplate.java Simple Servlet generating plain text: HelloWorld.java A Servlet that generates HTML: HelloWWW.java (Always set Content type first) Packaging Servlets: HelloWWW2.java Simple HTML-Building Utilities: ServletUtilities.java & HelloWWW3.java
6
6 The Servlet life cycle: –The init() method: With/Without parameters –The service() method: support HEAD, OPTIONS, and TRACE requests. Call doGet, doPost, doXxx –Implementing the SingleThreadModel –The destroy() method: performs cleaning up Using Initialization Parameters: ShowMessage.java Using Modification Date: LotteryNumbers.java Debugging Servlets: log, command windows, stop/start, look and request/response data Sending HTTP request: WebClient.java
7
7 Chapter 3: Reading Form Data
8
8 Reading Form Data: methods getParameter(“name”), getParameterValues(“name”), getParameterNames() Example: ThreeParams.java and.html Using GET and POST: ShowParametersGetForm.htm, ShowParametersPostForm.htm, & ShowParameters.java A resume posting service: SubmitResume.htm & SubmitResume.java Filtering HTML specific characters: BadCodeServlet.java, FilteredCodeServlet.java
9
9 Chapter 4: Handling HTTP Request Headers
10
10 The request object has a number of methods to enable you to access all the headers of an HTTP request getHeader(), getContentLength(), getContentType(), getHeadersName(), etc. Other methods such as getMethod(), getProtocol(), etc. can access info into the request line Example: ShowRequestHeaders.java
11
11 HTTP 1.1 request headers are case insensitive and include: –Accept (MIME type) –Accept-Encoding, Accept-Language, Accept-Charset –Authorization –Connection –Content-Length –Content-type –From (Email address of the sender- Only sent by web Spiders) –Host, User-Agent, Via, ……etc
12
12 Sending compressed web pages: EncodedPage.java Restricting access to Web page: ProtectedPage.java and PasswordBuilder.java
13
13 Chapter 5: Accessing the Standard CGI Variables
14
14 The standard CGI variables can be accessed using servlets but in many cases we really do not want to do so. Examples: CONTENT_LENGTH, DOCUMENT_ROOT, QUERY_STRING, ETC. Program example: ShowCGIVariables.java
15
15 Chapter 6: Generating the Server Response: HTTP Status Codes
16
16 The status code is usually returned using response.setStatus(int code) There are two other methods sendError(int code, String message) & sendRedirect(String URL) Generally, there is five categories –100-199: Informational –200-299: Request success –300-399: Files moved (usually indicates a location header) –400-499: Client error –500-599: Server error
17
17 Example: Front end to various search engines Files: SearchEngines.java, SearchSpec.java, SearchEngines.html
18
18 Chapter 7: Generating the Server Response: HTTP Response Headers
19
19 Any permitted header can be set by using the method setHeader(String header name, String value); In Servlets 2.2 setHeader() replace existing ones so you can use addHeader() to add new entries of an already existed header Convenient methods setContentType(), setContentLength(), addCookie(), sendRedirect() Some common headers: Connection, Content- Language, Content-Type, Content-Length, Location, Refresh { response.setHeader(“Refresh”, “5”); }
20
20 Persistent Servlet and auto-reloading –Handling multiple simultaneous connections: –Maintaining state between requests or even among various servlets in the same engine using the ServletContext object (getServletContext()) Code: PrimeNumbers.java, PrimeList.java, Primes.java Persistent HTTP connections: PersistentConnection.java & ImageRetriever.java Generating Gif Images: ShadwedText.java & MessageImage.java
21
21 Chapter 8: Handling Cookies
22
22 Steps: –Create a cookie: new Cookie(name. value) –Access attributes: cookie.setXxx(), cookie.getXxx() –Insert it into response header: addCookie(cookie) –Get all cookies: request.getCookies(), returns array of cookies objects –Use getName() and getValue() methods of cookie Examples: setCookies.java & ShowCookies.java Customized search engine: CustomizedSearchEngine.java & SearchEngineFrontEnd.java
23
23 Chapter 10: JSP Scripting Elements
24
24 A very attractive alternative to Servlets specially if the page is mostly static with few dynamic parts Advantages: Widely supported & using JAVA!!! The JSP page is automatically converted to normal Servlet! Three types of JSP constructs –Scripting elements: Java code that will become part of the resultant Servlet –Directives: Control the overall Servlet structure –Actions: Specifying components that control JSP engine
25
25 Scripting Elements: –Expressions: –Scriptlets: {inserted into _jspService method called by the service method} –Declaration: {code inserted outside any existing method Expressions example: Expressions.jsp Scriptlets: in many situations you need more complex behavior than what simple expressions can do Example: BGColor.jsp
26
26 JSP Directives: Contain code that will be inserted in the main body of the resultant Servlet. Ex They are normally used in conjunction with Expressions Example: AccessCounts.jsp Predefines Variables: Simplify JSP code –request: The request object!! –response: The response object!! –out: An object of type JSPWriter which is a child of PrintWriter –application: The ServletContext object
27
27 Chapter 11: JSP Page Directive
28
28 There are three types of directives: –page: import classes, select parent, set content type –include: Insert a file in the Servlet class during JSP file translation –taglib: allow you to define custom markup tags The page directives has a number of case- sensitive attributes. General form: The “import” attribute, ex ImportAttribute.jsp The “contentType” attribue: ex ContentType.jsp to return text/plain. Ex, Excel.jsp to return Excel spread sheet using tabs & ApplesAndOranges.jsp using tables.
29
29 The “isThreadSafe” attribute: default is true otherwise specify false for the SingleThreadModel The “buffer” & “autoflush” attributes The “errorPage” and “isErrorPage” attributes: ex ComputeSpeed.jsp & SpeedError.jsp
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.