Jsp Training Tutorial

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Jsp Training Tutorial as PDF for free.

More details

  • Words: 2,693
  • Pages: 22
Introduction to JSP.....................................................................................................................................2 What is jsp?............................................................................................................................................2 Why use JSP?.........................................................................................................................................2 JSP Architecture.........................................................................................................................................3 Steps required for a JSP request:............................................................................................................3 Setting up the JSP environment.............................................................................................................5 Using JSP tags ...........................................................................................................................................5 Declaration tag ( <%! %> ) ..................................................................................................................6 Expression tag ( <%= %>) ..................................................................................................................6 Directive tag ( <%@ directive ... %>)...................................................................................................6 Scriptlet tag ( <% ... %> ) .....................................................................................................................7 Example using scripting elements and Directive...................................................................................8 Implicit objects...........................................................................................................................................9 Actions.......................................................................................................................................................9 include....................................................................................................................................................9 UseBean...............................................................................................................................................10 Forward................................................................................................................................................11 Accessing database from JSP...................................................................................................................11 JSP Cookies Example...............................................................................................................................14 Working with jsp session.........................................................................................................................14 Comments and Character Quoting Conventions......................................................................................15 Jsp Expression Language ........................................................................................................................15 JSP Scopes................................................................................................................................................16 Page......................................................................................................................................................16 Request ................................................................................................................................................16 Application...........................................................................................................................................17 Example...................................................................................................................................................17 Custom error page....................................................................................................................................21 Agenda Introduction to JSP JSP Architecture Using jsp tags JSP Scriptlets JSP Directives The JSP page Directive The JSP include Directive JSP Declarations Example Using Scripting Elements and Directives Implicit Objects ● request ● response ● out ● application ● session ● config ● pageContext ● page Actions ● The jsp:include Action ● The jsp:useBean Action

The jsp:setProperty Action The jsp:getProperty Action The jsp:forward Action Accessing database from JSP JSP Cookies Example Working with JSP Sessions Comments and Character Quoting Conventions CaseStudy-How to Design a OOPS Application Hands-On Session ● ● ●

Introduction to JSP

What is jsp? JavaServer Pages (JSP) technology is the Java platform technology provides a way to dynamically generated web pages and simplifies the process of developing web-based applications. Jsp is based on java , Object Oriented Language. Jsp files are HTML files with special tag containing java source code that provides the dynamic content. JSP become a servlet.A servlet don't create. The container looks at your jsp , translates it into source code, and compiles it into a java servlet class.

Why use JSP? JSP is easy to learn and allows developers to quickly produce web sites and applications in an open and standard way. JSP is based on Java,an object-oriented language. JSP offers a robust platform for web development. Main reasons to use JSP: ➢ Multi platform ➢ Component reuse by using Javabeans and EJB. ➢ Advantages of Java. ➢ You can take one JSP file and move it to another platform,web server or JSP Servlet engine.

JSP Architecture

Steps required for a JSP request: 1. The user goes to a web site made using JSP. The user goes to a JSP page (ending with .jsp). The web browser makes the request via the Internet. 2. The JSP request gets sent to the Web server. 3. The Web server recognises that the file required is special (.jsp),therefore passes the JSP file to the JSP Servlet Engine. 4. If the JSP file has been called the first time,the JSP file is parsed,otherwise go to step 7. 5. The next step is to generate a special Servlet from the JSP file. All the HTML required is converted to println statements. 6. The Servlet source code is compiled into a class. 7. The Servlet is instantiated,calling the init and service methods. 8. HTML from the Servlet output is sent via the Internet. 9. HTML results are displayed on the user's web browser.

Setting up the JSP environment Before setting up the JSP environment,you must make sure you have the JDK. Download the latest JDK Set PATH & CLASSPATH Download Tomcat Set the TOMCAT_HOME Example: Set PATH=Installation directory of the java Set CLASSPATH=set the java library files (jre&lib) Set TOMCAT_HOME=installation directory of the Tomcat

