Request&Response

Request

介绍

是从客户端向服务器发出请求(HTTP中)

一、请求体

1.获取请求内容

1.String  getParameter("参数名")  //获取参数值 ,值是一个
2.String[]  getParameterValues("参数名")   //获取参数值,值是多个
3.Map<String,String[]>  getParameterMap() //获取所有的参数名值对集合
注意:ParameterMap  key:参数名 value:参数值

2.请求转发

在这里插入图片描述request.getRequestDispatcher("/servlet").forward(request, response);//请求转发

3.请求域对象

request对象可以作为一个作用域对象存取自定义属性数据
在这里插入图片描述
void setAttribute(String name, Object o) 设置自定义属性值
Object getAttribute(String name) 获取属性值
void removeAttribute(String name) 移除属性值

二、请求行

request.getMethod() //请求方式
request.getProtocol() //请求协议
request.getRequestURI() //请求的uri
request.getRequestURL() //请求url
request.getRemoteAddr() //浏览器ip地址
request.getLocalPort() //服务器端口

三、请求头

request.getHeader(String key)  获取请求头信息
例如:Referer 请求从哪个页面发起
例如:User-Agent 浏览器信息

Response

介绍

表示服务器给浏览器的响应信息

一、响应头及响应体(响应内容)

响应重定向

在这里插入图片描述

location:重定向 
response.setHeader("location", "/day31/sd4"); //响应头location(不用)
response.setStatus(302); //响应状态码302(使用)简写:response.sendRedirect("url");//响应重定向,同上

二、响应内容

content-type: 内容类型和编码 配合响应内容使用
(不用)response.setHeader("content-type","文件的类型;charset=utf-8");	//设置响应内容类型			
(使用)简写:response.setContentType("文件的类型;charset=utf-8");//同上
response.getWriter();//获取通向浏览器的字符输出流

三、响应定时刷新

refresh:定时刷新 也会有响应内容
(理解)response.setHeader(“refresh”,“秒数;url=跳转的路径”);

四、响应字节(下载文件)

response.setContentType(“application/x-download”);//类型为文件类型
response.setHeader(“Content-disposition”, "attachment;filename="new String(fileName.getBytes(“GB2312”), “ISO8859-1”));
//文件名编码处理,防止浏览器下载中文文件名乱码
response.setHeader(“Content-Disposition”,“inline; filename=”+ fileName);
//设置响应头信息,表示响应内容为内联,即在页面内显示(默认,了解)
response.getOutputStream();//获取通向浏览器的字节输出流

转发和重定向区别

1.转发:

登录失败,回到登录页面

2.重定向:

登录成功,跳转页面

提交表单

增、删、改

3.谁的方法:

转发是请求requset的方法

重定向是响应对象response的方法

4.几次请求:

转发是一个请求:

​ 服务器中多个servelt之间转发的都是这个请求

​ 浏览器地址栏中的地址不变

重定向是两次请求:

​ 两次请求分别创建两个请求对象

​ 浏览器地址会改变

5.取得资源:

转发:只能再当前项目中的servlet之间转发,("/当前项目中的servlet")

重定向:获取的是互联网任意网路资源的地址,("/tomcat根目录/…")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值