java servlet工作原理是什么?servlet结构详解

TheDisguiser 2020-06-21 19:19:00 java常见问答 5676

一般学习过java一段时间的小伙伴们应该都知道Servlet吧,一些特殊的场景有时候离不开它,小伙伴们知道servlet的工作原理是什么吗?快听小编为你介绍介绍吧。

一、客户发出请求—>Web 服务器转发到Web容器Tomcat;

二、Tomcat服务器主线程响应用户转发请求并为此创造两个对象:HttpServletRequest和HttpServletResponse;

三、从请求的URL中找到对应的Servlet,Tomcat服务器会为它创建或分配一个线程,同时把上一步创建的两个对象传递给该线程;

四、Tomcat服务器调用Servlet中servic()方法,然后根据请求参数不同调用doGet()或者doPost()方法;

五、如果是HTTP GET请求就使用doGet()方法生成静态页面,再组合到响应对象里;

Servlet线程结束时:Tomcat服务器会把响应对象转换为HTTP响应发回给客户,同时删除请求和响应对象。

Servlet生命周期可以理解为:

1)、Servlet类加载;

2)、Servlet实例化;

3)调用init方法;

4)调用service()方法;

5)调用destroy()方法。

PS:

1)、Servlet对象创建时机:

在全部为默认的情况下,web客户端第一次请求访问某个Servlet的时候,WEB容器就会创建这个Servlet的实例。

在web.xml文件中,如果元素指定了子元素时,Servlet容器就会在启动web服务器时,按顺序创建并初始化Servlet对象。

Servlet Servlet容器会在启动时自动创建Servlet,这是由在web.xml文件中为Servlet设置的属性决定的。

2)、 在Servlet接口与GenericServlet中是没有doGet()、doPost()等方法的,它们都是在HttpServlet中定义的,但返回的都是error信息,因此,我们每次在定义一个Servlet的时候,都必须实现doGet或doPost等这些方法。HttpServlet是继承于GenericServlet实现的。

Servlet体系结构

java servlet工作原理是什么

以上就是servlet工作原理的所有详情,关于servlet你知道它是如何工作了的吧,如果你还有其他疑问,想了解更多其他的java常见问题及答案,就快关注我们的网站了解具体内容吧。

推荐阅读:

java servlet教程,servlet开发实例详解

servlet和jsp的区别是什么?有什么区别?

servlet是什么?servlet的理解