(一)Response对象的概述
一、什么是Response 我们开发的软件是B/S结构的软件,是可以通过浏览器访问服务器的软件。从浏览器输入一个地址,访问服务器的这个过程称为请求。服务器接收到请求,需要进行处理,处理以后,还需要将处理结果发回浏览器端显示,这个过程称为响应
(二)Response对象的API一、Response关于响应行的方法 setStatus(int sc) 设置响应的状态码 200成功 302重定向 304查找本地缓存 404请求资源不存在 500服务器内部错误二、Response关于响应头的方法 setDateHeader(String name, long date) setHeader(String name, String value) setIntHeader(String name, int value) set开头的方法用于设置:针对一个key对应一个value的情况 举例:原头信息Content-Type:text/html 调用setHeader("Content-Type","text/html"); 最终结果:Content-Type:text/html addDateHeader(String name, long date) addHeader(String name, String value) addIntHeader(String name, int value) add开头的方法用于追加:针对一个key对应多个value的情况 举例:原头信息Content-Type:text/html调用addHeader("Content-Type","text/plain");最终结果:Content-Type:text/html,text/plain三、Response关于响应体的方法 getOutputStream() 将二进制字节发送到客户端 getWriter() 将字符文本发送到客户端 用于向浏览器端输出内容四、Response其他的API addCookie(Cookie cookie) 服务器向浏览器回写Cookie的方法 sendRedirect(String location) 重定向的方法 setContentType(String type) 设置浏览器打开页面时候采用的字符集 setCharacterEncoding(String charset) 设置响应字符流的缓冲区的字符集五、Response对象的API的代码演示 (1)设置状态码.�����(2)完成重定向 1)重定向:是302状态码和Location响应头结合使用的效果2)实际开发中可以使用response.sendRedirect("/web01/ResponseDemo2");替换重定向那两句的写法六、页面定时跳转的扩展(1)使用JS完成读秒的效果(2)在HTML中完成页面跳转使用JS完成读秒效果(三)Response对象响应的中文乱码处理
一、使用字节流响应中文 1、编写代码 2、向页面输出中文是否会有乱码?不一定! 3、原因:其实这个乱码的产生,与中文转成字节数组,以及浏览器的打开方式(打开的时候采用的默认字符集)有关 4、解决:将中文转成字节数组的时候,和浏览器默认打开的时候采用的字符集一致即可二、使用字符流响应中文 1、编写代码 2、向页面输出中文是否会有乱码?一定乱码 3、原因:字符流是有缓冲区的,Response获得字符流,老外设计默认的缓冲区编码是ISO-8859-1,这个字符集不支持中文 4、解决:设置Response获得字符流缓冲区的编码,和设置浏览器默认打开时采用的字符集一致即可(四)Request对象的概述及API的介绍
一、Request对象的概述什么是Request对象我们开发的软件都是B/S架构的软件,从浏览器向服务器提交一些数据时,将这些数据内容进行封装,封装成一个请求对象,即Request对象二、Request对象的API1、获得客户端的信息getMethod() 获得请求的方式getQueryString() 获得查询字符串的(即请求路径后的提交参数字符串)getRequestURI() 获得请求路径的URIgetRequestURL() 获得请求路径的URLgetRemoteAddr() 获得客户端的IP地址2、获得请求头的方法getHeader 获得一个Key对应一个Value的请求头getHeaders 获得一个Key对应多个Value的请求头3、获得请求参数的方法getParameter 获得提交的参数(一个name对应一个value)getParameterValues 获得提交的参数(一个name对应多个value)getParameterMap() 获得提交的参数,将提交的参数名称和对应的值存入到一个Map集合中4、Request作为域对象存取数据的方法setAttribute 向Request域中存数据getAttribute 从Request域中取数据removeAttribute 从Request域中移除数据三、Request对象的API的代码演示1、Request对象获取客户端信息2、Request获得请求头的信息四、Request对象接收表单请求参数1、编写一个静态页面2、接收请求参数3、Request对象接收表单请求参数的中文乱码处理 POST方式接收中文 GET方式接收中文
