Servlet 学习 (1月18日)
一、 什么是Servlet?(1). Servlet 是javaEE 规范之一, 规范就是接口 (2). 是javaweb三大组件之一, 三大组件分别是 servlet, Filter过滤器, Listener监听器 (3). 接收客户端发来的请求, 并响应数据发送给客户端二、 手动实现Servlet.
1. 创建一个类 实现Servlet接口, 并重写里面的service() 方法. 一般工程下, 类继承ServletRequest 2. 在 web.xml 中配置servlet 程序的 访问地址. ```java三、 url地址如何定位 四、 Servlet 的生命周期HelloServlet com.langsin.show.HelloServlet ``` 配置Servlet 遇到的 常见错误 1. url-pattern 的 值不是以 斜杠 / 开头 2. servlet-mapping 中的servlet-name 与 servlet 中 servlet-name 值不一致 3. servlet 中 servlet-class 的全类名路径不对 HelloServlet /Hello
1. 先执行servlet的构造方法 2. 执行servlet 中的init() 方法 // 1 和 2 只有在程序刚开始执行时, 执行一次 3. 执行service() 方法 // 浏览器没刷新一次, 该方法就执行一次 4. 执行destroy() 方法 // 当停止执行该程序的时候, 执行该方法五、 eclipse 直接创建 一个Servlet 程序

@WebServlet(
name=“Hello”,
urlPatterns={"/hello3"},
loadonStartup=1
) 就相当于下面这些代码
1. 可以获取servlet程序的别名. servletConfig.getservletname() 2. 可以获取初始化参数 init-param.七、 servletContext 类的 四大作用里面包含类似键值对 ( 和 ) 3. 可以获取servletContext 对象. ***注意:*** 重写init方法时, init方法里面一定要调用父类的init(servletConfig)方法.
1. 获取web.xml中 上下文参数 context-param
ServletContext context = getServletContext();
String initParameter = context.getInitParameter("password");
2. 获取当前的工程路径
```java
String path = context.getContextPath();
```
3. 获取工程部署在服务器硬盘上的绝对路径
```java
String realPath = context.getRealPath("/css");
System.out.println(realPath);
```
4. 像map一样存储数据
getAttribute()
八、 HTTP协议
客户端给服务端发送数据叫请求, 服务端给客户端传回数据叫 响应.
请求 分为 GET 请求 和 POST 请求
1. GET请求 (请求行 和 请求头)

2. POST请求
请求行 , 请求头 , 空格, 请求体
3. 区分GET请求 和 POST请求
GET请求:
(1). form标签, method=get
(2). a标签
(3). link标签引入css
(4). script标签引入js文件
(5). img标签引入图片
(6). iframe引入 html 页面
(7). 在浏览器中输入地址敲回车
POST请求:
form标签, method=post
4. HTTP协议响应示例 (响应行, 响应头, 空格, 响应体)

5. 常见的响应状态码
200 表示请求成功
302 表示请求重定向
404 表示请求服务器已经收到了, 但你请求的数据不存在 (网页地址错误)
500 表示服务器已经收到请求, 但服务器内部错误 (代码错误)
6. MIME类型 (HTTP 数据类型) 格式是 大类型/小类型
九、 请求转发
十、 请求重定向
请求重定向的特点:
1. 地址栏会发生改变
2. 两次请求
3. 不共享Request域中的数据
4. 不能访问WEB-INF下的资源
5. 能够访问工程外的资源



