Servlet實現的三種方式
阿新 • • 發佈:2021-12-16
Servlet實現的三種方式
- 實現Servlet介面
- 繼承GenericServlet介面
- 繼承HttpServlet介面
Servlet的體系結構
實現Servlet介面
例如:
LoginServlet.jsp
/**登入服務 * @author admin */ @WebServlet("/ms") public class LoginServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Overridepublic ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { } @Override public String getServletInfo() { return null; } @Overridepublic 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 { } }
與其他兩種實現方式不同的地方:
- 將service()方法一分為doGet(),doPost()兩個方法。
- 引數從ServletRequest ,ServletResponse變為HttpServletRequest ,HttpServletResponse,HttpServletRequest繼承了ServletRequest的引數。
- 多出來的Http可以獲得一些http相關的資訊
如何在idea的包新建檔案選項中,新增新建預設Servlet的選項
1.第一步
2.第二步
3.第三步,勾選這裡
4.第四步,選中一個包名--->滑鼠右鍵--->new--->Create New Servlet