Servlet的运行步骤

Servlet运行步骤的理解

其实Servlet的运行可以分为请求和响应两部分,这刚好对应service的两个参数HttpServletRequestHttpServletResponse

具体流程

例子:http://ip:port/applicationName/login?name=Yishen&password=123

  1. 浏览器使用socket(ip+port)与服务器建立连接
  2. 浏览器将请求数据按照http协议打成一个数据包(请求数据包)发送给服务器
  3. 服务器解析请求数据包并创建请求对象(Request)和响应对象(Response)

    请求对象是HttpServletRequest接口的一个实现。响应对象是HttpServletResponse接口的一个实现,响应对象用于存放servlet处理的结果。

  4. 服务器将解析之后的数据存放到请求对象(Request)里面

  5. 服务器依据请求资源路径找到相应的servlet配置,通过反射创建servlet实例
  6. 然后服务器调用其service()方法,在调用service()方法时,会将事先创建好的请求对象(request)和响应对象(response)作为参数进行传递。
  7. 在servlet内部,可以通过request获得请求数据,或者通过response设置响应数据
  8. 服务器从response中获取数据,按照http协议打成一个数据包(响应数据包),发送给浏览器。
  9. 最后,浏览器会解析响应数据包,取出相应的数据,生成相应的界面。

附上一张Servlet运行步骤的图片

Servlet的运行步骤