JSP: The Complete. Reference. Phil Hanna. Osborne/McGraw-Hill. New York Chicago San Francisco. Lisbon London Madrid Mexico City. Milan New Delhi San. JSP complete centconmosazy.ga - Ebook download as PDF File .pdf), Text File .txt) or read book online. Complete product environment. Servlet and JSP Programming with IBM WebSphere Studio and VisualAge for Java. Installing the .. Reference information.

Jsp Complete Reference Pdf

Language:English, Japanese, Hindi
Published (Last):17.01.2016
ePub File Size:30.84 MB
PDF File Size:8.64 MB
Distribution:Free* [*Registration needed]
Uploaded by: DENESE

Writing JSP Documents Using XML Syntax. 13 WebLogic JSP Reference. complete reference for the schema for the WebLogic Server-specific. Appendix C. JSP Expression Language Reference. Section C .. The examples include both complete applications, such as an online shopping site, an. The Complete Reference, C++: McGraw-Hill has no responsibility for the content of any information Java T The Complete Idiot''s Guide to Algebra - Yola.

HttpJspBase implements org. A JspWriter called out, corresponding to servlet's PrintWriter, is allocated to write the response message over the network to the client.

Scriptlets form the program logic.

The Java expression is placed inside a out. In other words, the Java expression will be evaluated, and the result of the evaluation written out as part of the response message. Subsequent accesses to the this JSP page will be much faster, because they will be re-directed to the translated and compiled servlet directly no JSP-to-servlet translation and servlet compilation needed again , unless the JSP page has been modified.

They are: request, response, out, session, application, config, and page. It is often used to retrieve the query parameters in the request message. You can use session's attributes to pass information between pages within this session, via methods getAttribute "name" and setAttribute "name", object. You can use the application's attributes to pass information between JSP pages and servlets, via methods getAttribute "name" and setAttribute "name", object.

Servlet servlet, javax. ServletRequest request, javax.

ServletResponse response, java. In a servlet, you need to use out. Pieces of Java codes written by programmer are embedded into the HTML file to perform the business logic. The presentation and business logic can be cleanly separated.

This example displays a form with checkboxes, and echos your selections. The default "action" is the current page i. The JSP scriptlet checks if the query parameter "author" exists. For the first request, "author" parameter is absent.

Once the user fills in and submits the form, "author" will be present in the HTTP request. The values are echoed back to the client in an unordered list. The Java expression will be placed inside a out. Hence, the expression will be evaluated and resultant value printed out as part of the response message.

Any valid Java expression can be used. There is no semi-colon at the end of the expression. Date ; out. The Java codes must be syntactically correct, with Java statements terminated by a semi-colon. That is, scriptlets are safe and secure! These information will be written to the response message's header. The default is "true". Setting to "false" could reduce the server's load, if session tracking is not needed in your application.

You can use include directive to include navigation bar, copyright statement, logo, etc. You can use the taglib directive to tell Tomcat what libraries to load and where they are.

A JSP action may contain sub-action. The syntax is as follows. Tomcat clears the output buffer upon executing a forward action. Rebekah Young. Acknowledgments t would not have been possible to write this book without the collaboration and I support of a number of people.

Most of all. My appreciation to Pierre R. Eleanor and John. After examining the evolution of the Web application. Though partly built of stone. No one can predict future trends with certainty. Web servers. Java technology has proven to be unsurpassed in connectivity.

This book is about JavaServer Pages. But it is safe to say that the degree to which an enterprise can successfully exchange products. Even the Forum Romanum was eventually covered with grass and became il Campo Vaccino —the field of cows. Like the Roman Forum. This technology.

The Internet is becoming the dominant center for the exchange of goods. Two thousand years I ago. It was the place where triumphal marches took place. Static document server model. Web applications. In this environment. Figure Yet today. This chapter briefly traces the origins of the World Wide Web. Web applications are the mainstay of most Internet use—in particular. In five years.

Getting started with JSP by Examples

The first operational model had the Web server simply serving up documents on request. The system was used at CERN and other high-energy physics laboratories and universities in and Growth of the Web Programming Model The idea of using the Web as an application environment developed over time. In Chapter 2: A CGI program is invoked by the Web server in response to certain types of requests. What quickly became apparent is if humans could revise the documents handled by the Web server.