Using JSP tags There are five main tags: 1. 2. 3. 4. 5.

Declaration tag Expression tag Directive tag Scriptlet tag Action tag

Declaration tag ( <%! %> ) This tag allows the developer to declare variables or methods. Before the declaration you must have <%! At the end of the declaration,the developer must have %> Code placed in this tag must end in a semicolon ( ; ). Declarations do not generate output so are used with JSP expressions or scriptlets. For Example, <%! private int counter = 0 ; private String get Account ( int accountNo) ; %>

Expression tag ( <%= %>) This tag allows the developer to embed any Java expression and is short for out.println(). A semicolon ( ; ) does not appear at the end of the code inside the tag. For example,to show the current date and time. Date : <%= new java.util.Date() %> Note: Never end an expression with a semicolon.

Directive tag ( <%@ directive ... %>) In the directives we can import packages, define error handling pages or the session information of the JSP page. A JSP directive gives special instructions to the container at page translation time.A JSP declaration is always defined inside the class but outside the service method.Declarations are for static,instance variable and method.Variables and functions defined in the declaratives are class level and can be used anywhere in the JSP page. There are three main types of directives: 1) page - processing information for this page.

2) Include - files to be included. 3)Tag library - tag library to be used in this page. Package foo; public class Counter{ public static int count; public static int getCount() { count++; return count; } } Wrong <% out.println(Counter.getCount()); %> should be <% out.println(foo.Counter.getCount()); %>

To import a single package: <%@ page import=”foo.*” %> the page count is <% out.println(counter.getCount()); %>

To import multiple packages <%@ page import=”foo.*,java.util.*” %> -- use comma to seperate the package.

Scriptlet tag ( <% ... %> ) In this tag we can insert any amount of valid java code and these codes are placed in _jspService method by the JSP engine. Syntax of JSP directives is:

<%@directive attribute="value" %> Where directive may be: 1. page: page is used to provide the information about it. Example: <%@page language="java" %> 2. include: include is used to include a file in the JSP page. Example: <%@ include file="/header.jsp" %> 3. taglib: taglib is used to use the custom tags in the JSP pages (custom tags allows us to defined our own tags).

Example: <%@ taglib uri="tlds/taglib.tld" prefix="mytag" %> and attribute may be: 1. language="java" This tells the server that the page is using the java language. Current JSP specification supports only java language. Example: <%@page language="java" %> 2. extends="mypackage.myclass" This attribute is used when we want to extend any class. We can use comma(,) to import more than one packages. Example: <%@page language="java" import="java.sql.*,mypackage.myclass" %> 3. session="true" When this value is true session data is available to the JSP page otherwise not. By default this value is true. Example: <%@page language="java" session="true" %> 4. errorPage="error.jsp" errorPage is used to handle the un-handled exceptions in the page. Example: <%@page language="java" session="true" errorPage="error.jsp" %> 5. contentType="text/html;charset=ISO-8859-1" Use this attribute to set the mime type and character set of the JSP. Example: <%@page language="java" session="true" contentType="text/html;charset=ISO8859-1" %>

Example using scripting elements and Directive <%@ page language="java" %> test page <%! int cnt=0; private int getCount() { cnt++; System.out.println("count========="+cnt); return cnt; } %> <%

String name=request.getParameter("username"); out.println("name========="+name);

%>

the page count is now: <%=getCount()%>

Name


Implicit objects Object

Class or Interface

Description

page

jsp.HttpJspPage

Page's servlet instance

config

ServletConfig

Servlet configuration information

pageContext

jsp.pageContext

Provides access to all the namespaces associated with a JSP page and access to several page attributes

request

http.HttpServletRequest

Data included with the HTTP Request

response

http.HttpServletResponse

HTTP Response data, e.g. cookies

out

jsp.JspWriter

Output stream for page context

session

http.HttpSession

User specific session data

application

ServletContext

Data shared by all application pages

