JSP page Directive

JavaServer Pages (JSP) directives are instructions that provide global information about the entire JSP page. The page directive is one of the most important JSP directives, allowing you to set various attributes that affect the overall behavior and environment of the JSP page.

What is the JSP Page Directive?

The page directive is used to define global settings for a JSP page. It provides various attributes to control aspects such as the imported classes, content type, buffer size, error pages, session management, and more. These settings are applied to the entire JSP page and influence how the page is processed and rendered.

Syntax

The page directive is defined using the following syntax:

<%@ page attribute="value" %>

Common Attributes of the Page Directive

Here are some of the most commonly used attributes of the page directive:

  1. import
  2. contentType
  3. pageEncoding
  4. errorPage
  5. isErrorPage
  6. session
  7. buffer
  8. autoFlush
  9. isThreadSafe
  10. language
  11. extends
  12. info

1. import

The import attribute is used to import Java classes or packages into the JSP page. Multiple classes or packages can be imported by separating them with commas.

Example

<%@ page import="java.util.*, java.text.*" %>

2. contentType

The contentType attribute sets the MIME type and character encoding for the response generated by the JSP page.

Example

<%@ page contentType="text/html;charset=UTF-8" %>

3. pageEncoding

The pageEncoding attribute specifies the character encoding for the JSP page itself.

Example

<%@ page pageEncoding="UTF-8" %>

4. errorPage

The errorPage attribute specifies a URL to which the request should be forwarded if an uncaught exception occurs on the JSP page.

Example

<%@ page errorPage="error.jsp" %>

5. isErrorPage

The isErrorPage attribute indicates whether the current JSP page can act as an error page.

Example

<%@ page isErrorPage="true" %>

6. session

The session attribute specifies whether the JSP page should participate in an HTTP session. It can be set to true or false.

Example

<%@ page session="true" %>

7. buffer

The buffer attribute sets the size of the buffer used for the JSP page output.

Example

<%@ page buffer="8kb" %>

8. autoFlush

The autoFlush attribute specifies whether the buffer should be automatically flushed when it is full. It can be set to true or false.

Example

<%@ page autoFlush="true" %>

9. isThreadSafe

The isThreadSafe attribute indicates whether the JSP page is thread-safe. It can be set to true or false.

Example

<%@ page isThreadSafe="false" %>

10. language

The language attribute specifies the scripting language used in the JSP page. The default value is "java".

Example

<%@ page language="java" %>

11. extends

The extends attribute specifies the fully qualified name of the superclass that the generated servlet should extend.

Example

<%@ page extends="com.example.MyServlet" %>

12. info

The info attribute provides a description of the JSP page. This information can be accessed using the Servlet.getServletInfo() method.

Example

<%@ page info="This is a sample JSP page" %>

Example Usage

Let's look at a complete example that uses several attributes of the page directive.

<%@ page import="java.util.*, java.text.*" %>
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page errorPage="error.jsp" %>
<%@ page session="true" %>
<html>
<head>
    <title>JSP Page Directive Example</title>
</head>
<body>
    <h1>Welcome to JSP Page Directive Example</h1>
    <%
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z");
        out.println("Current date and time: " + sdf.format(now));
    %>
</body>
</html>

Explanation

  • import: Imports the java.util and java.text packages.
  • contentType: Sets the content type to text/html with UTF-8 character encoding.
  • errorPage: Specifies error.jsp as the error page.
  • session: Enables session management for the JSP page.

Conclusion

The JSP page directive is used for configuring global settings that affect the behavior and environment of a JSP page. By understanding and utilizing the various attributes of the page directive, developers can create well-structured and efficient JSP applications.

Comments