You are on page 1of 5

Java Server Page

Web application creating is very complex task involving lot of man power require of two basic field, one is making business logic and another is to create strong UI design i.e. web application is divided into clearly two part ( code part and UI part). JSP (Java Server Page) is standard java extension use to simplify creation and management of dynamic web pages. The JSP allows us to separate dynamic content of the web page from it static presentation content. The programming in servlet is very complex. It require additional file like web.xml and java class files to make web application while JSP offers an easier approach to develop dynamic web page. Here JSP program contains html tags and special type of tags known as JSP tags. The JSP tags are used to add dynamic content to the web pages. A JSP page is first converted into a Servlet by JSP translator. This servlet is then compiled and execute to generate output for the browser. The use of JSP is having following benefit. 1. JSP pages are portable and use easily across multiple platforms and web servers without making any changes. 2. Programming in JSP is easier than servlet because it uses tag base approach. 3. JSP pages are automatically compiled by the web server. Developers need not to be performing compilation operation explicitly. 4. The JSP uses MVC architecture for making the application.

What are the advantages of JSP over Servlet? 1. As like servlet JSP pages cannot be require compile explicitly also we can make changes in JSP pages without taking burden of its recompilation. 2. JSP pages are easier to write than the servlet since it follows tag based approach. 3. We can access JSP pages directly from the web browser where as Servlet have to be firstly map in the web.xml file. 4. we can separate presentation and business logic 5. We can reduce development time.

JSP Life-Cycle:HTTPRequest Translation


Servlet (.Java) Servlet (.class)

Compilation

Loading
Already initialized

Initialization

Instantiation

Service

HTTPResponse

Destruction

Web container or web Service JSPs life cycle can be grouped into following stages. 1. Translation: - In this stages web container translate (JSP translator) JSP document into the corresponding java port i.e. Servlet. In this state web application perform operations like. 1. Locate the request JSP page. 2. Validating syntaxes correcting JSP page. 3. Interpretation of JSP directives, action and custom actions. 4. Writing source code into equivalent servlet. 5. The generated servlet class is subtype of java.Servlet.jsp class. 6. The generated servlet implements jspInit(), jspService(), jspDestroy(). This translated Servlet is different from a normal Servlet only in the sense that it implements the interface javax.servlet.jsp.HttpJspPage. 2. Compilation: - This is stage where servlet source code is compile into java byte code i.e. servlet class file. Translation and compilation can occur anytime between deployment and first request made by the user.

3. Loading: - In this stage web container loads the generated servlet class file into memory of web container using class loader. 4. Instantiation: - After successful loading of servlet class, JSP Container creates instance of servlet class. 5. Initialization: - after servlet object instantiation, JSP container initializes the instantiation object. Here jspInit () is called. jspInit () is called only once during JSP life cycle. 6. Service: - This method is called for every request of this JSP during its life cycle. This is where it serves the purpose of creation. This method cannot be overridden. 7. Destruction: - The servlet instance is taken out of the memory by invoking jspDestroy ().

JSP basic tags:- (predefined tags) :JSP having three types of predefined tags 1. Directive tags 2. Scripting elements 3. Actions JSP is a presentation level component. Hence it supports direct use of HTML and XML tags. Along the tags there are certain tags included in JSP to perform specific task. Concern servlet is affected by these tags. 1. Directive tags:Directive affects overall structure of the servlet that result from translation. They are giving direction to the JSP translator. During the translation stage of JSP life cycle directive tags are use of JSP life cycle. Directive tags are use to set global values such as class declaration, methods to be implemented, output content type etc. There are three type of directive a. page directive b. include directive c. taglib directive

a. Page directive: - page directive is use to provide precompilation to the JSP compiler. At the time of JSP is getting converted into servlet. These instructions affect various properties of JSP page. Syntax:<%@ page attributes="value" %>

Attributes language extends import session

Description Specifies the language used in the page for JSP. The default value of this attribute is "java". Specifies whether the page uses an extended class Specifies list of packages of classes to be imported It is used to make a session value available to a jsp page; this attribute has a "boolean" value and its "true" by default. If the value of autoflush is true then it automatically flushes buffer as soon as it become full. Specifies the pages buffer size If set is true then JSP engine maximum send multiple client

autoFlush buffer

isThreadSafe

request at the same time, if set to false only one request is sent.

errorPage contentType isErrorPage

Specifies the error page location for unhandled exceptions. Specifies the content and mime type. Specifies whether to use the exception object, it is set to "true" to use the exception object, else it can be set to "false"

For example:<% @ page import="java.util.Date" %> <% @ page language=java %> <%@ page buffer="16kb" autoFlush=false %> <%@ page errorPage="myerrorpage.jsp" %> <%@ page isErrorPage="true" %>

b. include directive:The include directive is used to include the contents of any resource it may be jsp file, html file or text file at compile time. We can merge contents of one or more file during compiler. The included file can be static or dynamic. Syntax: For example: <%@ include file="filename" %> <%@ include file=test.jsp %>

c. taglib directive:Taglib directive is used to define the tag library which is a collection of tags. A Tag library can be a standard (pre-defined) or a custom (user-defined) one. The "prefix" attribute is a must for custom as well as standard tags in jsp. Syntax: Example: <%@ taglib uri="URI" prefix="unique_name" %> <%@ taglib uri="http://www.javatpoint.com/tags" prefix="mytag" %>

JSP Implicit Object:JSP Implicit objects are created by the web container. These implicit objects are Java objects that implement interfaces in the Servlet and JSP API. Scripting elements in a JSP page can make use of these JSP implicit objects. There are nine (9) JSP implicit objects available. 1.

You might also like