作者:手机用户2502939003 | 来源:互联网 | 2023-06-02 16:52
Servlet应用程序的工作原理Web容器负责管理JavaEE应用程序的servlet和JSP页面的执行。当收到对Servlet的请求时,服务器会将请求移交给Web容
Servlet应用程序的工作原理 Web容器负责管理Java EE应用程序的servlet和JSP页面的执行。
当收到对Servlet的请求时,服务器会将请求移交给Web容器
Web容器负责实例化servlet或创建一个新线程来处理请求 Its the job of Web Container to get the request and response to the servlet 容器创建多个线程来处理对单个servlet的多个请求。 Servlet没有main()方法。 Web容器管理Servlet实例的生命周期。
用户通过单击具有指向servlet的URL的链接来发送对servlet的请求 The container finds the servlet using deployment descriptor and creates two objects : HttpServletRequest HttpServletResponse 然后容器为该请求创建或分配一个线程,并调用Servlet的service()方法并将请求、响应对象作为参数传递。 然后,service()方法根据客户端发送的HTTP请求方法(Get,Post等)确定要调用的servlet方法doGet()或doPost()。 假设客户端发送了一个HTTP GET请求,那么service()将调用Servlet的doGet()方法。 然后,Servlet使用响应对象将响应写回到客户端。 在service()方法完成之后,线程死亡。 请求和响应对象已准备好进行垃圾回收。 Servlet生命周期 加载Servlet类:当Web容器收到对Servlet的首次请求时,将加载Servlet类。 Servlet实例创建:加载Servlet类后,Web Container会创建它的实例。 Servlet实例在生命周期中仅创建一次。 调用init()方法:Web容器在servlet实例上调用init()方法以初始化servlet。 调用service()方法:每次收到servlet请求时,容器都会调用service()方法。 然后,service()方法将根据HTTP请求的类型调用doGet()或doPost()方法 调用destroy()方法:Web容器在删除servlet实例之前调用destroy()方法,从而使其有机会进行清理活动。