Actions Action tag is used to transfer the control between pages and is also used to enable the use of server side JavaBeans The three that will be discussed here are: • • •

include forward useBean

include Static resources should always be included using the JSP include directive.This is the compile time include. Do note that you should always supply a relative URL for the file attribute.

Difference between directive include and jsp include <%@ include> : Used to include static resources during translation time. jsp:include Used to include dynamic content or static content during runtime. Syntax or <%@ include file="copyright.html" %> <jsp:include path=”path”/>

UseBean JavaBeans are Java utility classes you defined. Beans have a standard format for Java classes. You use tags to declare a bean and use to set value of the bean class and use to get value of the bean class. bean.java package jsplearning; public class bean { public String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } } bean.jsp <%@ page language="java" %> <jsp:useBean id="beanname" class="jsplearning.bean" scope="page"> <jsp:setProperty name="beanname" property="username" value="deepa"/>

name=<jsp:getProperty name="beanname" property="username"/>

get the user input bean.java package jsplearning; public class bean { public String username;

public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } } bean.jsp <%@ page language="java" %> <jsp:useBean id="beanname" class="jsplearning.bean" scope="page"> <jsp:setProperty name="beanname" property="username"/>

name=<jsp:getProperty name="beanname" property="username"/>



Forward It forwards the current request to another page. Syxtax: <jsp:forward page=”url”> <jsp:param----/> You can also use the: <jsp:forward page="/newpage.jsp" /> Also note that you can only use this before any output has been sent to the client. I beleve this is the case with the response.sendRedirect() method as well. If you want to pass any paramateres then you can pass using <jsp:forward page="/servlet/login"> <jsp:param name="username" value="jsmith" /> >

Accessing database from JSP <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@ page language="Java" import="java.sql.*" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> <jsp:useBean id="sampl" class="hello.mysql" scope="session"/> <jsp:setProperty name="sampl" property="employid"/>

Emp ID:






<% sampl.setConnection(); String emplyoid = request.getParameter("employid"); if (emplyoid != null) { out.println("id="+ sampl.getEmployid()); sampl.insert1(); } %>

_______________________________ mysql.java ___________ package hello; import java.sql.*; import javax.servlet.http.*; public class mysql { public public public public

String employid; Connection con; ResultSet rs=null; PreparedStatement st=null;

public mysql() { } public void setConnection() { try { Class.forName("org.gjt.mm.mysql.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost/mysql", "root", ""); } catch(Exception e) { System.out.println("error="+e.getMessage()); } } public void setEmployid(String id) { employid=id; } public String getEmployid() { return employid; } public void insert1() { try{

String s1="insert into samp(employid) values('"+employid+"')"; System.out.println("s1="+s1); st=con.prepareStatement(s1); st.executeUpdate(); } catch(Exception e) { System.out.println("error="+e.getMessage()); } /* try {

String s1="insert into samp(emplyid) values('"+employid+"')"; System.out.println("s1="+s1); st=con.prepareStatement(s1); st.executeUpdate();

} catch(Exception e)

{ */

System.out.println("error="+e.getMessage());

}

} } <%@ page import="java.sql.*" %> <% Connection ocon = null; Class.forName("org.gjt.mm.mysql.Driver"); ocon = DriverManager.getConnection("jdbc:mysql://localhost/mysql", "root", ""); ResultSet rst=null; Statement stmt=null; stmt=ocon.createStatement(); rst=stmt.executeQuery("select * from user "); while(rst.next()){ out.println(rst.getString(2)); } %>

JSP Cookies Example Working with jsp session

Comments and Character Quoting Conventions There are a small number of special constructs you can use in various cases to insert comments or characters that would otherwise be treated specially. Here's a summary: Syntax Purpose A JSP comment. Ignored by JSP-to-scriptlet translator. Any <%-- comment --%> embedded JSP scripting elements, directives, or actions are ignored. An HTML comment. Passed through to resultant HTML. Any embedded JSP scripting elements, directives, or actions are executed normally. <\% Used in template text (static HTML) where you really want "<%". %\>

