web编程--http协议和servlet之我见

 http协议:

      超文本传输协议,是一种无状态协议,就是说客户端发送一次请求,服务器端接收请求,经过处理返回给客户端信息,然后客户端和服务器端的链接就断开了,为了维护他们之间的链接,让服务器知道这是前一个用户发送的请求,必须在一个地方保存客户端的信息,有2中解决方案,一是在客户端保存,二是在服务器端保存。

1.在客户端保存:Cookie

2.在服务器端保存:Session(session需要依靠cookie来实现)

3.在用户禁用cookie的限制下,只能使用URL重写的方式在每次请求之后附上一个键值对来保存客户端的信息。

4.隐藏表单。<input type="hidden" name="method" value="login">

 

servlet

1.service加let的缩写,顾名思义,服务器上运行的java小程序。

2.servlet是用java语言编写,属于javaEE,而非j2se,他是在j2se基础上进行了扩展,并遵循了一定的规范。

3.sevlet用于接收客户端发送的显示数据和隐式数据,并进行处理,然后将结果返回给客户端。

4.servlet和web服务器的不同之处在于web服务器只能返回静态页面,而servlet能够返回动态页面。

为什么servlet能够生成动态页面呢?因为servlet能够通过查询数据库实时生成数据。

 

sevlet处理请求响应全过程

1>>启动web服务器,接收请求。

2>>客户端发送请求

3>>浏览器对请求进行封装,并发送到web服务器端

4>>web服务器对请求信息进行解封装,如果请求的是静态页面,则交由web服务器处理,如果请求的是动态页面,则交由web容器处理。

5>>web容器根据web.xml文件去找相应的servlet类,如果没找到servlet实例,直接返回一个而错误页面给客户端。如果找到servlet,则产生一个新的线程,容器产生request和response对象,request对象封装客户端的请求信息,response对象封装返回给客户端的响应信息,将这2个对象作为参数传递给servlet的service()方法.(在web服务器没有将请求信息交给容器之前,是没有resquest和response对象的,并且这2个对象只能在容器中存在)

6>>servlet对请求信息进行处理,并将响应信息封装到response对象中返回给web服务器,此时再由服务器将响应信息进行封装,发送给客户端,客户端浏览器得到信息之后对其进行解封装,然后显示在浏览器上。

7>>当servlet处理完请求之后,就会刷新response对象,将控制权交给web服务器。

 

servlet生命周期

1>>服务器启动并装载servlet

2>>容器实例化servlet

3>>容器触发init()方法初始化servlet

4>>客户端发送请求,servlet调用service()方法对请求进行处理

5>>容器丢弃servlet,调用servlet的destory()方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值