2009-05-03 5 views
5

निम्नलिखित हैलो वर्ल्ड सर्वलेट को देखते हुए, आप हैलो वर्ल्ड आउटपुट को सर्वलेट कोड से कैसे स्थानांतरित कर सकते हैं और इसे किसी प्रकार के HTML टेम्पलेटिंग प्रारूप में डाल सकते हैं? मैं बस टेम्पलेट को सर्वलेट से कॉल करना चाहता हूं और इसे जावा वेरिएबल को प्रस्तुत करना चाहता हूं जिसे मैं टेम्पलेट में संदर्भित करता हूं - शायद "हैलो वर्ल्ड" स्ट्रिंग को स्पोग्ज सर्वलेट क्लास में क्लास वैरिएबल के रूप में संदर्भित करके?जावा में आपके सर्वलेट कोड से HTML आउटपुट करने के विकल्प के रूप में जावा में HTML टेम्पलेटिंग विकल्प क्या हैं?

package boochy; 

import java.io.IOException; 
import javax.servlet.http.*; 

@SuppressWarnings("serial") 
public class SprogzServlet extends HttpServlet 
{ 
    public void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws IOException 
    { 
     resp.setContentType("text/plain"); 
     resp.getWriter().println("Hello, world"); 
    } 
} 

उत्तर

5

यह बहुत (अलग पीडीएफ उत्पादन और अन्य कोने मामलों से) JSPs के लिए सभी दृश्यों को सौंपने चल जाएगा कि MVC ढांचा किसी तरह का उपयोग किए बिना जावा वेब विकास कर रही करने के लिए दुर्लभ है, तो आपके पास:

Tapestry और JSF ("जावा सर्वर चेहरे") जैसे कुछ वेब चौखटे थोड़ा और अतिरिक्त टैग के साथ HTML विचारों की तरह हैं।

अंततः जेएसपी को सर्वलेटों के लिए संकलित किया जाता है और HTML को आउटपुट के लिए एक अधिक सुविधाजनक रूप माना जाता है। आम तौर पर बोलते हुए मैं उन्हें सर्वलेट में out.println() कथन का ढेर लिखने के बजाय न्यूनतम के रूप में उपयोग करता हूं।

+0

शानदार उत्तर। सारी जानकारी के लिए शुक्रिया। मुझे अपाचे वेग की तलाश पसंद है। यह रुबी टेम्पलेटिंग विकल्पों के करीब दिखता है जो मैं अनुमान लगाने की कोशिश कर रहा था (erb, haml)। जेएसएफ सीएफएमएल की तरह थोड़ा है। फ्रीमार्कर मुझे यकीन नहीं है - वेबसाइट इतनी पेशेवर नहीं दिखती है, मुझे परेशान करती है। टेपेस्ट्री शामिल है - उस पर अध्ययन करना है। जैसा कि आपने संकेत दिया है, मैं जेएसपी के साथ चिपक सकता हूं। धन्यवाद। – Yen

0

क्लीटस उनकी सिफारिशों में काफी सही है।

फ्रीमार्कर (या वेग) उपयोग करने के लिए समाधान हैं यदि आप "बस" को टेम्पलेट आधारित प्रतिपादन की आवश्यकता है। वे काफी प्रभावी हैं। आप जटिलता सीढ़ी को जेएसपी का उपयोग कर सकते हैं।

मैं असहमत हूं कि यह विशेष रूप से एमवीसी पैटर्न तक ही सीमित है। इसकी सबसे सरलता में (और स्पष्ट रूप से यह बड़ी प्रणालियों के लिए स्केल नहीं करेगा) आप सभी अनुरोधों को एक ही सर्वलेट सेवा प्राप्त कर सकते हैं, और एक वेग/फ्रीमार्कर टेम्पलेट चुन सकते हैं, और आवश्यक संदर्भ को पॉप्युलेट कर सकते हैं और टेम्पलेट प्रस्तुत कर सकते हैं।

1

मजेदार, मैंने पहले थोड़ा सा सवाल देखा था। आप जावा में अपने पेज प्रतिपादन के लिए Quercus के माध्यम से PHP पृष्ठों का भी उपयोग कर सकते हैं।

2

मैंने बहुत कम पैमाने पर आंतरिक साइट पर कई वर्षों तक वेग का सफलतापूर्वक उपयोग किया है।

इसका उपयोग करना आसान है और इसमें एक अच्छा साफ एपीआई है। यह गतिविधि के विस्फोट को बहुत अच्छी तरह से संभालता है।

संबंधित मुद्दे