2013-06-21 3 views
6

निर्दिष्ट करने के लिए सर्वलेट में web.xml की बजाय एनोटेशन का उपयोग कैसे करें एनोटेशन में वेब.एक्सएमएल के लिए एनोटेशन मैपिंग कैसे प्रदान करें। मैंने web.XML के साथ किया है। मैं बहुत की तरह, एनोटेशन मानचित्रण के साथ की कोशिश करना चाहते :यूआरएल

<web-app> 
    <servlet-mapping> 
    </servlet-mapping> 
</web-app> 

उत्तर

10

एक साधारण उदाहरण है:

@WebServlet(value="/hello") 
public class HelloServlet extends HttpServlet { 

    @Override 
    public void doGet(HttpServletRequest request,HttpServletResponse response) 
     throws ServletException, IOException { 
    PrintWriter out = response.getWriter(); 

    // then write the data of the response 
    String username = request.getParameter("username"); 
    if (username != null && username.length() > 0) { 
     out.println("<h2>Hello, " + username + "!</h2>"); 
     } 
    } 

} 
+1

हाँ यह सही है, मुझे इसे पोस्ट करने के बाद समाधान मिला। – Sheel

5

Annotation मेटाडाटा प्रतिनिधित्व करता है। यदि आप एनोटेशन का उपयोग करते हैं, तो तैनाती डिस्क्रिप्टर (web.xml फ़ाइल) की आवश्यकता नहीं है। लेकिन आपके पास tomcat7 होना चाहिए क्योंकि यह टोमकैट के पिछले संस्करणों में नहीं चलेगा। @WebServlet एनोटेशन का उपयोग निर्दिष्ट नाम के साथ सर्वलेट को मैप करने के लिए किया जाता है।

@WebServlet("/Simple") 
public class Simple extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 


     response.setContentType("text/html"); 
     PrintWriter out=response.getWriter(); 

     out.print("<html><body>"); 
     out.print("<h3>Hello Servlet</h3>"); 
     out.print("</body></html>"); 
    } 

} 
+1

यदि आप उत्तर देना चाहते हैं, तो मुझे पहले ही समाधान मिल गया है, मैंने एक प्रश्न पोस्ट किया है इसे जांचें। – Sheel