JavaWeb-HttpServletResponse对象一
web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象。resquest和response对象既然代表请求和响应,那么要获取客户机提交过来的数据,只需要找request对象就行了。要想客户机输出数据,只需要找response对象就行了。
HttpServletResponse对象介绍
HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据,发送响应头,发送响应状态码的方法。
1.向客户端(浏览器发送数据的相关方法),继承自ServletResponse
2.负责向客户端(浏览器)发送响应头的相关方法
3.负责向客户端(浏览器)发送响应状态码的相关方法
4.响应状态码常量
HttpServletResponse对象常见应用
使用OutputSteam流向客户端浏览器输出中文数据
使用OutputStream输出中文要注意:在服务器端,数据是以哪个码表输出的,那么就要在客户端浏览器以相应的码表打开,比如:OutputStream.write(“北邮”.getBytes("UTF-8"));;使用OutputStream流向客户端浏览器输出中文,以UTF-8的编码进行输出,此时就要控制客户端浏览器以UTF-8的编码打开,否则显示的时候就会出现中文乱码,那么在服务器端如何控制客户端浏览器以以UTF-8的编码显示数据呢?可以通过设置响应头控制浏览器的行为,如:response.setHeader("content-type", "text/html;charset=UTF-8");通过设置响应头控制浏览器以UTF-8的编码显示数据。
package com.fpc; import java.io.IOException;
import java.io.OutputStream; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class ServletContextDemo1 extends HttpServlet { @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
// String data = "<h1><font color='blue'>fpc_20171206</font></h1>";
// resp.getOutputStream().write(data.getBytes());
// ServletContext context = this.getServletContext();//获取ServletContext对象
// RequestDispatcher rd = context.getRequestDispatcher("/servletContext/servletContextDemo2");//获取请求转发对象
// rd.forward(req, resp);
// String data = "fpc_2017/12/06 14:07";
/*
* 设置合理的缓存时间值,以避免浏览器向服务器发送请求,提升服务器的性能
* 这里是将数据的缓存时间设置为1天
* */
// resp.setDateHeader("expires", System.currentTimeMillis() + 24 *3600*1000);
// resp.getOutputStream().write(data.getBytes());
String data = "北邮";
//通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示地是乱码 resp.setHeader("content-type", "text/html;charset=UTF-8");
OutputStream outputStream = resp.getOutputStream();
/*data.getBytes()是一个将字符转换成字节数组的过程,这个过程一定会去查码表,
* 如果是中文的操作系统环境,默认就是查找GB2312码表
* */ byte[] b = data.getBytes("UTF-8"); outputStream.write(b);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
} }
运行结果:
JavaWeb-HttpServletResponse对象一的更多相关文章
- JAVAWEB学习总结 HttpServletResponse对象(一)
Web服务器收到客户端(浏览器)的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象. request和response对象既然代表请求和响 ...
- javaweb学习总结(七)——HttpServletResponse对象(一)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...
- javaweb笔记6多个响应头以及 HttpServletResponse对象
1 常见的响应头 Location: http://www.it315.org/index.jsp 重定向的地址.配合302的状态码一起使用,实现重定向效果. Content-Type: te ...
- javaweb学习总结(七)——HttpServletResponse对象(一)(转)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应,那我们 ...
- JavaWeb总结(二)—HttpServletResponse对象
Web服务器收到客户端的http请求,会针对每一次的请求,分别创建一个用于代表请求的request对象和response对象.我们要获取客户端提交的数据,只需要找request对象.要向客户端输出数据 ...
- javaweb学习总结(七)——HttpServletResponse对象(一)(转)
转载自 http://www.cnblogs.com/xdp-gacl/p/3789624.html Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对 ...
- JavaWeb学习 (七)————HttpServletResponse对象(一)
一.HttpServletResponse对象介绍
- javaweb(七)——HttpServletResponse对象(一)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...
- Java 中的 HttpServletRequest 和 HttpServletResponse 对象
HttpServletRequest对象详解 javax.servlet.http.HttpServletRequest是SUN制定的Servlet规范,是一个接口.表示请求,“HTTP请求协议”的完 ...
- HttpServletResponse对象(一)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...
随机推荐
- [shell]简单的shell提示和参数脚本
该shell脚本有如下点: bash or dash case语句的写法 脚本help写法 参数是否为空的写法 算数运算的写法 #! /bin/bash case "$1" in ...
- wifi设置
1 编辑/etc/init.d/wifi #!/bin/sh case "$1" in start) echo /sbin/mdev > /proc/sys/kern ...
- Keil(MDK-ARM)系列教程(五)_Configuration(Ⅰ)
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang Ⅰ.写在前 ...
- java调用kettle_导入jar包(1)
版权声明:本文为博主原创文章,未经博主允许不得转载. Java调用Kettle执行任务或转换,需要使用Kettle中的jar,可以先导入lib目录中的几个基本的jar,如:kettle-core.ja ...
- 【BZOJ】1045: [HAOI2008]糖果传递(中位数)
http://www.lydsy.com/JudgeOnline/problem.php?id=1045 白书上有讲 没ac的坑点在,数据范围n<=1,000,000 #include < ...
- 【BZOJ】1660: [Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)
http://www.lydsy.com/JudgeOnline/problem.php?id=1660 单调栈裸题..累计比每一个点高的个数即可. #include <cstdio> # ...
- 在 Ubuntu Mate 16.04 上通过 PPA 升级 Mate 1.14
导读 Mate 桌面环境 1.14 现在可以在 Ubuntu Mate 16.04 ("Xenial Xerus") 上使用了.根据这个版本的描述,为了全面测试 Mate 1.14 ...
- Perfmon - Windows 自带系统监测工具
本文转载自oscar999 一. 简述 可以用于监视CPU使用率.内存使用率.硬盘读写速度.网络速度等. Perfmon提供了图表化的系统性能实时监视器.性能日志和警报管理,系统的性能日志可定义为二进 ...
- EXSI5.5以上开启KVM二次虚拟化
1,在EXSI5.5上创建centos虚拟机(过程省略) 2,开启EXSI5.5的ssh功能 3,ssh登录虚拟机 4,编辑虚拟配置文件 /vmfs/volumes/datastore1/目录下,找到 ...
- C语言实现单链表(带头节点)
C语言在实现单链表存储时需要注意的几点: 1.定义结构体,typedef:用于给结构体另命名 // 定义结构体类型 typedef struct Node{ int data; struct Node ...