Servlet执行流程
我们前面通过浏览器中输入http://localhost:8080/web-demo/demo1来访问到了我们的Servlet类, 那么具体的我们是如何访问到我们的Servlet类的?
-
首先我们的http://localhost:8080就可以帮助我们定位到本机的端口号为8080的进程中(也就是我们正在运行的tomcat服务器中)
- tomcat服务器的默认端口号就是8080
-
通过/web-demo访问到了我们的部署到tomcat服务器中的访问路径为web-demo的工程
-
通过/demo1访问到了我们的web-demo工程下访问路径为demo1的Servlet类
那么我们再来进行一个分析:我们可以发现, 当我们的Servlet类被访问到之后就会自动执行我们在Servlet类中重写的service()方法, 但是我们并没有去创建Servlet对象, 那么Servlet类中的重写的Servlet方法时如何执行的? 是由谁调用的?
Servlet类的对象是由我们的Web容器(web服务器)创建, Service()方法也是由Web服务器在某个时机调用的
- 但是我们的web服务器肯定也是通过Servlet类的对象去调用的Servlet类中重写的Service()方法
服务器是如何知道Servlet类中一定有service()方法?(为什么web服务器敢在指定的时机去使用Servlet类的对象去调用service()方法?)
因为我们的Servlet类中必须要重写Servlet接口中的五个抽象方法 , 其中就包括我们的service()方法