Web服务器首先检查是否已经装载并创建了该Servlet的实例对象,也就是第一次访问网站的时候打开比较慢,第二次打开的时候就比较快了,因为不用再创建Servlet实例了。
JSP是Servlet的一种,servlet只负责相应产生数据,并把数据通过转发技术带给jsp,数据的显示由jsp来做。
当Web容器接收到某个Servlet请求时,Servlet把请求封装成一个HttpServletRequest对象,然后把对象传给Servlet对应的服务方法。
(1)Web客户向Servlet容器发出Http请求;
(2)Servlet容器基础Web客户的Http请求;
(3)Servlert容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;
(4)Servlet容创建一个HttpResponse对象;
(5)Servlet容器调用HttpServlet的service方法,吧HttpRequest和HttpResponse对象;作为service方法的参数传递给HttpServlet对象;
(6)HttpServlet调用HttpRequest有关方法,获取Http请求信息;
(7)HttpServlet调用HttpResponse有关方法,生成相应的数据;
(8)Servlet容器吧HttpServlet的相应结果传给Web客户。
Servlet工作原理:
1、首先简单解释一下Servlet接收和响应客户请求的过程,首先客户发送一个请求,Servlet是调用service()方法对请求进行响应的,通过源代码可见,service()方法中对请求的方式进行了匹配,选择调用doGet,doPost等这些方法,然后再进入对应的方法中调用逻辑层的方法,实现对客户的响应。在Servlet接口和GenericServlet中是没有doGet()、doPost()等等这些方法的,HttpServlet中定义了这些方法,但是都是返回error信息,所以,我们每次定义一个Servlet的时候,都必须实现doGet或doPost等这些方法。
写在最后
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
最后祝愿各位身体健康,顺利拿到心仪的offer!
由于文章的篇幅有限,所以这次的蚂蚁金服和京东面试题答案整理在了PDF文档里
![蚂蚁、京东Java岗4面:原理+索引+底层+分布式+优化等,已拿offer](https://upload-images.jianshu.io/upload_images/24616006-619e14df79286be9?imag
必看视频!获取2024年最新Java开发全套学习资料 备注Java
eMogr2/auto-orient/strip%7CimageView2/2/w/1240)
%7CimageView2/2/w/1240)
[外链图片转存中…(img-hwgLElRI-1716451532441)]