servlet学习--运行机制

                      servlet运行流程解析


   一 什么是servlet 


  servlet是运行在服务器上的小程序  主要作用是收集来自用户的输入,操作数据 将最后的结果返回给浏览器。


    二  静态网页  动态网页比较


 静态页面:web页面的数据是不变的,服务器存在的是一个个纯html文件,当客户端(浏览器)发出http请求时,
 服务器根据请求的url地址找到相应的html文件,响应给浏览器。
 动态网页:web页面访问的数据在不同的时间一直在改变,因此服务器除了显示html标记外,还需要操作一些功能,例如
 操作数据库,然后将操作后的结果和html标记一起生成新的html代码,最后返回给客户端。



      三   servlet 生命周期:


      1 初始化 init()只调用一次,第一次创建servlet时被调用,后续请求时不再被调用(只调用一次)
      2 处理客户端请求 调用service()方法 执行实际任务,处理客户端请求 去参数  调用 执行处理
      3 终止方法: destroy()只在servlet生命周期结束时(关闭服务器时)被调用(只调用一次)
      终止包括 关闭数据库连接,停止后台线程  
      注意 :  该方法被调用后 servlet被销毁,但没有被立即收回.0,再次请求时,并没有被重新初始化垃圾回收   




     四    执行流程 





        
  servlet学习--运行机制





 浏览器向服务器发出请求 ,服务器根据ip地址,域名确定是否连接。连接成功后,创建请求头和响应头 第一个http  请求将委派到servlet,之后加载servlet容器,servlet引擎调用sercive()方法,执行请求。 执行完成后,servlet  将结果放入Response头部中 ,最后将之前的请求头和响应头一起发送给服务器(为什么将请求头和响应头一起发  送给内部服务器,就好比你下完订单,客服给你处理完,你是不是要拿着订单和商品检查一下),最后由服务器发  送给客户端。


  注意: 处理中文乱码问题  服务器默认的为 iso-8859-1 编码  我们设置的浏览器字符编码为UTF-8  所以注意中文乱码问题