Servlet实现一共有三种方式:
Servlet --> GenericServlet --> HttpServlet
Servlet是GenericServlet的父类
GenericServlet是HttpServlet的父类
1.实现 javax.servlet.Servlet接口
public class mysevlet implements Servlet{ public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub } public ServletConfig getServletConfig() { // TODO Auto-generated method stub return null; } public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub } public String getServletInfo() { // TODO Auto-generated method stub return null; } public void destroy() { // TODO Auto-generated method stub } }
2.继承GenericServlet类
GenericServlet抽象类中只有一个抽象方法service()方法,适配器模式
public abstract class GenericServletextends java.lang.Objectimplements Servlet, ServletConfig, java.io.Serializable
package com.zk.myservlet; import java.io.IOException; import javax.servlet.GenericServlet; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class myServlet extends GenericServlet{ @Override public void init() throws ServletException { // TODO Auto-generated method stub super.init(); System.out.println("GenericServlet init...初始化"); } @Override public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("GenericServlet servlet demo2"); } @Override public void destroy() { // TODO Auto-generated method stub super.destroy(); System.out.println("GenericServlet destory...结束"); } }
3.继承HttpServlet类
public abstract class HttpServletextends GenericServletimplements java.io.Serializable
public class myservlet2 extends HttpServlet{ int num=1; //servlet->GenericServlet->HttpServlet @Override public void init() throws ServletException { // TODO Auto-generated method stub super.init(); System.out.println("HttpServlet...init...初始化"); } @Override public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { // TODO Auto-generated method stub num++; System.out.println(num); System.out.println("HttpServlet...servlet demo2"); } @Override public void destroy() { // TODO Auto-generated method stub super.destroy(); System.out.println("HttpServlet...destory...结束"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(req, resp); System.out.println("********hello********"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doPost(req, resp); System.out.println("**********world*********"); } }