1. 程式人生 > 其它 >Servlet實現的三種方式

Servlet實現的三種方式

Servlet實現的三種方式

  1. 實現Servlet介面
  2. 繼承GenericServlet介面
  3. 繼承HttpServlet介面

Servlet的體系結構

實現Servlet介面

例如:

LoginServlet.jsp

/**登入服務
 * @author admin
 */
@WebServlet("/ms")
public class LoginServlet implements Servlet {
    
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    
public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { } @Override public String getServletInfo() { return null; } @Override
public void destroy() { } }

繼承GenericServlet介面

/**登入服務
 * @author admin
 */
@WebServlet("/ms")
public class LoginServlet extends GenericServlet{
    
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        
    }
}

幫我們實現的很多的方法但都是空實現,只留下了最重要的service()方法

繼承HttpServlet介面

/**登入服務
 * @author admin
 */
@WebServlet("/ms")
public class LoginServlet extends HttpServlet{

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

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

    }

}

與其他兩種實現方式不同的地方:

  1. 將service()方法一分為doGet(),doPost()兩個方法。
  2. 引數從ServletRequest ,ServletResponse變為HttpServletRequest ,HttpServletResponse,HttpServletRequest繼承了ServletRequest的引數。
  3. 多出來的Http可以獲得一些http相關的資訊
如何在idea的包新建檔案選項中,新增新建預設Servlet的選項

1.第一步

2.第二步

3.第三步,勾選這裡

4.第四步,選中一個包名--->滑鼠右鍵--->new--->Create New Servlet