博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Response常见方法使用和问题
阅读量:2359 次
发布时间:2019-05-10

本文共 1851 字,大约阅读时间需要 6 分钟。

•向客户端输出中文数据

用PrintWriter(字符流)发送数据

示例:response.getWriter().write(“中国”);有没有乱码?

原因:以默认编码发送数据ISO-8859-1(没有中国二字编码),此时会发生乱码

解决办法:

setCharacterEncoding(“UTF-8”);//更改编码为UTF-8

response.setHead(“Context-type”,”text/html;charset=UTF-8”);//告诉客户端编码方式

注意:不要忘记告诉客户端的编码方式。

由于经常改动编码,response提供了一种更简单的方式

response.setContentType(“text/html;charset=UTF-8”);其作用相当于以上两条代码。

•通过response实现请求重定向。
–请求重定向指:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。
•地址栏会变,并发送2次请求,增加服务器负担
•实现方式
–response.sendRedirect()
–实现原理:
•302/307状态码和location头即可实现重定向

-----------------------------------------------------------------------------------------------------------------

//response细节

•getOutputStream和getWriter方法分别用于得到输出二进制数据、输出文本数据的ServletOuputStream、Printwriter对象。
•getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。  会抛异常。
•Servlet程序向ServletOutputStream或PrintWriter对象中写入的数据将被Servlet引擎从response里面获取,Servlet引擎将这些数据当作响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。
•Serlvet的service方法结束后,Servlet引擎将检查getWriter或getOutputStream方法返回的输出流对象是否已经调用过close方法,如果没有,Servlet引擎将调用close方法关闭该输出流对象。 

•HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。
----------------------------------------------------------------------------------------------------------
//response常用方法
•获得客户机信息
–getRequestURL方法返回客户端发出请求时的完整URL。
–getRequestURI方法返回请求行中的资源名部分。
–getQueryString 方法返回请求行中的参数部分。
–getRemoteAddr方法返回发出请求的客户机的IP地址
–getRemoteHost方法返回发出请求的客户机的完整主机名
–getRemotePort方法返回客户机所使用的网络端口号
–getLocalAddr方法返回WEB服务器的IP地址。
–getLocalName方法返回WEB服务器的主机名
–getMethod得到客户机请求方式

•获得客户机请求头
–getHead(name)方法
–getHeaders(Stringname)方法
–getHeaderNames方法
•获得客户机请求参数(客户端提交的数据)
–getParameter(name)方法
–getParameterValues(Stringname)方法
–getParameterNames方法
–getParameterMap方法  //做框架用,非常实用

----------------------------------------------------------------------------------------------------------------------

转载地址:http://wwntb.baihongyu.com/

你可能感兴趣的文章
iOS AFNetworking 以及 Cookie 详解
查看>>
Intellij IDEA 将工程转换成maven工程 详解
查看>>
Linux 安装以及基本使用Hadoop 详解
查看>>
iOS 在 xib 文件中使用 UIScrollView
查看>>
iOS pushViewController 和 presentViewController的区别 详解
查看>>
iOS UICollectionView 和 UITableView cell更新 详解
查看>>
iOS UINavigationController 详解
查看>>
iOS UIViewController 和 xib 绑定 详解
查看>>
Hue 安装部署 详解
查看>>
MySQL 分支版本对比 详解
查看>>
MyCat 注解 详解
查看>>
MySQL 循环方法 while loop repeat 详解
查看>>
Java 创建对象以及类加载 详解
查看>>
JavaScript 闭包 详解
查看>>
Oracle 基础知识 详解
查看>>
JVM 命令参数 详解
查看>>
Java 产生随机数 详解
查看>>
Linux 后台执行命令 详解
查看>>
SpringBoot @ConfigurationProperties参数绑定 详解
查看>>
GB28181:基于JAVA的Catalog目录获取[part3]
查看>>