Servlet学习笔记一

来源:互联网 发布:免费刷超级会员软件 编辑:程序博客网 时间:2024/05/01 14:38

一.什么是Servlet
sun公司制定的一种用来扩展web服务器功能的组件规范
(1)扩展web服务器
web服务器通常只能够处理静态资源的请求,可以使用servlet来扩展
(2) 组件规范
(1)什么是组件
符合一定规范,实现部分功能的,并且需要部署到相应的容器里
才能运行的软件模块。
servlet是一个组件,需要部署到相应的servlet容器中才能运行
(2)什么是容器
符合一定规范,提供组件运行环境的程序
tomcat就是一个容器,提供了servlet的运行环境
二.Servlet是如何运行的
比如在浏览器地址栏输入 http://ip:port/web/hello
(1)浏览器端:有一个通信模块,通信模块通过ip,端口号连接tomcat,tomcat也有一个通信模块,负责接收socket,创建线程,建立连接,B->S遵循http协议,意思浏览器端的通信模块负责打包,(制作一个数据包,遵循http协议),协议包发送到tomcat,tomcat将解析好的数据放入request对象中,tomcat容器通过请求路径找到相应的项目下的web.xml,根据对应的pattern找到相应的servlet,创建servlet对象,容器调用对象的service方法,将一开始解析数据包之后创建的request和response对象传入service方法,进行相应的操作(调用request获取一些参数值,对数据进行一定的处理后 通过调用response对浏览器进行响应)。最后将所有相关数据由tomcat生成响应数据包,发送给客户端
总结:
(1)浏览器通过ip.port建立连接
(2)浏览器将相关数据(如请求参数)打包,然后发送请求
(3)容器解析请求数据包,并将解析得到的相关数据封装到request对象中,同时创建response对象
(4)容器创建servlet对象,然后调用该对象的service方法,与此同时,将前面创建的request和response对象作为参数传入。
(5)容器读取response中的处理结果,将处理结果打包发送给浏览器,浏览器解析响应数据包,
这里写图片描述
三、常见状态码
(1)404
服务器依据请求地址找不到响应的资源
(2)500
程序在运行过程中出错

0 0