学习JavaWeb之Servlet_Response
来源:互联网 发布:淘宝好评怎么走返利 编辑:程序博客网 时间:2024/05/21 17:07
之前看了Request对象,接下来我们来看下与其相对应的Response对象。
1)关于HttpServletResponse
HttpServletResponse,继承自ServletResponse,主要用于将经过处理后的数据发送至服务器,其实现也是基于Http协议,跟Request一样,为了提高开发的效率,将原生的Socket方式进行了封装,形成这比较方便好用的HttpServletResponse。
2)HttpServletResponse的常用方法
Response中也包含了大量的方法,不过有一些方法并不常用,所以我们这里就不进行介绍,需要的话查看官方的文档即可,下面介绍一些比较常用的方法:
addHeader() // 添加一个响应头信息setHeader() // 设置一个响应头信息addIntHeader() //设置一个整型类型的头信息setStatus() // 设置状态码sendError() //发送错误状态码addCookie() //添加一个cookie(后面相关部分介绍)getOutputStream() // 获取输出流getWriter() // 获取一个PrintWritesetContentType() // 设置该文件的MIME类型
下面介绍一下常用方法的具体使用
3)getWriter()
该方法放回一个PrinterWrite 类型的对象,用于向浏览器输出数据,例如输出HTML代码,相关的信息等等
PrintWriter writer = response.getWriter();writer.write("Hello Servlet");也可以直接输出格式化的HTML代码( 输出后的代码会被浏览器进行解析 )
writer.write("<html><body>Hello World</body></html>");
4)setContentType()
当然,为了能够浏览器能够正常解析响应的内容,例如HTML代码,中文字符等,所以需要对输出的内容以及编码方式进行设置,通常的做法就是根据所要输出的文件的MIME类型进行指定,编码方式一般都是设置为utf-8,那么为了正确解析上面的HTML代码,我们可以进行这样的设置
response.setContentType("text/html;charset=utf-8");而且该设置必须在写出之前进行设置,也就是在调用write方法之前调用,具体的原因是因为write方法一旦获取得到数据,便会马上将其输出到浏览器,所以,必须在调用该方法之前进行ContentType的设置
5)getOutputStream()
该方法是打开一个输出流,主要是用于将文件、图像、音频等等这些非文本类型的数据输出,当然输出的时候同样需要设置ContentType类型
<span style="white-space:pre"></span>response.setContentType("text/html;charset=utf-8");<span style="white-space:pre"></span>FileReader file = new FileReader(getServletContext().getRealPath("/form.html"));<span style="white-space:pre"></span>char[] buffer = new char[2048];<span style="white-space:pre"></span>file.read(buffer);<span style="white-space:pre"></span>BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(response.getOutputStream()));<span style="white-space:pre"></span>bw.write(buffer);这里有一个需要注意的地方就是,获取指定文件的时候,由于是部署之后的文件的地址,所以需要使用getServletContext.getRealPath("url");来获取工程中的问价,具体原因目前还不太了解,正在学习中。
0 0
- 学习JavaWeb之Servlet_Response
- java自学之路-----servlet_response、request
- Javaweb之Listener学习
- JavaWeb学习之Filter
- javaweb学习之servlet
- Javaweb学习之servlet
- Javaweb学习之MVC
- 学习JavaWeb之Servlet_Requst
- JavaWeb学习之Servlet
- JavaWeb学习之JSP
- JavaWeb学习笔记之MVC
- JavaWeb学习笔记之servlet
- JavaWeb学习篇之----Servlet
- 学习笔记之 JAVAWEB过滤器
- 10.javaweb学习之js
- JavaWeb基础学习之servlet
- JavaWeb学习笔记之数据库连接
- JavaWeb学习之路-----Servlet
- laravel session用法
- LeetCode 312 Burst Balloons (区间dp)
- Python matplotlib生成图片背景透明
- 随便写
- 采集常用的两个函数
- 学习JavaWeb之Servlet_Response
- C#--设计模式之工厂方法模式
- 【框架】[MyBatis]DAO层只写接口,不用写实现类
- 自定义百度网盘分享密码 提取码
- Myeclipse/eclipse开发工具反编译插件JadClpse
- [ 备战NOIP2016 ] 数论
- laravel5.1 jquery ajax 搜索分页
- 7.1
- 劝勉与恳求