The program reads these parameters and headers. Figure illustrates the process flow. The response is sent back to the requesting Web browser as if it were an ordinary static document.

Interoperating with JSP pages and servlets

Dynamic content generated by a CGI script. Chapter 3 examines HTTP in greater detail. Dynamic applications using servlets. Servlets and Figure These related technologies bring the full power of Java to the Web server.

Considerable incompatibilities occurred between browsers. Because of this. JSP has proved to be a successful server-side technology and an excellent base for developing Web applications. The browser only has to render HTML. As Figure shows. The initial wave of client-side Java in the form of applets was phenomenally popular. The Java plug-in eliminates browser inconsistencies and allows Swing components to be used.

Server-side Java has none of the restrictions of the applet environment. The remainder of this book explores JSP in-depth to demonstrate why this is so. Additional details about the protocol can be found in Appendix C. Being standards. The Web server finds the document and sends it back to the browser.

This set of rules. The key to understanding Web programming is understanding this protocol and the environment in which it operates. If a standard is updated. The chapter presents several examples of Web browsers and servers using this language to communicate. A good. An Internet Encyclopedia http: RFCs are widely available on the Internet.

RFCs are numbered and never change when issued. This makes them unsuitable as tutorials. When you use a Web browser. In doing so. These RFCs are widely accepted by the Internet research and development community. This means in handling a request. The Web server parses the request and locates the specified resource.

Chapter 3: The server closes the connection. A client application. HTTP basic operation.

A key consideration is this model is stateless. Through the connection. Figure illustrates this basic operation. The server writes a copy of the resource to the socket.

URLs that refer to this server must include a colon and the port number immediately after the server name. The Tomcat and JRun servlet engines.

Because this allows more than one server to be running on a single host. Most Web servers provide some means of hiding this alternate syntax by mapping the URLs to a different namespace. The Complete Reference typically requires a great deal of back-and-forth conversation.

The way around this is to have the server assign an identifier to the session represented by a set of client requests. A client. The server host name is extracted from the URL.

This technique is explored in depth in Chapter If the server is running on port instead. In Java terms. The parameters required to open the socket are the Web server host name and the port number. Connecting to the Web Server A Web server operates by listening for requests on a particular well-known port number. An experimental Web server with different capabilities may need to coexist with the main server.

If a Web server listens on a different port. For example. Table The following shows a typical request line: This consists of three tokens. This is the URI of the document or other resource being requested. The server only returns the status line and headers. The HTTP specification defines eight possible methods. The first part is the request line. A request has up to four parts.

These two methods are the only ones considered in this book. In the example of http: For all practical purposes. Of all these methods. The status line consists of up to three tokens: If the URI represents a static document. Similar to a request.

Even if no headers exist. Handling the request means different things depending on the URI. After the last request header is written. Typical request headers might be User-Agent The vendor and version of the client Accept A list of content types the client recognizes Content-Length The number of bytes of data appended to the request A complete list of request and response headers is found in Appendix C.

If the URI is a program name. If data is present. In most cases. Request headers inform the server further about the identity and capabilities of the client. After the request line come any request headers.

This informs the server that no more headers follow. This is a three-digit numeric code that indicates whether the request succeeded or failed and. Just as the client indicates the highest version it can understand.

This indicates the highest level of the HTTP specification the client application understands. After the data is sent. Examples A look at several examples can make this clearer. If you open the URL http: Like request headers.

A simple case of a GET request would be what happens when a URL is typed in a browser address line or a hyperlink is clicked. After the status line comes the response headers.

Java Server-side Programming

The last part of the response is the requested data itself. The Web server returns the following: The Web server simply sends back the resource that was requested in one operation. The Web browser does all this under the covers. Results of a simple HTTP request. This bears repeating. An HTML document may contain references to other resources that need to be loaded when the document is loaded.

The Web browser not the server recognizes these cases and makes additional requests for the other resources. The browser then parses each of the request headers.

