Presentation is loading. Please wait.

Presentation is loading. Please wait.

Web Technologies Java Beans & JSP

Similar presentations


Presentation on theme: "Web Technologies Java Beans & JSP"— Presentation transcript:

1 Web Technologies Java Beans & JSP
July 29, 2019 Web Technologies Java Beans & JSP

2 Java Beans What Are Beans? Beans are standard java objects.
July 29, 2019 What Are Beans? Beans are standard java objects. Must have a zero-arguments constructor. Should have no public fields. Values should be accessed through method calls, getXxx, setXxx & isXxx.

3 Java Bean (example) public class Person { private int age;
July 29, 2019 public class Person { private int age; private String name; … … … public void setAge(int age){ this.age = age; } public void setName(String name){ this.name = name; public int getAge(){ return this.age; public String getName(){ return this.name;

4 Java Server Pages Overview of JSP Technology JSP Scripting Elements
July 29, 2019 Overview of JSP Technology JSP Scripting Elements JSP Page Directives

5 Overview of JSP Technology
July 29, 2019 What is JSP The need for JSP The benefits of JSP Advantages over other technologies Location of JSP pages

6 What is JSP Servlets – HTML in java code JSP – java code in HTML
July 29, 2019 Servlets – HTML in java code JSP – java code in HTML <HTML> <HEAD><TITLE>Java Server Pages</TITLE></HEAD> <BODY> <H1>JSP</H1> <%= “Java Server Pages.” %> <HR> </BODY> </HTML>

7 JSP Lifecycle JSP to Servlet Translation Servlet Compiled Servlet
July 29, 2019 JSP to Servlet Translation Servlet Compiled Servlet Loaded jspInit() called _jspService() called

8 The need for JSP With servlets It is hard to write and maintain HTML
July 29, 2019 With servlets It is hard to write and maintain HTML Cannot use standard HTML tools HTML is inaccessible to non-java developers

9 The benefits of JSP Easier to write and maintain HTML
July 29, 2019 Easier to write and maintain HTML Can use standard HTML tools Can divide up development team

10 Advantages The Java advantage Extensive API Easy to learn
July 29, 2019 The Java advantage Extensive API Easy to learn Big development community Standardization & server support

11 Location of JSP pages July 29, 2019 Unlike servlets, JSP pages can be located in any of the locations where HTML files can be put.

12 JSP Scripting Elements
July 29, 2019 JSP scripting elements enable us to insert java code into JSP files. There are three types – Expressions <%= Java Expression %> Scriptlets <% Java Code %> Declarations <%! Field/Method %>

13 JSP Expressions July 29, 2019 A JSP expression is used to insert java code directly into the output. Have the following form <%= Expression %> Eg: Current Time: <%= new java.util.Date() %> Op: Current Time: Tue Aug 22 21:05:47 IST 2006 The expression is evaluated, converted to string and inserted into the page.

14 Predefined Variables July 29, 2019 To simplify expressions, JSP provides a number of predefined variables (implicit objects). request – the HttpServletRequest response – the HttpServletResponse session – the HttpSession out – the Writer (buffered version of type JspWriter) application – the ServletContext config – the ServletConfig pageContext – introduced to give single point of access to page attributes page – synonym for “this”

15 JSP Scriptlets July 29, 2019 To something more than just output the value of a simple expression. Allows the programmer to insert arbitrary code into the servlets _jspService method. Have the following form: <% Java Code %> Eg: <% String str = request.getParameter(“name”); out.print(“Name : ”+str); %>

16 JSP Declarations Have the following form:
July 29, 2019 JSP declarations lets the programmer define methods or fields that get inserted into the main body of the generated servlet (outside the _jspService() method) Have the following form: <%! Field/Method definition %> Eg: <%! private String getMessage(){ return “This is a simple message!!”; } %> <%= getMessage() %>

17 XML Syntax XML like syntax for JSP expression, scriptlet & declaration
July 29, 2019 XML like syntax for JSP expression, scriptlet & declaration <jsp:expression>…</jsp:expression> <jsp:scriptlet>…</jsp:scriptlet> <jsp:declaration>…</jsp:declaration> Supported by JSP versio 1.2 & above These are case sensitive, should be in lowercase

18 JSP Directives July 29, 2019 A JSP directive affects the overall structure of the servlet that results from the JSP page. A JSP directive has the form: directive attribute=“value” … … %> There are three types: page, include & taglib

19 JSP Page Directive July 29, 2019 The page directive controls the structure of the servlet by importing classes, customizing the superclass, changing content type, etc. The JSP Page directive has the following attributes: import, contentType, pageEncoding, session,isELIgnored, buffer, autoFlush, info, errorPage, isThreadSafe, language & extends

20 JSP Page Directive Attributes
July 29, 2019 import=“java.util.*, java.sql.*” contentType=“text/html; charset=ISO ” pageEncoding=“Shift_JIS” session=“true/false” isELIgnored=“false/true” buffer=“size in kb” autoFlush=“true/false” info=“Some info message.” errorPage=“error.jsp” isErrorPage=“false/true” isThreadSafe=“true/false” language=“java” extends=“package.class” org.apache.jasper.runtime.HttpJspBase javax.servlet.jsp.HttpJspPage

21 Including Files There are three ways of including external files into a JSP document. <jsp:include …>… include …> <jsp:plugin …>…

22 The jsp:include Action
This includes the output of a secondary page at the time the main page is requested. The output of the sub page must be HTML generated by a servlet or JSP. <jsp:include page=“/inc/header.jsp” flush=“true” /> <jsp:include page=“/inc/header.jsp” flush=“true”> <jsp:param name=“paramName” value=“xyz”> </jsp:include>

23 The Include Directive This includes directive is used to include a file in the main JSP at the time of translation into a servlet. The code of the included file is added to that of the JSP document. include page=“/inc/header.jsp” %>

24 Forwarding Requests This action is used to get the output of a JSP file completely from another JSP or servlet. The output of the auxiliary JSP or servlet is sent to the client, not that of the current JSP. <jsp:forward page=“xyz.jsp” />

25 The jsp:plugin Action Used to embed a java applet into the generated output. Java applets are rarely used in web pages now a days. <jsp:plugin type=“applet” code=“MyApplet.class” width=“400” height=“300”> </jsp:plugin>

26 jsp:plugin Attributes
July 29, 2019 type=“applet” bean can also be used. Code=“MyApplet.class” width=“…” height=“…” codebase=“base directory for the applet” align=“…” laet, right, top, bottom or middle hspace=“…” vspace=“…” archive=“specify JAR file” title=“Title for the Applet” jreversion=“1.2” iepluginurl=“…” nspluginurl=“…”

27 jsp:plugin Parameters & Fallback
July 29, 2019 <jsp:plugin type=“applet” code=“MyApplet.class” width=“400” height=“300”> <jsp:params> <jsp:param name=“P1” value=“xyz” /> <jsp:param name=“P2” value=“abc” /> </jsp:params> <jsp:fallback> <b>Java Plugin needed.</b> </jsp:fallback> </jsp:plugin>

28 Using Java Beans & JSP July 29, 2019 There are three main constructs to use Java Beans in JSP. <jsp:useBean ……… /> <jsp:getProperty ……… /> <jsp:setProperty ……… />

29 jsp:useBean Used to load a bean to be used in the JSP document.
July 29, 2019 Used to load a bean to be used in the JSP document. Syntax: <jsp:useBean id=“name” class=“package.Class” /> Eg: <jsp:useBean id=“person” class=“iiitmk.Person” /> Equivalent to: <% iiitmk.Person person = new iiitmk.Person(); %>

30 Getting bean properties
July 29, 2019 Used to read properties from beans. Syntax: <jsp:getProperty id=“name” property=“propName” /> Eg: <jsp:getProperty id=“person” property=“name” /> Equivalent to: <%= person.getName() %>

31 Setting bean properties
July 29, 2019 Used to set properties of beans. Syntax: <jsp:setProperty id=“name” property=“propName” value=“propValue” /> Eg: <jsp:setProperty id=“person” property=“name” value=“Popeye The Sailor” /> Equivalent to: <% person.setName(“Popeye The Sailor”); %>

32 Properties & Request Parameters
July 29, 2019 The value of a bean property can be set directly from the value of the corresponding request parameter. Syntax: <jsp:setProperty id=“name” property=“propName” param=“propName” /> Eg: <jsp:setProperty id=“person” property=“name” param=“name” /> <jsp:setProperty id=“person” property=“*” />

33 Sharing Beans (scope) July 29, 2019 The scope of a bean defines where the bean is stored and how it is accessible. By default it is accessible as a local variable. Other places of storing beans are the request, session and application. Syntax: <jsp:useBean … … … scope=“…” /> Scopes: page, request, session & application

34 Page Scope July 29, 2019 The default scope of a bean. Bean is bound to a local variable in the _jspService method and also placed in the pageContext predefined variable, accessible by calling getAttribute() method. Syntax: <jsp:useBean … … … scope=“page” /> <jsp:useBean … … … />

35 Request Scope July 29, 2019 In addition to being bound to a local variable, the bean is also placed in the HttpServletRequest object (request) for the duration of the current request. Accessible by getAttribute() method. Syntax: <jsp:useBean … … … scope=“request” />

36 Session Scope July 29, 2019 In addition to being bound to a local variable, the bean is also placed in the HttpSession object (session). Accessible by getAttribute() method. Syntax: <jsp:useBean … … … scope=“session” />

37 Application Scope July 29, 2019 In addition to being bound to a local variable, the bean is also placed in the ServletContext object (application). The servlet context is shared by all the JSP and servlets in the webapplication. Accessible by getAttribute() method. Syntax: <jsp:useBean … … … scope=“application” />

38 July 29, 2019 Questions ?


Download ppt "Web Technologies Java Beans & JSP"

Similar presentations


Ads by Google