2010-01-14 27 views
5

मैं जावा/जावा सर्वलेट में नौसिखिया हूं। कोड के लिए एचटीएमएल और जावास्लेट का उपयोग करके, मुझे एक फॉर्म के लिए सरल कैप्चा की आवश्यकता है। http://simplecaptcha.sourceforge.net/extending.html के संदर्भ में।जावा सरल कैप्चा बिल्डर कहां रखा जाए?

Captcha captcha = new Captcha.Builder(200, 50) 
    .addText() 
    .addBackground() 
    .addNoise() 
    .gimp() 
    .addBorder() 
    .build(); // Required. 

कहाँ (जावा सर्वलेट) मैं आदेश एचटीएमएल पर कैप्चा बनाने के लिए कोड के इस टुकड़े रखना चाहिए?

बहुत बहुत धन्यवाद।

उत्तर

8

SimpleCaptcha का विस्तार करने और अपने कैप्चा को कस्टमाइज़ करने के लिए, मेरी समझ यह है कि आपको अपना खुद का HttpServlet बनाना होगा (शायद SimpleCaptchaServlet बढ़ाता है)। ऐसा करने के लिए, मैं source code डाउनलोड करने और SimpleCaptchaServlet या StickyCaptchaServlet पर देखने का सुझाव देता हूं।

@Override 
public void doGet(HttpServletRequest req, HttpServletResponse resp) 
     throws ServletException, IOException { 

    Captcha captcha = new Captcha.Builder(_width, _height) 
     .addText() 
     .addBackground(new GradiatedBackgroundProducer()) 
     .gimp() 
     .addNoise() 
     .addBorder() 
     .build(); 

    CaptchaServletUtil.writeImage(resp, captcha.getImage()); 

    req.getSession().setAttribute(NAME, captcha); 
} 

यह स्व-समझा जाना चाहिए:: अपनी खुद की सर्वलेट बना सकते हैं और doGet() विधि में अपने कस्टम कैप्चा बिल्डर कोड डाल इस तरह क्या SimpleCaptchaServlet की doGet() विधि दिखता है। फिर, Installing सेक्शन के निर्देशों का पालन करें, लेकिन, उनके सर्वलेट का उपयोग करने के बजाय, web.xml में अपना घोषित करें। अंत में, अपने आवेदन पैकेज/तैनात करें। examples के तहत स्रोत वितरण में एक उदाहरण बंडल किया गया है। यदि आपको संरचना, निर्भरता और आपके वेब एप्लिकेशन की पैकेजिंग के बारे में अधिक मार्गदर्शन की आवश्यकता है तो इसे देखें।

2

अरे क्या आपने अभी तक इस पृष्ठ पर एक नज़र डाली है? http://simplecaptcha.sourceforge.net/installing.html

यह लगभग सीधे है जैसा कि मुझे लगता है। यह प्रोजेक्ट आपको बॉक्स के बाहर कुछ कैपेचा सर्लेट देता है। आपको बस उन्हें अपनी web.xml फ़ाइल में मैप करना होगा। आप साथ जाकर जेएसपी बना सकते हैं जो उन्हें कॉल करेगा।

+0

@ डैरेन: हाय, उत्तर देने के लिए धन्यवाद। मैंने देखा कि आपने जो लिंक प्रदान किया है, लेकिन फिर वह स्टिकी कैप्चा का उदाहरण है, जिसमें सत्र शामिल करने की आवश्यकता है, और अनुकूलन नहीं है। मुझे केवल एक सरल कैप्चा की आवश्यकता है, और इसके निर्माता का उपयोग करके कैप्चा छवि पर कुछ अनुकूलन की आवश्यकता है। इसके अलावा, मुझे वास्तव में इसे सर्वलेट में रखने में मदद की ज़रूरत है, क्योंकि मेरा सत्यापन भाग सभी jsp के बजाय सर्वलेट में हैं। –

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