1.实例化
第一次请求到达时创建Servlet,服务器自动调用Servlet的构造方法ServletDemo3(),执行一次
2.初始化
前段第一次发送请求,服务器自动调用Servlet的init方法,执行一次
3.请求到达
服务器自动调用Servlet的service方法,前段发送一次请求,就调用一次,执行多次,对于HttpServlet 提供了doGet()方法 和doPost()方法 而service()方法其实包括了这两种
4.服务器销毁
当服务器销毁servlet实例时 调用deStroy()方法 服务器自动调用
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
@WebServlet("/yaya")
public class ServletDemo3 implements Servlet {
public ServletDemo3() {
System.out.println("实例化我只执行一次噢");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("销毁");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("这是第一次访问 我只执行一次");
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("这是第n次访问 我每次都执行");
}
}
前台访问页面的方法
1.根据后台开始时的@WebServlet("/yaya")访问
<form action="yaya" method="post">
<input type="submit">
2.如果后台没有@WebServlet("/yaya"),这时候需要更改web.xml
加入
<servlet>
<servlet-name>123</servlet-name>
<servlet-class>lin.ServletDemo3</servlet-class> <!--包名.类名 -->
</servlet>
<servlet-mapping>
<servlet-name>123</servlet-name>
<url-pattern>/yaya</url-pattern> <!-- form中action提交的东西 -->
</servlet-mapping>
``