Servlet执行原理
概念:Servlet是运行在服务器上的小程序
当客户端发送请求地址,tomcat服务器中的tomcat引擎会解析资源地址(通过配置文件,找到相应的类),然后创建对象,调用其中的方法。
有时候可以不用配置文件配置路径,用注解的方式
@WebServlet("/demo")
Servlet的生命周期
servlet接口中的方法
- (1)int(ServletConfig config)
- servlet对象创建的时候执行,只会执行一次
- ServletConfig代表servlet对象配置xinxi
- (2)service(ServletRequest request,ServlcetResponse response)
- 每次请求都会执行
- ServletRequest封装的http请求信息
- ServlcetResponse响应要封装的响应信息
- (3)destroy()
- servlet销毁的时候执行
- 只有服务器正常关闭是才会执行
- 在servlet销毁之前执行
HttpServlet:对http协议的一种封装,简化操作
1.定义类继承HttpServlet
2.复写doGet/doPost方法
http的三种路径配置方式:
@WebServlet("/demo")
@WebServlet("/demo/aaa/bb/")
@WebServlet(".adbc")
注意:第二种和第三种不能混用
HTTP(超文本传输协议)
HTTP是超文本传输协议,定义了客户端像服务端通信时,发送的数据的格式。
1.HTTP的请求数据格式
1.请求行
请求方式 请求url 请求版本
GET /login.html HTTP/1.1
**请求方式**(7种):
GET:数据会显示在地址栏中参数在请求行中,而且url的长度也会有限制,不太安全
POST:参数数据不会出现在url状态栏中在请求体中,url长度没有限制,相对于安全
2.请求头
请求头名称:请求头值
常见的请求头:
1.POST /login.html HTTP/1.1
2.HOST: loaclhost
3.user-Agent:浏览器高数服务器,我访问你是用的浏览器的版本信息(可以解决兼容性问题)
4.Referer:http://localhost/login.html (作用防盗链,统计工作)
3.请求体(正文)
1.HTTP的响应数据格式:服务端发送欸客户端的数据
1.响应行:
* 1.组成:协议/版本 响应状态码 状态码的描述
2.响应头
* 格式 头名称:值
* 常见的响应头:
* Content-type:服务器告诉客户端本次响应体数据格式以及编码格式text/utf-8
* Content-disposition:服务器告诉客户端以什么格式打开响应的体数据
* in-line:默认值,在当前页面内打开
* attachment;filename=xxx:以附件形式打开响应体。文件下载
3.响应体