* To put dynamic data into a Web document with Java statements embedded in special HTML tags.
* The embedded Java statements will be executed by the JSP enabled Web server, not by the Web browser.
* There are two key processes involved in serving a JSP page:
- Compilation: A JSP page must be compiled into a Java Servlet class, before it can be executed. The server can compile a JSP page in real-time when the page is requested for the first time, if the page is not pre-compiled.
- Execution: When a JSP page is requested, its compiled class will be executed on the server. The server will send back the output of the execution, not the content of the JSP page.
* Example for hello.jsp: What happened here was that Tomcat, the JSP Web server, has translated hello.jsp into hello_jsp.java, and compiled it to hello_jsp.class.
* The Java file, hello_jsp.java, shows that:
- hello_jsp is a sub class of org.apache.jasper.runtime.HttpJspBase, which is a sub class of javax.servlet.http.HttpServlet.
- The important method in hello_jsp is _jspService() with two objects listed as parameters: one represents the Servlet request, and the other represents the Servlet response.
- The static content of hello.jsp is translated into out.write() statements.
- The embedded Java statement in hello.jsp is copied directly.
* JSP page is served by the JSP Web server by executing the JSP Servlet Java class translated from the JSP page.
* Java statements embedded in JSP pages will translated into _jspService() method of a special Servlet class.
* pre-defined objects ready for the embedded Java statements:
- out: The output stream to collect dynamic data to be mixed into the final Web document.
- this: The instance of the special Servlet class.
- request: An HttpServletRequest object representing the request received from the Web browser.
- response: An HttpServletResponse object representing the response to be delivered back to the Web browser.
- session: An HttpSession object representing the concept of linking multiple trips of requests and response into a single process unit.
- application: A ServletContext object representing the concept of grouping Servlets into a single application.
* A new session will be established, if this JSP page is requested for the first time. Subsequent requests will share the same session.
* session: A object provided by the JSP server to hold information and methods common to all JSP pages running under one session. The session object must be an instance of a class that implements the javax.servlet.http.HttpSession interface defined by the J2EE specification.
* Reference
- JavaServer Pages (JSP)
- Execution Context
沒有留言:
張貼留言