JSP API: Key Interfaces and Classes
JSP API: Key Interfaces and Classes
Introduction to JSP API
जब हम Java Server Pages (JSP) पर काम करते हैं, तो JSP API एक बहुत ही important role निभाता है। JSP API हमें ऐसे interfaces और classes provide करता है जो JSP page को Java Servlet में बदलने में मदद करते हैं। ये API JSP container और JSP page के बीच communication establish करती है।
Simple शब्दों में कहें तो JSP API, JSP page और server के बीच एक bridge की तरह काम करता है ताकि dynamic web content generate किया जा सके।
Key Components of JSP API
JSP API दो मुख्य parts में divide होती है:
- Interfaces: जो JSP pages के behavior को define करते हैं।
- Classes: जो JSP pages को run-time पर support और functionality provide करते हैं।
JSP API Packages
JSP API मुख्य रूप से दो packages में divide की गई है:
javax.servlet.jspjavax.servlet.jsp.tagext
इन दोनों packages में वो सारे classes और interfaces मौजूद होते हैं जो JSP pages को execute और manage करने में काम आते हैं।
Important Interfaces in JSP API
अब बात करते हैं JSP API के कुछ important interfaces की, जो JSP के functioning के लिए जरूरी हैं:
1. JspPage Interface
ये interface हर JSP page के लिए base interface की तरह काम करता है। इसे javax.servlet.jsp package में define किया गया है। इसका काम JSP page के lifecycle को manage करना है।
- Method:
jspInit()— JSP page को initialize करने के लिए। - Method:
jspDestroy()— JSP page को destroy करने के लिए। - Method:
_jspService()— Client request को handle करने के लिए।
2. HttpJspPage Interface
यह interface JspPage को extend करता है और specially HTTP protocol के लिए बनाया गया है। Servlet container इसे use करके JSP page को HTTP request और response से connect करता है।
3. JspFactory Interface
JspFactory एक abstract class है जो JSP environment के लिए factory methods provide करती है। इसका काम है JSP के लिए PageContext और अन्य objects बनाना।
- Method:
getPageContext()— JSP page के लिए context create करता है। - Method:
releasePageContext()— PageContext object को release करता है।
4. PageContext Class
PageContext एक बहुत ही important class है जो JSP page और Servlet के बीच connection maintain करती है। यह class javax.servlet.jsp package में मौजूद है। यह हमें implicit objects जैसे request, response, session, और application तक पहुँच प्रदान करती है।
Example:
String name = (String) pageContext.getAttribute("userName");
5. JspWriter Class
JspWriter class का use JSP page से output stream पर data लिखने के लिए किया जाता है। यह class javax.servlet.jsp package में होती है और java.io.Writer class को extend करती है।
- Method:
print()— Data को output stream पर print करता है। - Method:
flush()— Buffer को clear करता है और output भेजता है।
6. JspException Class
जब भी JSP में कोई error या exception होती है, तो JspException class का object generate होता है। यह class error handling के लिए उपयोग की जाती है और developer को बताती है कि कहां समस्या हुई।
7. Tag Interface
Tag interface javax.servlet.jsp.tagext package में होता है और custom tags बनाने के लिए इस्तेमाल किया जाता है। JSP में custom tags dynamic functionality जोड़ने के लिए बहुत उपयोगी होते हैं।
- Method:
doStartTag()— जब tag शुरू होता है तब call होती है। - Method:
doEndTag()— जब tag खत्म होता है तब call होती है।
8. BodyTag Interface
यह interface Tag को extend करता है और tag body के content को manipulate करने की अनुमति देता है। इसे तब उपयोग किया जाता है जब किसी custom tag के अंदर content process करना हो।
9. TagSupport Class
यह class custom tag बनाने को आसान बनाती है। इसमें Tag interface की default implementation होती है ताकि developer केवल आवश्यक methods override कर सके।
10. SimpleTag Interface
यह JSP 2.0 में introduce किया गया एक simplified interface है जो custom tags को implement करने का आसान तरीका प्रदान करता है।
Example method:
void doTag() throws JspException, IOException;
JSP API Hierarchy
नीचे table में JSP API की main hierarchy दिखाई गई है:
| Type | Class/Interface Name | Package | Purpose |
|---|---|---|---|
| Interface | JspPage | javax.servlet.jsp | JSP lifecycle को manage करता है |
| Interface | HttpJspPage | javax.servlet.jsp | HTTP request/response handle करता है |
| Class | PageContext | javax.servlet.jsp | Implicit objects को manage करता है |
| Class | JspWriter | javax.servlet.jsp | Output को client तक भेजता है |
| Class | JspException | javax.servlet.jsp | Error handling के लिए |
| Interface | Tag | javax.servlet.jsp.tagext | Custom tags बनाने के लिए |
| Class | TagSupport | javax.servlet.jsp.tagext | Tag interface की implementation |
JSP Implicit Objects and API Connection
JSP API इन implicit objects को internally manage करती है ताकि developer को manually Servlet code लिखने की जरूरत न पड़े।
- request — Client की request data को store करता है।
- response — Server response को manage करता है।
- session — User session को maintain करता है।
- application — पूरे web application के data को store करता है।
- pageContext — JSP page-specific context provide करता है।
Role of JSP API in Page Lifecycle
JSP API पूरे JSP page के lifecycle को control करती है। नीचे JSP page lifecycle के stages दिए गए हैं:
- Translation Phase: JSP file को Servlet में translate किया जाता है।
- Compilation Phase: Generated Servlet को compile किया जाता है।
- Initialization Phase:
jspInit()method call होती है। - Execution Phase:
_jspService()method execute होती है। - Destruction Phase:
jspDestroy()method JSP page को destroy करती है।
Example of JSP API Usage
नीचे एक छोटा example दिया गया है जिसमें JSP API classes और methods का use किया गया है:
<%@ page language="java" %>
<%
pageContext.setAttribute("user", "Amit");
String user = (String) pageContext.getAttribute("user");
out.print("Welcome, " + user);
%>
इस example में:
pageContextका use attribute set और get करने के लिए किया गया है।outimplicit object (JspWriter class) का use client को output भेजने के लिए किया गया है।
Benefits of JSP API
- Dynamic web pages बनाना आसान होता है।
- Reusability और maintainability बढ़ती है।
- Implicit objects के कारण developer का coding effort कम होता है।
- Custom tags के जरिए modular design बनाया जा सकता है।
JSP API Important Notes (Exam-Oriented)
- JSP API, JSP और Servlet container के बीच bridge की तरह काम करता है।
JspPageJSP का base interface है।HttpJspPageHTTP protocol के लिए specialized है।PageContextimplicit objects को manage करता है।JspWriteroutput stream पर data भेजता है।JspExceptionerror handling के लिए use होता है।TagऔरSimpleTagcustom tags create करने में मदद करते हैं।- JSP API का use करके developer dynamic, interactive और reusable web pages बना सकते हैं।