Java web:request请求对象、response响应对象

这篇博客介绍了HTTP请求和响应的基本概念,包括HttpServletResponse接口及其常用方法,如设置状态码和发送错误信息。讨论了中文乱码问题的解决方案,强调了保持服务器和浏览器编码一致的重要性。此外,还提到了如何实现网页的定时跳转和刷新,以及HttpServletRequest请求对象的相关方法,用于获取请求行信息。
摘要由CSDN通过智能技术生成

1.请求和响应的概述:
什么请求:在浏览器地址栏输入地址,点击回车请求服务器,这个过程就是一个请求过程。
什么响应:服务器根据浏览器发送的请求,返回数据到浏览器在网页上进行显示,这个过程就称之为响应。

2.HttpServletResponse对象
HttpServletResponse是一个接口,它的父接口是ServletResponse,在开发中通常使用HttpServletResponse
响应信息分为三部分:响应行、响应头、响应正文(响应体)
3.发送状态码的相关方法:
设置状态码
setStatus(int sc) :参数就是状态码。
setStatus(int sc, String sm) :第一个参数表示状态码,第二个参数 就状态码的描述。
常见的状态码:200 响应成功
302 重定向
404 请求资源找不到
500 服务器代码出异常。
错误信息方法:
sendError(int sc) :参数状态码
sendError(int sc, String sm) :第一个参数表示状态码,第二个参数 就状态码的描述。
比如:response.sendError(404, “chapter04项目的请求资源不存在”);

4.解决中文输出的乱码问题
第一种方式:字节流向浏览器输出中文,会不会乱码:可能会出现乱码。
出现乱码的原因:服务器端的编码格式和浏览器的编码格式不一致引起的。
比如:
处理字节流的中文乱码问题
String data=“中国”;
ServletOutputStream out = response.getOutputStream();
处理乱码:服务器端的编码和浏览器端的编码保持一致。
让浏览器端的编码也是utf-8
response.setHeader(“Content-Type”, “text/html;charset=utf-8”);
让服务器端的中文编码格式是utf-8
out.write(data.getBytes(“utf-8”));
处理字节流的中文乱码问题两种方式:
第一种:response.setHeader(“Content-Type”, “text/html;charset=utf-8”);
第二章:response.setContentType(“text/html;charset=utf-8”);
第二种方式:字符流向浏览器输出中文,会不会乱码:肯定乱码。
乱码的形式:?? ,这个问号就表示中文的编码格式是采用iso-8859-1编码的,这种编码格式不支持中文。
处理原则:让浏览器和服务器的编码保持一致:
处理字符流的中文乱码问题
处理服务器的编码,让这个编码支持中文
response.setCharacterEncoding(“utf-8”);
处理器浏览器端的编码:
response.setHeader(“Content-Type”, “text/html;charset=utf-8”);
String data=“中国”;
获取字符流
PrintWriter pw = response.getWriter();
pw.print(data);
处理字符流的中文乱码问题:
第一种方式:response.setCharacterEncoding(“utf-8”);
response.setHeader(“Content-Type”, “text/html;charset=utf-8”);
第二种方式:response.setContentType(“text/html;charset=utf-8”);

5.实现网页的定时跳转并刷新:
定时跳转:从一个注册页面跳转到登录页面,输入之前注册的用户名和密码。

6.HttpServletRequest请求对象
HttpServletRequest它是一个接口,它的父接口ServletRequest,在开发中,常用的是带协议的请求对象。
请求消息:请求行,请求头,请求参数。
HttpServletRequest请求对象
获取请求行消息的相关方法:
常用的请求行方法:
获取请求提交的方式: getMethod();
获取请求的协议: getProtocol();
获取项目名称:getContextPath();
获取servlet路径:getServletPath();
获取请求路径: getRequsetURI(),getRequestURL();
uri对应的值:/项目名称/servlet路径
url对应的值:http://localhost:8080/uri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值