比如:从浏览器中输入http://ip:port/firstweb/sayHello
运行过程:
step1:浏览器依据ip、port链接服务器(即发布项目的计算机或说服务器)
step2:浏览器将请求资源路径(//firstweb/sayHello)及相关参数打包(按照HTTP协议)发送给容器
step3:容器会拆包,将得到的数据存放到一个request对象里面,同时还会创建一个response对象。
step4:容器依据请求资源路径找到servlet的配置,然后创建servlet对象(这里会创建HttpServlet对象)。
step5:容器调用Servlet的service方法(会将前面创建的request对象和response对象作为参数传递进来)可以在该方法中通过访问request对象的相应方法来获取参数值,也可以将处理结果写到response对象里,正因为有这样两个对象,servlet不用考虑网络相关的配置(比如获取请求参数,就不用打包,同样,将结果输出给浏览器,也不需要打包)。
step6:容器将response中数据打包,发送给浏览器。
step7:浏览器拆包,获取数据后利用html进行显示相应的处理结果。