响应和请求概述

1、请求-reques

(1)request概述

request是Servlet.service()方法的一个参数,类型为javax.servlet.http.HttpServletRequest。在客户端发出每个请求时,服务器都会创建一个request对象,并把请求数据封装到request中,然后再调用Servlet.service()方法时传递给service()方法,这说明在service()方法中可以通过request对象来获取请求数据。

request的功能可以分为以下几种:

封装了请求头数据;

封装了请求正文数据,如果是GET请求,那么就没有正文;

request是一个域对象,可以把它当成Map来添加获取数据;

request提供了请求转发和请求包含功能。(以后学习)

(2)request获取请求头数据

request与请求头相关的方法有:

String getHeader(String name):获取指定名称的请求头;

Enumeration getHeaderNames():获取所有请求头名称;

Int getIntHeader(String name):获取值为int类型的请求头。

(3)request获取请求相关的其它方法

request中还提供了与请求相关的其他方法,有些方法是为了我们更加便捷的方法请求头数据而设计,有些是与请求URL相关的方法。

int getContentLength():获取请求体的字节数,GET请求没有请求体,没有请求体返回-1;

String getContentType():获取请求类型,如果请求是GET,那么这个方法返回null;如果是POST请求,那么默认为application/x-www-form-urlencoded,表示请求体内容使用了URL编码;

String getMethod():返回请求方法,例如:GET

Locale getLocale():返回当前客户端浏览器的Locale。java.util.Locale表示国家和言语,这个东西在国际化中很有用;

String getCharacterEncoding():获取请求编码,如果没有setCharacterEncoding(),那么返回null,表示使用ISO-8859-1编码;

void setCharacterEncoding(String code):设置请求编码,只对请求体有效!注意,对于GET而言,没有请求体!!!所以此方法只能对POST请求中的参数有效!

String getContextPath():返回上下文路径,例如:/hello

String getQueryString():返回请求URL中的参数,例如:name=zhangSan

String getRequestURI():返回请求URI路径,例如:/hello/oneServlet

StringBuffer getRequestURL():

String getServletPath():返回Servlet路径,例如:/oneServlet

String getRemoteAddr():返回当前客户端的IP地址;

String getRemoteHost():返回当前客户端的主机名,但这个方法的实现还是获取IP地址;

String getScheme():返回请求协议,例如:http;

String getServerName():返回主机名,例如:localhost

int getServerPort():返回服务器端口号,例如:8080

2、响应-response

(1)response概述

​ response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletResponse。

​ 在客户端发出每个请求时,服务器都会创建一个response对象,并传入给Servlet.service()方法。response对象是用来对客户端进行响应的,这说明在service()方法中使用response对象可以完成对客户端的响应工作。

response对象的功能分为以下四种:

设置响应头信息;

发送状态码;

设置响应正文;

重定向。

(2)response响应正文

response是响应对象,向客户端输出响应正文(响应体)可以使用response的响应流,repsonse一共提供了两个响应流对象:

PrintWriter out = response.getWriter():获取字符流,处理字符;

ServletOutputStream out = response.getOutputStream():获取字节流,处理文件;

但是不能同时使用这两个流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值