Servlet笔记

什么是 Servlet

1Servlet JavaEE 规范之一。规范就是接口

2Servlet JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。

3Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

b)手动实现 Servlet 程序

1、编写一个类去实现 Servlet 接口(通常继承HttpServlet)

一般在实际项目开发中,都是使用继承 HttpServlet 类的方式去实现 Servlet 程序。

1、编写一个类去继承 HttpServlet

2、根据业务需要重写 doGet doPost 方法

3、到 web.xml 中的配置 Servlet 程序的访问地址

2、实现 service 方法,处理请求,并响应数据

3、到 web.xml 中去配置 servlet 程序的访问地址

Servlet 的生命周期

1、执行 Servlet 构造器方法

2、执行 init 初始化方法

第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。

3、执行 service 方法

第三步,每次访问都会调用。页面刷新时不断调用,但不会再次调用1,2步;

4、执行 destroy 销毁方法

第四步,在 web 工程停止的时候调用

ServletConfig

ServletConfig 类是 Servlet 程序的配置信息类。

Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。

Servlet 程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。

a)ServletConfig 类的三大作用

1、可以获取 Servlet 程序的别名 servlet-name 值      getServletName()

2、获取初始化参数init-param                               getInitParameter()

3、获取 ServletContext 对象                                getServletContext()

如果子类重写了Init()方法一定要调用父类Init() 操作。

ServletContext

a)什么是 ServletContext?

1ServletContext 是一个接口,它表示 Servlet 上下文对象

2、一个 web 工程,只有一个 ServletContext 对象实例。

3ServletContext 对象是一个域对象。

4ServletContext 是在 web 工程部署启动的时候创建。在 web 工程停止的时候销毁。

什么是域对象?

域对象,是可以像 Map 一样存取数据的对象,叫域对象。

这里的域指的是存取数据的操作范围,整个 web 工程。

Map中方法  :    

put()  get()  remove()

域对象中方法:

setAttribute()getAttribute()removeAttribute()

b)ServletContext 类的四个作用

1、获取 web.xml 中配置的上下文参数 context-param    getInitParameter()

2、获取当前的工程路径,格式: /工程路径              getContextPath()

3、获取工程部署后在服务器硬盘上的绝对路径          getRealPath()

4、像 Map 一样存取数据

GET 请求

1、请求行

(1) 请求的方式 GET

(2) 请求的资源路径[+?+请求参数]

(3) 请求的协议的版本号 HTTP/1.1

2、请求头 key : value 组成 不同的键值对,表示不同的含义。

POST 请求

1、请求行

(1) 请求的方式 POST

(2) 请求的资源路径[+?+请求参数]

(3) 请求的协议的版本号 HTTP/1.1

2、请求头key : value 不同的请求头,有不同的含义

空行

3、请求体 ===>>> 就是发送给服务器的数据

哪些是 GET 请求,哪些是 POST 请求

GET 请求有哪些:

1form 标签 method=get

2a 标签

3link 标签引入 css

4Script 标签引入 js 文件

5img 标签引入图片

6iframe 引入 html 页面

7、在浏览器地址栏中输入地址后敲回车

POST 请求有哪些:

8form 标签 method=post

HttpServletRequest

a)HttpServletRequest 类有什么作用。

每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Request 对象中。

然后传递到 service 方法(doGet doPost)中给我们使用。我们可以通过 HttpServletRequest 对象,获取到所有请求的

信息。

b)HttpServletRequest 类的常用方法

i. getRequestURI() 获取请求的资源路径

ii. getRequestURL() 获取请求的统一资源定位符(绝对路径)

iii. getRemoteHost() 获取客户端的 ip 地址

iv. getHeader() 获取请求头

v. getParameter() 获取请求的参数

vi. getParameterValues() 获取请求的参数(多个值的时候使用)

vii. getMethod() 获取请求的方式 GET POST

viii. setAttribute(key, value); 设置域数据

ix. getAttribute(key); 获取域数据

x. getRequestDispatcher() 获取请求转发对象

HttpServletResponse 类的作用

HttpServletResponse 类和 HttpServletRequest 类一样。每次请求进来,Tomcat 服务器都会创建一个 Response 对象传

递给 Servlet 程序去使用。HttpServletRequest 表示请求过来的信息,HttpServletResponse 表示所有响应的信息,

我们如果需要设置返回给客户端的信息,都可以通过 HttpServletResponse 对象来进行设置

b)两个输出流的说明。

字节流 getOutputStream(); 常用于下载(传递二进制数据)

字符流 getWriter(); 常用于回传字符串(常用)

两个流同时只能使用一个。

使用了字节流,就不能再使用字符流,反之亦然,否则就会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值