The browser reads the HTML. JavaScript files or external style sheets may also be required. The Complete Reference The Web server retrieves the style sheet and returns it to the client: The JSP environment provides robust ways to remedy this.

Understanding these rules is crucial to proper development and troubleshooting. Another key consideration is that both browsers and servers can be replaced by workalike software. Because all they need to do is provide the same HTTP request and response streams a browser and Web server would use.

Important to understand is HTTP is stateless. This chapter provides an overview of how servlets work. It discusses the servlet engine. Programming in this environment. No special client software is required. A run-time environment known as a servlet engine manages servlet loading and unloading.

In the days when the Web was primarily a repository for academic and scientific research. The resulting performance improvement is considerable. This chapter also includes an annotated example of a servlet. This introduces compatibility issues that increase complexity and limit the functionality that applets can provide. Since their introduction in Servlets are Java classes that extend the functionality of a Web server by dynamically generating Web pages.

JSP pages. Servlet Lifecycle Like their client-side applet counterparts. Servlets simplify this situation considerably because they run in a virtual machine in a controlled server environment and require only basic HTTP to communicate with their clients. The servlet engine loads a single instance of the servlet class and dispatches requests to it using a pool of available threads. They offer several key advantages: It examines the primary servlet objects and their API.

The ServletConfig object provides access to the servlet context discussed later in this chapter and to any initialization parameters coded for the servlet. As with applets. The java. To maintain a reference to the servlet context. The engine does the following: If not. After the servlet is loaded. HttpServlet that implement the servlet callback methods. You would write an init method. Applet base class provides default implementations for all these methods. For this reason. Servlet programming.

GenericServlet and javax. The following sections examine each of these lifecycle methods. Chapter 4: This prevents requests from being directed to the servlet. This includes the identity of the remote system. This subclass provides specialized methods corresponding to each HTTP request method: GET requests are handled by doGet. If any errors occur that make the servlet unable to handle requests.

As important as the service method is. ServletResponse response throws ServletException. Rather than extending javax. GenericServlet directly. If not specified. POST requests by doPost. The ServletRequest object is constructed by the servlet engine and acts as a wrapper for information about the client and the request. By default. The Complete Reference Inside the init method.

The signatures for these methods use HTTP-specific versions of the request and response objects: It includes methods for opening an output stream and for specifying the content type and length. The reason for this is most servlets are designed to operate in the HTTP environment. A typical HTTP servlet. Only the servlet engine can do this. By overriding destroy. This may be done to conserve system resources or in preparation for servlet engine shutdown.

The servlet engine notifies each loaded servlet this is about to happen by calling its destroy method. HttpServletResponse response throws ServletException. Servlet interface. This output stream can be obtained from the response object using either its getOutputStream or getWriter methods. Important to note is a servlet must chose one or the other of these methods.

To simplify servlet writing. In our case. IOException Our servlet has no special requirement for startup or termination actions. Before writing any results back to the client. In this case. For convenience. For a simple servlet. To run the servlet. These classes are typically found in a JAR file distributed with the servlet engine. For this to be successful.. We print the table itself in a loop over the desired range of kilometers per liter.

Kilometers per liter to miles per gallon output Servlet Classes This section outlines several important classes from the javax. This means you can write a basic servlet simply by extending GenericServlet and writing a custom service method. Intended for use by administrative tools that need to provide a human-readable description. Methods in the servlet Interface. If init throws an UnavailableException. Method Description void init Called once by the servlet engine after a ServletConfig config servlet is loaded.

This class supplies default implementations of all the interface methods except service. Its primary purpose is to supply the lifecycle methods init. A servlet should provide some way to store the config object to implement the getServletConfig method see GenericServlet.

It prescribes the set of methods that must be implemented by a servlet class for it to be recognized and managed by a servlet engine. The Complete Reference Servlet The basic servlet abstraction is the javax. If no initialization parameters were supplied. Enumeration Returns an Enumeration of all getInitParameterNames the initialization parameters coded for this servlet.

Methods in the GenericServlet Class. String getInitParameter Returns the value of the initialization String name parameter with the specified name. Does so by calling config. String getServletInfo Returns an empty string "". A concession to servlet authors who. Automatically called at the end of init ServletConfig config. Because virtually all servlets operate in the Web server environment. This method is also a pass-through to the corresponding method in ServletContext. Although the servlet API allows for expansion to other protocols.

