<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # `Servlet`接口解釋 > 原文: [https://beginnersbook.com/2014/04/servlet-interface/](https://beginnersbook.com/2014/04/servlet-interface/) 在我關于 [Servlet API](https://beginnersbook.com/2013/05/servlet-api/) 的上一篇指南中,我已經解釋過要創建任何 Servlet,你必須直接或間接地實現`Servlet`接口(間接實現意味著擴展那些實現`Servlet`接口的類,這些類是`GenericServlet`和`HttpServlet`) 。 如果您正在創建協議相關的 servlet,例如`httpServlet`,那么您應該擴展`HttpServlet`類,以便擴展`GenericServlet `類的協議無關的`Servlet`。 在本指南中,我不打算詳細解釋`GenericServlet`和`HttpServlet`,因為我已經在單獨的指南中介紹了它們。 **編輯**:以下是這些指南的鏈接: [`GenericServlet`](https://beginnersbook.com/2014/04/genericservlet-class/),[`HttpServlet`](https://beginnersbook.com/2013/05/http-servlet/) 。 > 總之,你有 3 種方法來創建一個 servlet: > > 1)通過擴展`HttpServlet`類 > > 2)通過擴展`GenericServlet`類 > > 3)通過實現`Servlet`接口 > > 注意:但是你應該總是喜歡第一個創建 servlet 的方法,即通過擴展`HttpServlet`類。 ### `Servlet`接口方法 以下是`Servlet`接口中可用的方法列表。 1) `void destroy()`:這個方法在 [servlet 生命周期](https://beginnersbook.com/2013/05/servlet-life-cycle/)結束時由 Servlet 容器調用。與在生命周期中多次調用的`service()`方法不同,此方法在整個生命周期中僅由 Servlet 容器調用一次。一旦調用了`destroy()`方法,servlet 容器就不會為該 servlet 調用`service()`方法。 2) `void init(ServletConfig config)`:當 Servlet 容器啟動時(在 Web 服務器啟動時發生),它加載所有 servlet 并實例化它們。在為每個實例化的 servlet 調用此`init()`方法之后,此方法初始化 servlet。 3) `void service(ServletRequest req, ServletResponse res)`:這是在 servlet 生命周期中多次調用的唯一方法。此方法為客戶端請求提供服務,每次服務器收到請求時都會調用它。 4) `ServletConfig getServletConfig()`:返回一個`ServletConfig`對象,該對象包含該 servlet 的初始化和啟動參數。 5) `String getServletInfo()`:返回有關 servlet 的信息,例如作者,版本和版權。 ## 例: 在這個例子中,我們通過擴展`Servlet`接口創建了一個 servlet 類。 `index.html` ```java <a href="welcome">Click here to call the servlet</a> ``` `DemoServlet.java` ```java import java.io.*; import javax.servlet.*; public class DemoServlet implements Servlet{ ServletConfig config=null; public void init(ServletConfig config){ this.config=config; System.out.println("Initialization complete"); } public void service(ServletRequest req,ServletResponse res) throws IOException,ServletException{ res.setContentType("text/html"); PrintWriter pwriter=res.getWriter(); pwriter.print("<html>"); pwriter.print("<body>"); pwriter.print("<h1>Servlet Example Program</h1>"); pwriter.print("</body>"); pwriter.print("</html>"); } public void destroy(){ System.out.println("servlet life cycle finished"); } public ServletConfig getServletConfig(){ return config; } public String getServletInfo(){ return "A Demo program written by Chaitanya"; } } ``` `web.xml` ```java <web-app> <servlet> <servlet-name>Beginnersbook</servlet-name> <servlet-class>DemoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Beginnersbook</servlet-name> <url-pattern>/welcome</url-pattern> </servlet-mapping> </web-app> ``` #### 參考: [`Servlet` 接口](https://docs.oracle.com/javaee/7/api/javax/servlet/Servlet.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看