Java Servlets

Introduction to Java Servlets

Java servlets applets के opposite होते है। Applets में आप HTML program के अंदर java program यूज़ करते है। और servlets में आप java program के अंदर HTML program लिखते है। Servlets ऐसे java program होते है जो HTML file generate करते है।

Java आपको ऐसे features provide करती है जिससे आप किसी java program के द्वारा एक HTML file generate कर सकते है और उसे web पर execute करवा सकते है। इसके लिए आपको java program के अंदर HTML program लिखना होता है। और जब आप इस java code को execute करवाते है तो वो HTML code भी execute होता है और उसके code के according आपको webpage show हो जाता है। लेकिन इसके लिए जरुरी है की आप अपने servlet program को किसी web server पर store करे और उसे वही से execute करवाये।

Packages Used by Java Servlets

Servlets को यूज़ करने के लिए आपको program में 2 packages को import करना पड़ता है। इनके बारे में निचे दिया जा रहा है।

Package Explanation 
 javax.servlet इस package में बहुत सी classes और interfaces होते है जो आप अपने program में यूज़ कर सकते है। ये package किसी एक protocol के लिए नहीं होता है। इस package में GenericServlet class होती है जिसे extend करके आप servlet create करते है।     
 javax.servlet.http ये package भी बहुत सी classes और interfaces provide करता है। इनको आप servlet program create करने के लिए यूज़ कर सकते है। लेकिन ये package आप तब ही यूज़ कर सकते है जब आप HTTP protocol को यूज़ कर रहे है। इस package में HttpServlet class होती है जिसे extend करके आप servlets create करते है। 

Tasks of Java Servlets

  • Processing HTML
  • Opening web browser
  • Displaying web page

Life Cycle Methods of Java Servlets

Method Explanation  
init()ये method applet के init() method की तरह ही होता है। जब servlet first time create होता है तब ये method call होता है। ये method सिर्फ एक बार ही call होता है।      
service() ये method servlet life cycle का सबसे important method है। इस method में client request को process किया जाता है और response दिया जाता है।    
destroy() ये method सिर्फ एक ही बार call होता है। इस method में आप सभी connections को close कर सकते है। जैसे की database connectivity और server connection आदि। Destroy method call होने के बाद servlet object  garbage collect हो जाता है।

doGet() and doPost() Methods

Method  Explanation  
doGet() एक URL की request handle करने के लिए doGet() method यूज़ किया जाता है। और यदि form submit करते समय उसमे method (GET, POST) mention नहीं किया हुआ है तो वो request भी doGet() method ही handle करता है।        
doPost() ऐसे HTML form जिनमें method POST mention किया होता है वो request doPost() method ही handle करता है।

Steps to Create Java Servlets Program

  1. सबसे पहले अपने program में servlet packages को import कीजिये।
  2. यदि आप HTTP protocol यूज़ करना चाहते है तो HttpServlet class को extend कीजिये नहीं तो GenericServlet class को extend कीजिये।
  3. यदि आप HTTP servlet create कर रहे है तो doGet() और doPost() method से request handle करते है। और यदि आप generic servlets create कर रहे है तो life cycle methods में request handle करते है।
  4. किस तरह की file produce होगी ये आपको पहले ही define करना होता है। जैसे की आप HTML define करेंगे। इसके लिए आप setContentType() method यूज़ करते है। इस method को response object पर call किया जाता है।
  5. इसके बाद आप response object पर getWriter() method call करेंगे। ये method PrintWriter stream return करता है। इसलिए आप इसे PrintWriter object में store करेंगे।
  6. इसके बाद आप PrintWriter object पर println method call करेंगे और उसमे अपना HTML code लिखेंगे।
  7. इसके बाद आप इस object पर close() method call करके stream को close करेंगे। आप चाहे तो destroy() method का default implementation भी इस काम के लिए यूज़ कर सकते है।

Example of Java Servlet:

public class HelloJava extends HttpServlet
{
    private String message;
    public void init() throws ServletException
    {
          message = "Hello Java";
    }
    public void doGet(HttpServletRequest request, HttpServletsResponse response)
    {
         response.setContentType("text/html");
         PrintWriter out = response.getWriter();
         out.println("<h1>"+message+"</h1>");
   }
   public void destroy()
   {
    }
}