SlideServe
Menu
Préférences
© SlideServe · v2026

Understanding Java Server Pages: Integration Guide

jasmine-kaufman avatar
21 diapositives · 321 Views · Nov 16, 2014

Explore JSP documents, components, and coding practices with JSP Facts, scripting examples, and directive explanations. Learn how JSPs enhance web development by decoupling design from programming and see practical Servlet translations. Uncover Implicit Objects and various JSP actions like include, forward, and useBean. Discover how to access and set bean properties and leverage Custom Tag Libraries for enhanced functionality.

Understanding Java Server Pages: Integration Guide - slide 1
01 / 21Understanding Java Server Pages: Integration Guide
1 / 17

Télécharger la présentation

Understanding Java Server Pages: Integration Guide
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Java Server Pages by Jon Pearce

  2. JSP Documents • JSP docs are XHTML Documents containing: • Fixed-Template Data: FTD • HTML Components • XML markup • JSP Components: <JSP>

  3. demo.jsp <?xml version = 1.0?><!DOCTYPE html PUBLIC ".../xhtml1-strict.dtd"><html xmlns = "http://www.w3.org/1999/xhtml"><head> <title> Demo </title> </head><body>FTD <JSP>FTD <JSP> FTD <JSP>...</body></html>

  4. JSP Components <JSP> • Scriptlets <%, <%--, <%=, <%! ... %> • Directives <%@ directive %> • Actions <jsp: action> ... </jsp:action> <myNS:action> ... </myNS:action>

  5. JSP Facts • The container compiles a JSP to a servlet the first time it is served. • Use JSPs when ratio of FTD to Dynamic Content is high • JSPs decouple design from programming • JSP = HTML containing Java • Servlet = Java containing HTML • JSPs replace views

  6. JSP Compilation

  7. Scriptlets • <% (partial) statement %> • <%-- comment --%> • <%! declaration %> • <%= expression %>

  8. Examples of Scripting Components • <%! int counter = 0; %> • counter = <%= counter++ %> • <% if (counter > 5) { counter = 0; } %>HTML<% else { counter++; } %>ALTERNATIVE HTML • <%-- don't read this --%>

  9. Implicit Objects • Application Scope • application • Session Scope • session • Request Scope • request • Page Scope • response, out, page, pageContext

  10. Example <% String name = request.getParameter("name"); if (name != null) {%> <p> Hello <%= name %> </p><% } else {%> <p> Hello John Doe </p><% } %>

  11. javax.servlet.jsp

  12. The JSP to Servlet Translation public class MyJSP implements HttpJspPage { // ... public void _jspService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { JspFactory factory = JspFactory.getDefaultFactory(); PageContext pageContext = factory.getPageContext(...); HttpSession session = pageContext.getSession(); JspWriter out = pageContext.getOut(); Object page = this; try { // body of translated JSP goes here ... } catch (Exception e) { out.clear(); pageContext.handlePageException(e); } finally { out.close(); factory.releasePageContext(pageContext); } }}

  13. Examples • clock.jsp <%= new java.util.Date() %> • scriptTest.jsp Pallindrome Tester • beanTest.jsp various counters • personView.jsp

  14. Standard Actions • <jsp:action> ... </jsp:action> • include • forward • plugin • param • useBean • setProperty • getProperty

  15. Directives • <%@ include ... %> • <%@ taglib ... %> • <%@ page ... %> <%@ page errorPage = "foo.jsp" %> <%@ page session = "true" %> <%@ page language = "java" %> <%@ page extends = "java.awt.Frame" %> <%@ page import = "java.util.*" %>

  16. Include Directive • <%@ include file = "banner.html" %>

  17. Include Directive vs. Action • <jsp:include page = "foo.jsp" flush = "true" /> • foo.html included after each change • <%@ include file = "foo.jsp" %> • foo.html included once at compile time • Static (html) or dynamic (jsp) files can be included

  18. forward • <jsp:forward page = "foo.jsp"> <jsp:param name = "date" value = "<%= new Date() %>" /></jsp:forward>

  19. useBean • <jsp:useBean id="cart" scope="session" class = "CartBean" /> • Accessing Bean Properties <%= cart.getTotal() %> <jsp:getProperty name = "cart" property = "total" /> • Setting Bean Properties <% cart.setTotal(200); %> <jsp:setProperty name = "cart" property = "total" value = "200" />

  20. Example <jsp:useBean id = "helper" scope = "session" class = "ViewHelper" /> <% String command = request.getParameter("cmmd");String content = helper.execute(command);%> <p> result = <%= content %> </p>

  21. Custom Tag Libraries