servlet之response

来源:互联网 发布:如何网上开淘宝店铺 编辑:程序博客网 时间:2024/05/18 23:29

response是客户端对一个servlet资源进行访问事,产生的一个对象,可以向客服端发送数据

前面我们知道,response.getWriter().print("hello servletdemo2");等可以向客户端发送英文字符,下面是发送中文的常见的问题。

1>使用OutputStream输出数据(字节流)

response.setHeader("Content-type","text/html;charset=UTF-8");   告诉浏览器用何种码表读取数据

(也可以用<meta>标签模拟一个发送的头消息,response.getOutputStream.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'>".getBytes());  )

String data= "中国";

response.getOutputStream.write(data.getBytes("UTF-8");    servlet发送的数据的编码

2>使用PrintWriter输出数据(字符流)

response.setCharacterEncoding("UTF-8");    设置response的编码

response.setHeader("Content-type","text/html;charset=UTF-8");   告诉浏览器用何种码表读取数据

String data= "中国";

PrintWriter out = response.getWriter();

out.write(data);

两个注意点:1)response.setHeader("Content-type","text/html;charset=UTF-8");  可以用response.setContentType("text/html;charset=UTF-8"); 替换     而且可以省略response.setCharacterEncoding("UTF-8");  

2)所以无论字符流字节流输出就两个步骤:

response.setContentType("text/html;charset=UTF-8");

String data = "中国";

字节流:response.getOutputStream.write(data.getBytes("UTF-8"); 

字符流:response.getWriter().write(data);

3>请求重定向(登录 购物 是最常用的应用 其他很少用)

response.sendRedirect("/day06/index.jsp");


1 0