前言
今天来测试一下Servlet的单例模式 看一下到底是不是真的 hhh 希望能帮助到你们需要的人
开发
先看原理图吧
首先用户在客户端发送http请求 进入到web服务器中 然后web服务器去请求servlet容器 请求完毕之后看是否拥有这个Servlet 如果存在就创建实例并返回具体的响应 如果不存在就返回响应404 Servlet实例只会创建一个 再次请求不会去实例化新的实例 是以进程的方式去执行用户请求的 线程不安全的 默认是单例模式的
我们可以来看 Servlet 3.0 使用注解设置路径
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public TestServlet() {
System.out.println("create servlet instance");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
System.out.println("ok");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
只有第一次进来的时候创建实例了 其次都没有在创建新的实例
结语
希望能够帮助到你们哦