创建servlet的三种方式(Servlet,GenericServlet,HttpServlet)

1 实现Servlet接口的方式

新建ServletDemo实现类

/*
* 实现Servlet的三种方法
* 1实现Servlet接口
* 缺点:必须实现所有方法
* */
public class ServletDemo 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 {
        servletResponse.setContentType("text/html;charset=utf-8");
        servletResponse.getWriter().write("

hello

"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }

配置web.xml

 
        hello
        /hello
    
    
        servletDemo
        com.by.servlet.ServletDemo
    
    
        servletDemo
        /servletDemo
    

输出结果

 创建servlet的三种方式(Servlet,GenericServlet,HttpServlet)_第1张图片

2 继承GenericServlet抽象类的方式

新建GenericServlet类

/*
* 实现Servlet的三种方法
* 2继承GenericServlet抽象类
* 优点:只用重写service方法
* */
public class GenericServlet extends javax.servlet.GenericServlet {

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        servletResponse.setContentType("text/html;charset=utf-8");
        servletResponse.getWriter().append("我是第二种创建Servlet的方法");
    }
}

 配置web.xml

 
        genericServlet
        com.by.servlet.GenericServlet
    
    
        genericServlet
        /genericServlet
    

 输出结果

3 继承HttpServlet的方式

新建HttpServletDemo类

/*
* 实现Servlet的三种方法
* 3 继承HttpServlet抽象类
1.可以减少对其他方法的要求 init destroy

2.可以根据前端的要求进行分门别类 doGet doPost
* */
public class HttpServletDemo extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().println("我是HttpServlet创建的Servlet");
    }
}

配置web.xml

 
        httpServlet
        com.by.servlet.HttpServletDemo
    
    
        httpServlet
        /httpServlet
    

 输出结果

你可能感兴趣的:(servlet)