आप सभी "डुप्लिकेट" कट्टरपंथियों के लिए, एसओ दाएं here पर एक समान प्रश्न है। अंतर यह है कि मैं एक ज्वलंत उदाहरण पेंट करता हूं कि मैं आउटपुट को समझ नहीं पा रहा हूं।जावा ईई में जेएसपीवाइटर और प्रिंटवाइटर के बीच अंतर?
JspWriter और PrintWriter के लिए दस्तावेज़ का कहना है कि दो अंतर हैं: 1. JspWriter अपवाद फेंक कर सकते हैं, PrintWriter ऐसा नहीं करना चाहिए। 2. जेएसपीवाइटर दृश्य के पीछे एक प्रिंटवाइटर का उपयोग करता है, लेकिन चूंकि डिफ़ॉल्ट रूप से जेएसपी पेज buffered हैं, तो प्रिंटवाइटर the buffer is flushed
तक नहीं बनाया जाएगा - जो भी जेएसपी पृष्ठ के संदर्भ में है। मुझे यकीन नहीं है कि मैं इस आखिरी हिस्से को समझ गया हूं। इस JSP पेज पर विचार करें:
<%@page import="java.io.PrintWriter"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JspWriter versus PrintWriter</title>
</head>
<body>
<p>I should be row one.</p>
<%
out.println("<p>JspWriter said: I should be the second row.</p>");
PrintWriter pw = response.getWriter();
pw.println("<p>PrintWriter said: I should be the third row.</p>");
%>
<p>I should be the fourth row.</p>
</body>
</html>
यह निम्न उत्पादन का उत्पादन:
PrintWriter said: I should be the third row.
I should be row one.
JspWriter said: I should be the second row.
I should be the fourth row.
आप देख सकते हैं, JspWriter ब्राउज़र मैं इसे करने के लिए उम्मीद की गई थी करने के लिए अपने स्ट्रिंग आउटपुट। लेकिन ब्राउज़र पर अन्य सभी को भेजे जाने से पहले प्रिंटवाइटर अपनी स्ट्रिंग आउटपुट करता है। यदि हम ब्राउज़र पर भेजे गए स्रोत कोड की जांच करते हैं, तो DOCTYPE घोषणा से पहले, प्रिंटवाइटर की स्ट्रिंग को पहली पंक्ति के रूप में भेजा जाता है। तो उपर्युक्त उदाहरण में, वास्तव में क्या होता है?
उहम वहां आप जाते हैं! Thanx साथी, बहुत सराहना की। –