It also casts the request and response objects used by these methods into their HTTP-specific subclasses. GenericServlet also implements ServletConfig. String getServletName Returns the servlet name as specified in the Web application deployment descriptor web. Response response the request described by the request throws ServletException. Writes an entry and a stack trace to Throwable t the servlet log.

Perhaps one that doesn't service requests at all. This could be used to emulate Windows NT services or Unix daemon processes. That is. Returns request. IOException servlet. IOException the file being uploaded. Methods in the HttpServlet Class. Input parameters. IOException obtaining parameters and input data or returning the response. No different response throws from doGet from the standpoint of ServletException. The request request.

IOException any can be obtained from the request object. IOException objects. Causes request. This is the method that actually directs the request to doGet.

A generic version exists that is protocol-independent and a subinterface exists that is HTTP-specific. HttpServletResponse the request headers to be echoed as response throws response headers.

IOException a servlet will need to override this method because the HttpServlet method already implements the functionality required by the HTTP specification. The latter method is useful in connection with a RequesetDispatcher object. ServletInputStream Returns the binary input stream getInputStream throws associated with this request. Returns an empty Enumeration if no attributes exist.

Enumeration Returns a possibly empty getParameterNames Enumeration of the names of all parameters in this request.

If not known. String[] getParameterValues Returns an array of values for the String name specified input parameter name. Attributes can be those set by the servlet engine or those explicitly added with setAttribute.

String getParameter Returns the specified input parameter. String getCharacterEncoding Returns the character encoding used by this request. String getProtocol Returns the name and version of the protocol used by this request. Enumeration Returns an Enumeration of the getAttributeNames names of all attributes in this request.

String name or null. Useful in the case of parameters that can have multiple values the HTTP checkbox element. Methods in the ServletRequest Class. String getRemoteHost Returns the name of the client host. See String name Chapter 8 for details about request dispatching. Object obj in the request under the specified name. Either this method or getInputStream may be called.

Methods in the ServletRequest Class continued. String getServerName Returns the host name of the server processing the request. Methods in the HttpServletRequest Interface. The name is case-insensitive. Useful for headers that can have multiple values. Cookie[] getCookies Returns an array of the cookies associated with this request.

HttpSession getSession Convenience method that calls getSession true. Principal getPrincipal Returns a java. Methods in the HttpServletRequest Interface continued. String getRemoteUser Returns the name of the remote user. Principal object representing the current user if the user has been authenticated. Table describes the methods available in the generic version.

Because HTTP requires headers to be sent before content. Returns false if not. Like the servlet request. Methods in the ServletResponse Interface. A ServletResponse operates mainly as a wrapper for an output stream. Methods in the HttpServletRequest Interface continued Servlet Response The function of the servlet response object is to convey results generated by a servlet back to the client that made the request.

Unless explicitly set otherwise. Causes an IllegalStateException if the response has already been committed. If any output has already been written.

String getCharacterEncoding Returns the name of the character encoding used for the response. The actual buffer size may be larger and can be obtained by a call to getBufferSize. Writer getWriter throws Returns a character writer that can be IOException used to write text output to be returned to the client. Methods in the ServletResponse Interface continued. Either this method or getOutputStream can be called. Either this method or getWriter can be called.

Locale getLocale Returns the locale used for the response. Unless modified with setLocale. In HTTP servlets. String type this sets the Content-Type header.

The long integer date value should be one suitable for the java. Methods in the HttpServletResponse Interface. Sets a response header with the String value specified name and value. Table describes the methods in HttpServletResponse. Date long time constructor. This allows it. Adds a response header with the int value specified name or replaces all headers void setIntHeader String name.

String msg optionally. Servlet Context A servlet context is an interface supplied by the servlet engine to provide services to a Web application. The servlets in the Web application can use the servlet context to get. Error responses should use sendError instead. HttpServletResponse defines a complete set of integer constants for the valid status values. Object obj objects are global. Method Description Object getAttribute Returns the object bound to the specified String name name in the servlet context or binds an void setAttribute object using the specified name.

