Servlet运行步骤的理解
其实Servlet的运行可以分为请求和响应两部分,这刚好对应service的两个参数HttpServletRequest和HttpServletResponse
具体流程
例子:http://ip:port/applicationName/login?name=Yishen&password=123
- 浏览器使用socket(ip+port)与服务器建立连接
- 浏览器将请求数据按照http协议打成一个数据包(请求数据包)发送给服务器
服务器解析请求数据包并创建请求对象(Request)和响应对象(Response)
请求对象是HttpServletRequest接口的一个实现。响应对象是HttpServletResponse接口的一个实现,响应对象用于存放servlet处理的结果。
服务器将解析之后的数据存放到请求对象(Request)里面
- 服务器依据请求资源路径找到相应的servlet配置,通过反射创建servlet实例
- 然后服务器调用其service()方法,在调用service()方法时,会将事先创建好的请求对象(request)和响应对象(response)作为参数进行传递。
- 在servlet内部,可以通过request获得请求数据,或者通过response设置响应数据
- 服务器从response中获取数据,按照http协议打成一个数据包(响应数据包),发送给浏览器。
- 最后,浏览器会解析响应数据包,取出相应的数据,生成相应的界面。