HTTP协议
http://localhost:8080/JavaWeb_day11_web/
协议:规定客户端 与 服务器传递数据的格式
HTTP协议的内容
请求
请求行 :包含url信息 和 协议信息
请求头 : 包含用户发送的数据描述信息和浏览器相关的描述信息,不需要手动,是由浏览器处理的
请求正文: 请求体中携带的数据 如:用户登录注册输入的信息
响应
响应行 :协议信息版本号
响应头 :服务器告诉浏览器的一些信息
响应正文:服务器响应给浏览器的源码
4. Servlet
理解:
Servlet 是运行在 Web 服务器中的小型 Java 程序。Servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。
① Servlet是一个Java接口
② 需要运行在服务器中
③ 可以处理来自客户端的请求和响应
作用:
处理来自客户端的请求和响应
使用:
① 自定义类实现Servlet接口
② 实现Servlet中未实现方法 5
③ 配置Servlet的访问路径
在web.xml文件中配置
<!--声明Servlet-->
<servlet>
<servlet-name>MyServlet1</servlet-name>
<servlet-class>com.ujiuye.servlet.MyServlet1</servlet-class>
</servlet>
<!--配置访问路径-->
<servlet-mapping>
<servlet-name>MyServlet1</servlet-name>
<!--http://localhost:8080/JavaWeb_day11_web/xx-->
<url-pattern>/xx</url-pattern>
</servlet-mapping>
使用注意事项
1. Servlet是由谁实例化的? 由tomcat服务器(Servlet容器)实例化的
2. Servlet实例化几次?只初始化一次
3. Servlet什么时候初始化的?第一次请求
4. 一个Servlet可以设置多少个访问路径?可以设置多个访问路径
5. 一个路径可以访问多个Servlet吗?一个路径只能映射一个Servlet
6. 路径多元化
/xx 一层
/xx/xxx/xxxx 多层
/* 除去已经配置过的路径的其他任意路径
*.png 后缀的形式
浏览器请求Servlet的过程
1. 当浏览器url中输入http://localhost:8080/JavaWeb_day11_web/xx
2. 根据/xx 匹配web.xml中的<servlet-mapping>中的<url-pattern>
3. 没有匹配到 报404未找到 如果匹配到
4. 再根据匹配到的<servlet-mapping>中的<servlet-name>,根据这个<servlet-name> 进步匹配 <servlet>中的<servlet-name>
5. 没有匹配到 报404未找到 如果匹配到
6. 根据当前的<servlet-name>找对应的<servlet-class>
7. 反射机制加载当前类
Servlet的生命周期方法
init 初始化方法 默认当第一次请求Servlet时执行该方法 对Servlet做初始化操作。
service 处理客户端请求和响应 实现浏览器和Servlet交互
destory 销毁方法 服务器关闭 移出应用 tomcat销毁当前Servlet
Servlet的进化史
1. GenericServlet抽象类 实现了Servlet接口,并且实现了除service之外的其他方法
2. HttpServlet 继承了GenericServlet 实现service方法 根据HTTP协议的请求方式执行不同的方法doXx,然后定义自己的service方法。开发者使用只需要重写对应请求方式的doXx 或者重写service方法注解的方式使用HttpServlet