jsp pages. what and why of jsp? jsp = java code imbedded in html or xml –static portion of the...
TRANSCRIPT
![Page 1: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/1.jpg)
JSP PagesJSP Pages
![Page 2: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/2.jpg)
What and Why of JSP?What and Why of JSP?
• JSP = Java code imbedded in HTML or XML– Static portion of the page is HTML– Dynamic portion is Java
• Easy way to develop and maintain dynamic web pages and dynamic XML documents
![Page 3: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/3.jpg)
Servlet vs. JSPServlet vs. JSP
Import java.io.*;import javax.servlet.*;import javax.servlet.http.*;publc class HtmlPage extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType(“text/html”); PrintWriter out = response.getWriter(): String name = req.getParameter(“name”); out.Println(“<HTML>”); out.Println(“<HEAD><TITLE>First Servlet</TITLE></HEAD>”); out.Println(“<BODY>”); out.Println(“<H1>Hello “ + name + “</H1>”); out.Println(“</BODY>”); out.Println(“</HTML>”); }}
Servlet Example
![Page 4: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/4.jpg)
Servlet vs. JSP (cont)Servlet vs. JSP (cont)
<HTML><HEAD><TITLE>First Servlet</TITLE></HEAD> <BODY> <% String name = request.getParameter(“name”); %> <H1>Hello <%=name%> </H1> </BODY></HTML>
JSP Example
• Presentation centric• Presentation is separated from content• Easier to code• Better organization of Web application
![Page 5: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/5.jpg)
RecommendationRecommendation
• Use JSP– If presentation changes frequently– Presentation is complex
• Use Servlets– Validation, simple business logic– Simple/small presentation
![Page 6: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/6.jpg)
Anatomy of a JSP PageAnatomy of a JSP Page
• Template (static HTML or XML)
• JSP Elements
• Tag libraries
Element Type JSP Syntax Description
Directives <%@ directive_name%> Controls to define translation into Java code
Scripting <% …………… %> Embed Java code in HTML
Actions <jsp: …………. > JSP-specific tag for Java Beans
![Page 7: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/7.jpg)
HTML (XML) TemplateHTML (XML) Template
<HTML><HEAD><TITLE>First Servlet</TITLE></HEAD> <BODY> <H1>Hello </H1>
</BODY></HTML>
![Page 8: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/8.jpg)
JSP ElementsJSP ElementsDirective Elements
<%@ page info=“HomeDirectBank” %><%@ page import=“java.sql.*, java.math.*” %><%@ page isThreadSafe=“true” %><%@ page errorPage=“/homedirectbank/error.jsp” %>
<HTML><HEAD><TITLE>First Servlet</TITLE></HEAD> <BODY> <%@ include file=“Header.jsp” %>
<H1>Hello World</H1> </BODY></HTML>
![Page 9: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/9.jpg)
JSP ElementsJSP ElementsScripting Elements
<%! private double totalAmount; %>
<HTML><HEAD><TITLE>First Servlet</TITLE></HEAD> <BODY> <H1>Hello World</H1> <% double amount = request.getParameter(“amt”); totalAmount += amount; %>
<P>The total amount is <% =totalAmount %> </P> </BODY></HTML>
Declarations
Scriplet
Expression
![Page 10: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/10.jpg)
JSP ElementsJSP ElementsAction Elements
<HTML><HEAD><TITLE>First Servlet</TITLE></HEAD> <BODY>
<jsp:usebean id=account class=model.Student scope=Session/> <jsp:include page=“/pageHeader” flush=“true” />
<% if (request.getParameter(“amount”) < 0) %> <jsp:forward page=“/errorPage2.jsp” flush=“true” /> <% else %> <jsp:setProperty name=“account” property=“balance” value=“25.32” /> <jsp:include page=“/pageFooter/” flush=“true” /> </BODY></HTML>
Include resource
Forward page
Set value of class variable in Java Bean
![Page 11: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/11.jpg)
Accessing Servlet VariablesAccessing Servlet Variables
• config• request• response• session• out• pageContext• application• page
![Page 12: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/12.jpg)
JSP ElementsJSP ElementsServlet Variables
<HTML><HEAD><TITLE>First Servlet</TITLE></HEAD> <BODY> <H1>Hello World</H1> <br>Date: <% out.print(new java.util.Date()); %>
<% double amount = request.getParameter(“amt”); totalAmount += amount; Double taxRate = (Double) session.getAttribute(“taxRate”); %>
<P>The total amount is <% =totalAmount %> </P> </BODY></HTML>
![Page 13: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/13.jpg)
Simplify JSP DevelopmentSimplify JSP Development
Use Java Beans
Use Tag Libraries
![Page 14: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/14.jpg)
Model/View/Controller
JavaBean
Request object
JSP/Servlets in the EnterpriseJSP/Servlets in the Enterprise
Servlet
JSP page
Database
WebServer
Model One
Architecture
Output
doGet/doPostInput
<<forward>> <<creates>>
<<uses>>
![Page 15: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/15.jpg)
Using Java Beans in JSPUsing Java Beans in JSPModel 1Model 1
<HTML><HEAD><TITLE>JSP Page 2</TITLE></HEAD> <BODY> ….
<jsp:useBean id=“employee” class=“javaBeans.Employee” scope=“request” /> ....
<br>lastname = <jsp:getProperty name=“employee” property=“lastName” /> <br>firstname = <jsp:getProperty name=“employee” property=“firstName” />
<br>lastname = <%= employee.getLastName() %> <br>firstname = <%= employee.getFirstName() %>
…. </BODY></HTML>
Getting values from a java bean
Get Java Bean
Reference Java Bean class variables
![Page 16: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/16.jpg)
Using Java Beans in JSPUsing Java Beans in JSPModel 1Model 1
<HTML><HEAD><TITLE>JSP Page 1</TITLE></HEAD> <BODY> ….
<jsp:useBean id=“customer1” class=“control.Customer” scope=“request”> <jsp:setProperty name=“customer1” property=“lastName” value=“Flintstone” /> <jsp:setProperty name=“customer1” property=“firstName” value=“Wilma” /> <% customer1.setUserid(“flintstonew”); %> <% customer1.setPassword(“dino”); %> </jsp:useBean>
….
<jsp:forward page=”/jspPage2” />”/>
…. </BODY></HTML>
Creating a java bean and setting values in the java bean
CreateJava Bean
Forward request tonext JSP page
![Page 17: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/17.jpg)
Using Java Beans in JSPUsing Java Beans in JSPModel 1Model 1
<HTML><HEAD><TITLE>JSP Page 2</TITLE></HEAD> <BODY> ….
<jsp:useBean id=“customer1” class=“control.Customer” scope=“request” /> ....
<br>Last name = <jsp:getProperty name=“customer1” property=“lastName” /> <br>first name = <jsp:getProperty name=“customer1” property=“firstName” /> <br>Username = <% customer1.getUserid(); %> <br>Password = <% customer1.getPassword(); %>
…. </BODY></HTML>
Getting values from a java bean
Get Java Bean
Reference Java Bean class variables
![Page 18: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/18.jpg)
Tag LibrariesTag Libraries
• Create custom XML tags that you can imbed in JSP pages– Custom commands (i.e., macros)– Java tag handler class defined for each
custom tag– XML tag in JSP Java method called for
tag
![Page 19: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/19.jpg)
Tag TypesTag Types
• XML format– Tag without a body
<rkjTagLib:deptHeader/>
– Tag without a body but with an attribute
<rkjTagLib:table rowcount=5 colcount=3 />
– Tag with body and an attribute
<rkjTagLib:table rowcount=5 colcount=3 > Title of Table </rkjTagLIb:table>
![Page 20: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/20.jpg)
Tag Handler ClassTag Handler Classimport java.io.*;import java.servlet.jsp.*;import java.servlet.jsp.tagext.*;
public class DeptHeader extends TagSupport{ public int doStartTag() { try { JspWriter out = pageContext.getOut(); out.println(“<H2>Information Systems Dept.</H1>”); out.println(“<H3>Brigham Young University-Idaho </H3>”); } catch (IOException ioex) {
…. }
return (SKIP_BODY); }
public int doEndTag() { return(EVAL_PAGE); }}
Inherit TagSupport
Invoked at starting tag
Invoked at ending tag
![Page 21: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/21.jpg)
Tag Library DescriptorTag Library Descriptor<?xml version=“1.0” encoding=“ISO-8859-1” ?><!DOCTYPE taglib PUBLIC “-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN” http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd>
<taglib>
<tlib-version>1.0</tlib-version>> <jspversion>1.2</jspversion> <shortname>homeDirectBank</shortname>
<tag> <name>deptHeader</name> <tagclass>homedirectbank.DeptHeader</tagclass> <bodycontent>EMPTY</bodycontent> <info>Inserts IS department header</info> </tag>
</taglib>
![Page 22: JSP Pages. What and Why of JSP? JSP = Java code imbedded in HTML or XML –Static portion of the page is HTML –Dynamic portion is Java Easy way to develop](https://reader034.vdocument.in/reader034/viewer/2022050809/5697bf911a28abf838c8eac2/html5/thumbnails/22.jpg)
Using Tag in JSP PageUsing Tag in JSP Page<taglib> <tlibversion>1.1</tlibversion> <jspversion>1.2</jspversion> <shortname>homeDirectBank</shortname>
<tag> <name>deptHeader</name> <tagclass>com.taglib.homedirectbank.DeptHeader</tagclass> <bodycontent>EMPTY</bodycontent> <info>Inserts IS department header</info> </tag>
</taglib>
Tag Library Descriptor (homeDrectBank)
<%@ taglib uri=“/homeDirectBank” prefix=“utils”><HTML><HEAD><TITLE>Test Servlet</TITLE></HEAD> <BODY> <utils:deptHeader /> ….. …..</BODY></HTML>
}
JSP Page
import java.io.*;import java.servlet.jsp.*;import java.servlet.jsp.tagext.*;
public class DepHeader extends TagSupport{ public int doStartTag() { try { JspWriter out = pageContext.getOut(); out.println(“<H2>Information Systems Dept.</H1>”); out.println(“<H3>Brigham Young University-Idaho </H3>”); } catch (IOException ioex) {
…. }
return (SKIP_BODY); }
public int doEndTag() { return(EVAL_PAGE); }}
Tag Handler Class
maps
uses