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*********");
}
}