了解Servlet的朋友http

Servlet 注解配置

不用配置web.xml,
方式一:直接在类上写:@WebServlet(urlPatterns="/demo")
方式二:或者:value属性很特别,一般最重要的属性用value表示,当只有一个属性时,value可以不写
urlPatterns很重要,所以又可以将上面的写成@WebServlet(value="/demo"),value可以省略,因此可以写成@WebServlet("/demo")

一个Servlet可以定义多个访问路径:@WebServlet({"/demo1","/demo2"}),因为它是数组,一般还是定义一个

IDEA与tomcat的相关配置

(1)IDEA会为每一个tomcat部署的项目单独建立一份配置文件
查看控制台的log:Using CATALINA_BASE: “C:\Users\kenslu.IntelliJIdea2019.2\system\tomcat_servletProce”
(2)工作空间项目 和 tomcat部署项目的web项目
tomcat真正访问的是“tomcat部署的web项目”,“tomcat部署的web项目” 对应着 “工作空间项目”的web目录下的所有资源。
WEB-INF目录下的资源不能被浏览器直接访问。
(3)断点调试:使用“小虫子”启动,即dubug启动。

Servlet的体系结构

Servlet --接口
|
GenericServlet --抽象类
|
HttpServlet --抽象类

GenericServlet:将Servlet接口中其他的方法做了默认实现,只将service()方法抽象
将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可(真正开发不用)

HttpServlet:对http协议的一种封装,简化操作
定义类,继承HttpServlet
复写doGet/doPost方法

HTTP:

概念:Hyper Text Transfer Protocol 超文本传输协议
什么是传输协议:定义了,客户端和服务器端通信时,发送数据的格式
特点
(1)基于TCP/IP的高级协议
(2)默认端口号:80
(3)基于请求/响应模型:一次请求对应一次响应
(4)无状态的:每次请求之间相互独立,不能交互数据
历史版本:
1.0:每次请求和相应都会建立新的连接(每个网页的CSS和每一张图片都是一次请求)
1.1:复用连接(接到响应后,会等一会,如果还有请求发送,就用刚才的,如果没有了,再断开连接)

请求消息数据格式

1、请求行
请求方式 请求url 请求协议/版本
GET /login.html HTTP/1.1

请求方式:
HTTP协议有7中请求方式,常用的有2中
GET:
(1)请求参数在请求行中,在url后
(2)请求的url长度有限制的
(3)不太安全
POST:
(1)请求参数在请求体中
(2)请求的url长度没有限制
(3)相对安全

2、请求头:浏览器告诉服务器一些信息
请求头名称:请求头值
常见的请求头:
(1)User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息
作用:可以在服务器端获取该头的信息,解决浏览器的兼容性问题
(2)Referer: http://localhost/login.html
告诉服务器,我(当前请求)从哪里来
作用:防盗链和做统计
3、请求空行
空行。 就是用于分割POST请求的请求头和请求体的。
4、请求体(正文)
封装POST请求消息的请求参数的

猜你喜欢

转载自blog.csdn.net/qq_42524288/article/details/103721948
今日推荐