Jsp directives
1. buffer
What it does: Controls the size of the buffer used for the output stream (the data sent to the
user).
Why it's important: Buffers store output data temporarily before sending it to the browser,
improving performance by reducing network calls.
Example:
jsp
Copy code
<%@ page buffer="8kb" %>
This means the output buffer size is 8 kilobytes.
2. autoFlush
What it does: Determines if the buffer automatically flushes (sends data to the browser)
when full.
o If set to true, the buffer flushes automatically.
o If set to false, an error occurs when the buffer is full.
Example:
jsp
Copy code
<%@ page autoFlush="true" %>
3. contentType
What it does: Defines the type of content sent to the browser and its character encoding
(like UTF-8 for text).
Why it's important: Ensures the browser knows how to interpret the page.
Example:
jsp
Copy code
<%@ page contentType="text/html; charset=UTF-8" %>
4. errorPage
What it does: Specifies a URL for a JSP page to handle errors when they occur.
Why it's important: Makes the application user-friendly by showing custom error messages.
Example:
jsp
Copy code
<%@ page errorPage="errorPage.jsp" %>
5. isErrorPage
What it does: Indicates if this JSP page is designed to handle errors.
o true means this page can process errors.
o false means it cannot.
Example:
jsp
Copy code
<%@ page isErrorPage="true" %>
6. extends
What it does: Specifies a custom superclass that the generated servlet (behind the JSP) will
inherit from.
Why it's important: Useful when you want the JSP to inherit specific functionality.
Example:
jsp
Copy code
<%@ page extends="com.example.MyServlet" %>
7. import
What it does: Imports Java packages or classes into the JSP, just like import does in Java.
Why it's important: Allows using classes without fully qualifying their names.
Example:
jsp
Copy code
<%@ page import="java.util.Date, java.util.List" %>
8. info
What it does: Defines a descriptive string about the JSP page that can be retrieved using the
servlet's getServletInfo() method.
Why it's important: Provides metadata about the JSP page for debugging or documentation.
Example:
jsp
Copy code
<%@ page info="This is a sample JSP page" %>
9. isThreadSafe
What it does: Specifies if the JSP page supports multiple simultaneous requests (thread-
safe).
o true allows multiple threads to handle the page.
o false means only one thread at a time.
Example:
jsp
Copy code
<%@ page isThreadSafe="false" %>
10. language
What it does: Defines the programming language used in the JSP.
Why it's important: Typically set to "java" as JSPs use Java.
Example:
jsp
Copy code
<%@ page language="java" %>
11. session
What it does: Indicates if the JSP page supports HTTP sessions.
o true means the page can use session objects like session.
o false disables sessions for the page.
Example:
jsp
Copy code
<%@ page session="true" %>
12. isELIgnored
What it does: Determines if Expression Language (EL) syntax like ${} is ignored in the JSP.
o true ignores EL expressions.
o false allows EL expressions.
Example:
jsp
Copy code
<%@ page isELIgnored="false" %>
13. isScriptingEnabled
What it does: Specifies if scripting elements like <% Java code %> are allowed in the JSP.
o true allows scriptlets, declarations, and expressions.
o false disables them for cleaner code.
Example:
jsp
Copy code
<%@ page isScriptingEnabled="false" %>