The servlet context has a name the name of the Web application it belongs to. Methods in the ServletContext Interface 3 JSP pages have it even easier—a reference to the servlet context is automatically stored in the implicit variable application.

A servlet can get a reference to the servlet context by invoking the getServletContext method on the ServletConfig object that was passed to init. Enumeration Returns an Enumeration of the names getAttributeNames of all attributes stored in the servlet context. If the servlet subclasses GenericServlet directly or indirectly.

Such String name. The path. String getInitParameter Returns the value of the specified String name context-wide initialization parameter. Enumeration Returns a possibly empty Enumeration getInitParameterNames of the names of all the context-wide initialization parameters. Typically based on the file extension. May return null if the MIME type is unknown. Methods in the ServletContext Interface continued. String getServerInfo Returns the name and version number of the servlet engine.

This fact has several implications. Requests serviced by the servlet are run in separate threads. Returns null if no such resource exists. Don't try this at home. If these other methods try to access the servlet request. The first one opens the database connection and stores a reference to it in the con instance variable. Bad things then happen when it tries to use the second connection. The same type of problem with instance variables can occur in servlets that call other methods from within their service method.

The safest approach is simply not to use instance variables. If the first operation finishes and tries to do another database operation. It then uses the connection to perform a table update or some other database operation. This interface. HTML and associated images can be downloaded efficiently.

It may take several requests to build these objects. In each subsequent related request. Between each request. This is similar to booking an airline ticket over the telephone. The ticket agent asks the customer for her name. If they access external resources like files or database connections. Several approaches can be used to solve this problem. No back-and-forth exchange of commands and data occurs.

If image links are in the HTML. Most of them involve maintaining the object itself on the server. This guarantees no two requests handled by the same instance will overlap in their execution of the service method. This requires both the client and server to know about the capability and request it explicitly. If the user clicks a hyperlink in the page. More details about cookies can be found in the RFC specification.

Table lists the methods available in HttpSession. A hashtable-like interface named javax. HttpSession provides a session ID key that a participating client stores and returns on subsequent requests in the same session. The Complete Reference to the customer. Client browsers store cookies and return them automatically to the server each time the browser requests a page from the same domain.

On subsequent requests. If one is overlooked an easy thing to do. Later on. HttpSession has setAttribute and getAttribute methods that store and retrieve objects by name. How can the client be induced to remember and supply the key when required? Several means exist: The servlet engine looks up the appropriates session object and makes it available to the current request. Object value was previously stored.

This is true when the session is first created and the session ID is passed to the client. The integer is in the form used by the java. Date constructor. String getId Returns the session ID. Objects that implement this interface must provide valueBound and valueUnbound methods.

They are managed by a servlet engine. Understanding them is vital to forming the mental model required to develop and debug in the JSP environment. The Complete Reference Summary Java servlets are extensions to a Web server that allow Web content to be created dynamically in response to a client request.

Servlets have key advantages over other server-side programming environments: The API provides two threading models: This chapter provides an overview of JSP as a server-side scripting environment. Java language statements. Only the basics are covered here. It describes the JSP container operations and walks through a complete example. JSP pages have all the advantages of servlets: This source code is typically saved in a work area and is often helpful for debugging. JSP pages have advantages of their own: Because they are servlets.

It exists in a text file with an extension of. If so. In response to an HTTP request. Figure illustrates the process used by the JSP container. When a request for a JSP page is made. Chapter 5: The Complete Reference source has changed since it was last compiled. Kilometers per liter to miles per gallon output from JSP page.

If you invoke this JSP page from a Web browser. To make the JSP-to-servlet relationship clearer. This code will differ greatly. In addition. The code listed here is what was generated by JRun 3. The Complete Reference container is used and the implementation approach it takes. HttpJSPServlet implements allaire. IOException t. IOException throw java. With this backdrop. The Complete Reference return As you see.

The concluding chapter provides a detailed tutorial on JSP custom tags.

