Servler执行原理
通俗的理解:
1.用户发送在浏览器发送请求到服务器,服务器会对URL进行解析,获取访问到servlet的资源路径。
2.查找到web.xml文件,是否有对应的<url-pattern>标签体内容。如果有,则会找到<servlet-class>全类名,然后tomcat会对字节码文件加载到内存,并创建对象。(具体实现用到了反射),再调用其方法。如果没有,tomcat会直接在浏览器返回404.
专业性的理解:
一、servlet的生命周期
servlet的生命周期:servlet加载 -- 实例化 -- 服务 -- 销毁
1.init():初始化servlet对象,仅执行一次
2.service():负责浏览器的请求
3.destroy():释放servlet资源,并且销毁
二、tomcat 配合 servlet工作
1.浏览器想servlet容器发送请求。
2.servlet容器创建一个httprequest对象,将浏览器请求的信息封装到这个对象中。
3.servlet容器创建一个httpresponse对象。
4.servlet容器调用httprequest对象中的service方法,把httprequest对象与httpresponse对象作为参数传给httpservlet对象。
5.httpservlet调用httprequest对象的有关方法,获取http请求信息。
6.httpservlet调用httpresponse对象的有关方法,生成响应数据。
7.servle容器把httpservlet响应的结果发送给浏览器