学习地址:
撩课-JavaWeb系列1之基础语法-前端基础
撩课-JavaWeb系列2之XML
撩课-JavaWeb系列3之MySQL
撩课-JavaWeb系列4之JDBC
撩课-JavaWeb系列5之web服务器-idea
课程下载地址:
链接:https://pan.baidu.com/s/1qilY0kIpgnxuLELxjNIQxw 提取码:4s9t
12-撩课JavaEE-Response
12-撩课JavaEE-Response

一、response响应过程

牢记响应的流程图

在去发送一个请求时,
会找到tomcat引擎
引擎会找到对应的web应用
并且会创建request对象
和response对象

找到应用后, 
会执行应用的web.xml
再去根据url-patten的内容
创建Servlet对象

并且会调用Servlet对象的service方法,
并且把创建的request对象和response对象
传入到方法当中

拿到response对象后,
自己可以往响应当中
写入一些自己给客户端的内容

通过response.getwrite().wirte("写的内容")
方法进行写入
写的内容,
是存到一个response缓冲区当中
当方法执行结束之后,
 tomcat就会从response缓冲区
当中取出数据
取出你的数据同时,

它自己还会自动的往里面
添加一些服务器相关的信息进去
所以响应给浏览器时, 
可以看到除了自己写的内容, 
还会有一些服务器相关的信息

12-撩课JavaEE-Response

12-撩课JavaEE-Response

二、学习响应

通过response设置响应行,响应头 ,响应体

设置响应行

response.setState(Int code)

设置响应头

add代表添加新的内容
addHeader(String name,String value)
addIntHeader(String name,int value)
addDateHeader(String name,date)

set代表设置,已经存在的内容
setHeader(String name,String value)
setIntHeader(String name,int value)
setDateHeader(String name,Date value)

12-撩课JavaEE-Response
12-撩课JavaEE-Response

重定向

1.什么是重定向?
2.重定向的状态码?
3.重定向特点?
4.定时刷新重定向

什么是重定向
	到服务器当中去找servlet1
	servlet1当中没有这个资源,告诉你去找servlet2
	再去发送一个请求到servlet2
状态码
	302
特点
	要访问两次服务器
	第一次访问是人为的去访问
	第二次是自动的访问
	浏览器地址栏已经发生变化
设置重定向
	设置响应码
	设置响应头
		
封装的重写向
	每次都要写状态码,和location比较麻烦
	就给封装了一个方法
	response.sendRedirect("/bei/servlet2")
			
定时刷新重定向
	response.setHeader("refresh","5;url=http://www.baidu.com")
	5代表5秒
	url的值为5秒后要去跳转的地址

12-撩课JavaEE-Response

设置响应体

1.通过write方法来写
2.通过OutPutStream来写

1.通过write方法来写
response.getwrite().wirte(“要写的内容”)
默认情况下写的中文内容会乱码
	把写的内容存到缓存区中使用的是ISO8859
	ISO8859不支持中文,所以会乱码
在存之前设置可以设置存放的编码
	response.setCharacterEncoding("UTF-8")
告知浏览器使用的是utf-8编码
	response.setHeader("Content-Type", "text/html;charset=UTF-8");
		
上面代码只需要写第二句就行, 
tomcat看到设置了为utf-8的编码,
它在存在的时候也会使用utf-8的编码
使用封装写法
	response.setContentType("text/html;charset=UTF-8");

2.通过OutPutStream来写
	FileInputSteam
	read方法读取一个字节
	read(byte[] b)
	一次读取多个字节,并存放到数组b中
	上面是一次一滴一滴给你,这种是一次装一水桶再给你
	读取全部的数据

	FileOutputSteam
	write()
	一次性写一个字符
	write(buffer)
	一个性写多个字符
	write(buffer,0,len)
	一次性写指定个数的字符
response注意点
	getWrite()和getOutputSteam不能同时调用

12-撩课JavaEE-Response
12-撩课JavaEE-Response

博文全套 视频讲解 点击以下链接查看
https://study.163.com/course/courseMain.htm?courseId=1005981003&share=2&shareId=1028240359

相关文章:

  • 2021-10-26
  • 2021-06-01
  • 2021-07-27
  • 2022-12-23
  • 2022-01-06
  • 2021-05-13
  • 2021-12-22
  • 2021-09-03
猜你喜欢
  • 2021-08-07
  • 2021-09-20
  • 2021-05-01
  • 2021-10-03
  • 2021-09-24
  • 2021-12-08
  • 2021-09-25
相关资源
相似解决方案