1 / 29

Creating the Web Tier: JavaServer Pages

Creating the Web Tier: JavaServer Pages. Objectives. After completing this lesson, you should be able to do the following: Compare servlets and JavaServer Pages (JSP) Build a simple JSP Describe the JSP life cycle List the basic JSP elements

aliciamoser
Download Presentation

Creating the Web Tier: JavaServer Pages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Creating the Web Tier: JavaServer Pages

  2. Objectives • After completing this lesson, you should be able to do the following: • Compare servlets and JavaServer Pages (JSP) • Build a simple JSP • Describe the JSP life cycle • List the basic JSP elements • Develop JSPs with declarations, expressions, and scriptlets • List implicit objects • Use JavaBeans with JSP

  3. JavaServer Pages Connects to Request JSP Database Client Generates Dynamic content Response EJB

  4. Comparing Servlets and JSPs • JavaServer Pages: • Are HTML pages with embedded Java code or they can be pure XML • Generate dynamic content • Separate static and dynamic content • Servlets: • Are Java programs with embedded HTML • Generate dynamic content • Do not separate static and dynamic content

  5. Invoking JSPs HTML Invoke JSP Servlet JSP

  6. The Date JSP <%@ page contentType="text/html;charset=WINDOWS-1252"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-1252"> <title> Show Date </title> </head> <body> <h2> The current time is: </h2> <p> <%= new java.util.Date() %> </p> </body> </html>

  7. The Date Servlet ...public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>Show Date</title></head><body><h2>The current time is:</h2><p>"); out.println(new java.util.Date()); out.println("</body></html>"); out.close(); }...

  8. Automated JSP Features • A JSP is automatically converted into a servlet the first time it is invoked: • Java source files are generated. • Java class files are generated. • The Java Just-In-Time compiler can be used. • A JSP can contain extensible components: • Tags: Libraries such as OC4J JSP (OJSP) or custom-developed tags. • JavaBeans (Beans are reused and their properties are automatically introspected.)

  9. JSP Life Cycle J2EE container Yes Firsttime OC4J 1 Create servlet date.java http://host/date.jsp No 2 Compile servlet date.class 3 Servlet life cycle

  10. Basic JSP Elements • A JSP contains three main elements: • Text elements • Directives • Scripting elements • Declarations • Expressions • Scriptlets

  11. Declarations • Are used to define methods or variables • Begin with the sequence <%! • End with the sequence %> • Are inserted into the body of the servlet class during translation • Are used in conjunction with expressions or scriptlets <%! private int i=3; %> <%! private String a="Hello", b=" World"; %>

  12. Expressions • Begin with the sequence <%= • Contain Java expressions that are evaluated and inserted into the servlet’s output • End with the sequence %> • Do not end with a semicolon <%= i+1 %> <%= a + b %> <%= new java.util.Date() %> 1 2

  13. Scriptlets • Begin with the sequence <% • Contain a block of Java code that is executed every time a request is made • End with the sequence %> <% if (i<3) out.print("i<3"); if (i==3) out.print("i==3"); else out.print("i>3");%>

  14. Implicit Objects • There are eight implicit objects, also known as predefined variables, in JSP: • request • response • session • out • application • config • pageContext • page

  15. Example

  16. Directives • Are used to set global values such as class declaration, method implementations, and so on • Begin with the sequence <%@ • End with the sequence %> • Are of the following types: • page • include • taglib

  17. include: Example

  18. page Directive • You can define the following attributes by using the page directive: • import • contentType • isThreadSafe • session • buffer • autoflush • extends • info • errorPage • isErrorPage • language

  19. JSP and JavaBeans package lesson08; import java.lang.*; import java.util.*; public class LuckyNumberBean { private int luckyNum; public LuckyNumberBean() { luckyNum = (int) (1000 * Math.random()); } public int getLuckyNum() { return luckyNum; } public void setLuckyNum(int luckyNum) { this.luckyNum = luckyNum; } }

  20. Using JavaBeans with JSP • Accessing JavaBeans with the <jsp:useBean> tag: <jsp:useBean id="myBean" scope="session" class="lesson08.LuckyNumberBean" />

  21. scope Attribute of <jsp:useBean> Tag Client Request Response Request Response Forward Page 1 Page 3 Page 2 page scope page scope page scope request scope request scope session scope

  22. Accessing and Setting Bean Property • Accessing bean property: • Setting bean property: <jsp:getProperty name="myBean" property=“luckyNum" /> <jsp:setProperty name="myBean" property=“luckyNum" value="10" />

  23. JSP XML Document • Contains <jsp:root> as its root element • Includes only XML syntax and does not include the traditional JSP tags • Can be processed directly by the JSP container • Can be used with XML development tools

  24. Traditional Syntax Versus XML Syntax • Traditional: XML: • No root element • page directive<%@ page %> • Declaration tag<%! %> • Expression tag<%= expression %> • Scriptlet<% %> • <jsp:root> is the root element • <jsp:directive.page /> • <jsp:declaration></jsp:declaration> • <jsp:expression></jsp:expression> • <jsp:scriptlet></jsp:scriptlet>

  25. JDeveloper and JSPs • Use the JSP Wizard in JDeveloper to create JSPs containing skeleton code. • The structure pane helps to ensure that the JSP and HTML tags are properly formatted. • Tag Insight automatically inserts end tags after starting a scriptlet. • JSP code is automatically created and recompiled. • JDeveloper increases productivity while debugging JSPs: • Automatically includes source Java files such as your JavaBean source • Enables you to set breakpoints and watch expressions in JSPs

  26. Creating JSPs Visually

  27. JSP Tag Insight

  28. Summary • In this lesson, you should have learned how to: • Differentiate between servlets and JSPs • Build a simple JSP • Describe the JSP life cycle • Use JSP elements and implicit objects • Develop JSPs with declarations, expressions, and scriptlets • Use JavaBeans with JSP

  29. Practices 8-1, 8-2, and 8-3: Overview • These practices cover the following topics: • Creating a JSP that counts the occurrence of each character in a given string • Using JavaBean to calculate an equal discount on the total amount of purchase • Creating a JSP that displays product_id, product_name, and price in the form of a table

More Related