您的位置:首页 > 编程语言 > Java开发

servlet学习--运行机制

2018-01-18 21:21 225 查看

servlet运行流程解析

一 什么是servlet

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

二 静态网页 动态网页比较

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

三 servlet 生命周期:

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

四 执行流程



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

注意: 处理中文乱码问题 服务器默认的为 iso-8859-1 编码 我们设置的浏览器字符编码为UTF-8 所以注意中文乱码问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息