\'

\"

%\> <\%

Used in scripting elements where you really want "%>". A single quote in an attribute that uses single quotes. Remember, however, that you can use either single or double quotes, and the other type of quote will then be a regular character. A double quote in an attribute that uses double quotes. Remember, however, that you can use either single or double quotes, and the other type of quote will then be a regular character. %> in an attribute. <% in an attribute.

Jsp Expression Language El expressions are always within curly braces, and prefixed with the dollar sign. Syntax ${person.name} Example <%@ page contentType="text/html" %> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"
NAME
PLACE


%>

name: place: EL expression using bean <%@ page language="java" errorPage="error.jsp"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> <jsp:useBean id="beanname" class="jsplearning.bean" scope="page"> <jsp:setProperty name="beanname" property="username"/>

name=<jsp:getProperty name="beanname" property="username"/>

El value=



JSP Scopes Page Request Session Application

Page Page Scope is the smallest scope. Accessible only in the page in which the object is created. Released when the response is returned or the request forwarded. This is like making a “private variable” in Java.

Request Request scope is the next smallest scope, and is represented with the JSP's request object. All JSPs and servlets that share a request share the request scope. For example, if I have a JSP that forwards to another page, and that second page includes a third JSP page, then all three pages are in the same request, and can share objects through the request scope. A special note here, is the response.redirect(), will create a new request, unlike forwards and includes. Also note, a new request is made every time the user gets a new page, be it by clicking a link, a button, or some JavaScript call. Session

Session scope is the next lowest scope, represented by an HttpSession object. All requests from the same user are in the same session. Each user has his own session.

Application Application scope objects are global objects and accessible to all jsp pages which lie in the same application. All users share the same values of the application scope, as there is only one made for the web application. If you have some static material that all users should be able to access, then put it in the application. So application scope is usually best used for Read-Only data.

Example Four files Firstinclude.jsp Secondinclude.jsp Linked.jsp Forward.jsp Firstinclude.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Main File: index.jsp



Scoped Variable Current Value
Page Scope (scopeVarPage)  
Request Scope (scopeVarRequest)  
Session Scope (scopeVarSession)  
Application Scope (applicationVarPage)  


Include another file <jsp:include page="secondinclude.jsp" />



Link to new page [Click Here to View: linked.jsp]

Forward to new page <jsp:forward page="forward.jsp"/>[Click Here to View: linked.jsp]

Secondinclude.jsp <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Scoped Variable Current Value
Page Scope (scopeVarPage)  
Request Scope (scopeVarRequest)  
Session Scope (scopeVarSession)  
Application Scope (applicationVarPage)  
linked.jsp <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> Scope Example

Forwarded File: forward.jsp



Scoped Variable Current Value
Page Scope (scopeVarPage)  
Request Scope (scopeVarRequest)  
Session Scope (scopeVarSession)  
Application Scope (applicationVarPage)  
forward.jsp <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> Scope Example

Forwarded File: forward.jsp



Scoped Variable Current Value
Page Scope (scopeVarPage)  
Request Scope (scopeVarRequest)  
Session Scope (scopeVarSession)  
Application Scope (applicationVarPage)  


Custom error page <%@ page language="java" errorPage="error.jsp"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> <jsp:useBean id="beanname" class="jsplearning.bean" scope="page"> <jsp:setProperty name="beanname" property="username"/>

name=<jsp:getProperty name="beanname" property="username"/>

<

El

value=



error.jsp %@ page language="java" isErrorPage="true" %>

error=<%=exception%>

o/p of the error page

error=javax.servlet.jsp.el.ELException: Unable to find a value for "userna" in object of class "jsplearning.bean" using operator "."

Related Documents

Jsp Training Tutorial
April 2020 11
Jsp Training
October 2019 8
Jsp Tutorial
November 2019 26
Jsp Tutorial
November 2019 32
Jsp Tutorial
May 2020 11
Jsp Tutorial
June 2020 11