The URL by which it is known to the network is the same. In covering this material. In this design. The Complete Reference he purpose of this chapter is to give an overview of the basic components used T in JavaServer Pages. This chapter reviews the JSP development model. The Java source code for a servlet program 3. It then compiles the servlet and creates a. The middle step generating the servlet source code is repeated for later requests only if the. The chapter concludes with an annotated example that illustrates the use of each element.

In this respect. Directives Directives are instructions to the JSP container that describe what code should be generated. The JSP Template data usually HTML is passed through unmodified. These elements have specific start and end tags that identify them to the JSP compiler.

The next three sections provide an overview of each of these directives. Chapter 6: Three types of JSP elements exist: Template data is everything else that is not recognized by the JSP container. JSP elements are instructions to the JSP container about what code to generate and how it should operate. Attribute Value language The language used in scriptlets.

Valid entries are nnnkb or none. It has the following syntax: This list is used to create corresponding import statements in the generated Java servlet. The default value is true. The following packages are automatically included and need not be specified: This must be a class that implements the HttpJspPage interface.

In JSP 1. If the value is true. Attributes of the Page Directive. The default value is 8kb. The JSP specification warns against the use of this attribute without fully understanding its implications..

If false. The default value is false. Specifying true for this attribute makes the exception implicit variable available to this page. In that case. Attributes of the Page Directive continued More than one page directive can be in a file and the attributes specified collectively apply to the whole file. The include Directive The include directive merges the contents of another file at translation time into the.

Chapter 10 covers the page directive in more detail. The taglib Directive The taglib directive makes custom actions available in the current page through the use of a tag library. This is a hidden JSP comment.

Professional JSP 2nd Edition

Chapter 8 examines both approaches in detail. This is included in the generated HTML. Either element can be used to include standard headers and footers or other common text in JSP pages. Comments of this type are passed through unaltered to the response output stream and are included in the generated HTML. This is a time-honored technique for temporarily enabling and disabling parts of a program without making major modifications to the source code. The expression can have any data value. Expressions JSP provides a simple means for accessing the value of a Java variable or other expression and merging that value with the HTML in the page.

If the purpose of a comment is to enlighten the person viewing it. If something goes wrong with the application.. They are invisible in the browser window. This conversion is usually done simply by generating an out. A JSP page may contain any number of scriptlets. Chapter 7 discusses expressions in more detail.

Consider the following JSP page. If multiple scriptlets exist. Scriptlets A scriptlet is a set of one or more Java language statements intended to be used to process an HTTP request. Understanding what code is generated can help you remember not to put a semicolon inside an expression.

The Complete Reference out. Degrees Degrees Fahrenheit Celsius Between the two scriptlets is the HTML markup for a single table row. Declarations Like scriptlets. If you use a declaration section to declare a method that needs to use the request object. Map map. Unlike scriptlets. String title. The Complete Reference Declaration sections can be used to declare class or instance variables.

The following shows an example of a JSP page that uses a declaration section: The desired output for each is a nicely formatted HTML table. Entry imap. Of course. Chapter 8 discusses declarations in greater detail. They can be accessed like any other variable.

These variables are implicitly available inside scriptlets and expressions but not declarations. This object is a central repository for attribute data for the page. Implicit Variables.

Table outlines the syntax. Unlike directives and scripting elements. See Chapter 11 for discussion of this topic.. Implicit Variables continued Additional implicit variables can be created by means of a tag library.

Seven standard actions are available in all JSP These actions are described at length in Chapter Standard Actions. Standard Actions continued. The listing is shown in the following: Chapter 11 is devoted to tag extensions. A Complete Example An example of a JSP page that incorporates all the elements introduced here concludes this chapter. The page is named Echo.

JSP Syntax and Semantics 81 response. The matching brace is supplied by the second scriptlet.Declarations Like scriptlets. One quality the offending members have in common is they consist of a list of several values separated by semicolons. I must confess that I am not sure what I was expecting in these chapters but since JSP Tag Libraries seemed to be one of the Wrox Press continues their time-honored tradional of piling as many authors into one page volume that they can in the hopes that they will end up with a definitive treatment of the subject.

Two thousand years I ago. The safest approach is simply not to use instance variables. Java language statements.

LOIS from Saint Louis
Feel free to read my other posts. I enjoy pehlwani. I fancy reading novels helpfully .