JSP Directives and HTML tags
JSP directives are as a message from a JSP page to the JSP container that control the processing of the entire page. JSP directives control how the JSP compiler generates the servlet. Actually a directive is a way for you to give special instruction to the container at page translation time. The functionality of JSP directives is similar to the one provided by the C preprocessor.
There are several page directives provided by JSP.
(a) page directives
:
Syntax <%@ page optional attribute ... %>
Attributes available for page
directive :
1: language:
Syntax : <%@ page language = "lang" %>
<%@ page language = "java" %>
Language denotes the scripting language used in scriptlets, declarations, and
expressions in the JSP page
and any included files.
2: extends:
This is used to signify name of the Super class of the Java class used by the
JSP engine.
Syntax : <%@ page extends = "package.class"%>
3: import:
The import attribute is used to import all the classes in a java package
into the current
JSP page because of this facility the JSP page can use other java classes.
Syntax : <%@ page import = "java.util.*" %>
If programmer want to import more than one packages or classes, can import
separate the Java packages with
commas: <%@ page import="{package.class | package.*},
..." %>
4: session:
The session attribute, when set to true, sets the page to make use of sessions.
By default, the
session attribute value is set to true therefore, all JSP pages have session
data available.
If the user sets the session attribute to false, it should be declare false in
attribute value.
Syntax : <%@ page session="true|false" %>
Other page attributes :
( I ) <%@ page contentType="description" %> Sets the content type and character encoding of the page.
Ex : <%@ page contentType="text/plain; charset=utf-8" %>
( II ) <%@ page buffer=sizekb %> Gives the of the page buffer in kb or for no buffer. If buffer is ,all output is immediately flushed. Default buffer size is 8 kb.
( III ) <%@ page autoFlush="true" %> Use to flush the page buffer when it fills. Default value is true. If value of autoFlush is false, the JSP engine will throw an exception if the buffer overflows.
( IV ) <%@ page errorPage="path" %> This defines a page of the given path to display if an error occurs in the JSP page.
( V ) <%@ page isErrorPage="true" %> This gives permission an error page access to the exception implicit variable. Its default value is false.
( VI ) <%@ page isThreadSafe="true" %> This tells the JSP that multiple pages can execute in parallel. Defaults to true.
(b) include directive : Include a raw file of given path in attribute value.
<%@ include file="path" %>
(c) taglib directive : Taglib directive is used to configures tags with prefix x to use the tag library foo.
<%@ taglib prefix="x" uri="foo" %>
Note : Before run this jsp code create a new directory named "user" in the tomcat-6.0.16/webapps and paste WEB-INF directory in same.
use_directives.jsp
<!-- import java package java.lang.* --> <%@ page import="java.lang.*" %> <!-- tells that error page for this page is 'error_page.jsp' --> <%@ page errorPage="error_page.jsp" %> <!-- set the page langauge to java --> <%@ page language = "java" %> <html> <head> <title>calculation page</title> </head> <h2>Use some jsp directives in this example.</h2> <body> <% out.println("In this example we have import java package<br>"); out.println("and define a error page<br>"); out.println("and define the langauage for this page <br>"); %> </body> </html>
Next is code for error page if found any error in given jsp page, this error page is automatically called.
<!-- tells that this jsp page is error page --> <%@ page isErrorPage = "true"%> <!-- import java package 'java.io' --> <%@ page import = "java.io.*" %> <HTML> <HEAD> <TITLE> custom error page </TITLE> </head> <body> <h2>Your application has generated an error</h2> <h3>Please check for the error given below</h3> <b>Exception:</b><br> <font color="red"><%= exception.toString() %></font> </body> </html>
Rum tomcat server by clicking on startup.bat file in bin directory ob tomcat. Save this code as a .jsp file named "use_directives.jsp" in the directory Tomcat-6.0.16/webapps/user/ and you can run this jsp page with following url in address bar of the browser http://localhost:8080/user/use_directives.jsp
If found any error to run this jsp code show predefine error page......