package cn.ITHong.Response;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ResponseDemo2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
test5(response);
}
/**
*作用于下面相同,推荐这种方法*/
private void test5(HttpServletResponse response) throws IOException {
//以字节流向客户端输出中文数据
String s = "学人要学";
ServletOutputStream out = response.getOutputStream();
response.setContentType("text/html;charset=UTF-8");
out.write(s.getBytes("UTF-8"));
}
/**
*标签提示客户端,未能实现,直接把第一个write直接输出到浏览器了,暂时用
*test3(),目的是一样的*/
private void test4(HttpServletResponse response) throws IOException {
//以字节流向客户端输出中文数据
String s = "与内心相连";
ServletOutputStream out = response.getOutputStream();
out.write("<meta http-equiv='Content-Type'content='text/html;charset=UTF-8'>".getBytes());
out.write(s.getBytes("UTF-8"));
}
/**
*给与响应头,解决浏览器乱码*/
private void test3(HttpServletResponse response) throws IOException {
//以字节流向客户端输出中文数据
String s = "幸福与贫富无关";
response.setHeader("Content-Type", "text/html;charset=UTF-8");
ServletOutputStream out = response.getOutputStream();
out.write(s.getBytes("UTF-8"));
}
/**
*乱码:因为我传输的是UTF-8,但是客户端却是GBK*/
private void test2(HttpServletResponse response) throws IOException {
//以字节流向客户端输出中文数据
String s = "幸福与贫富无关";
ServletOutputStream out = response.getOutputStream();
out.write(s.getBytes("UTF-8"));
}
/**
* getBytes();使用平台默认的字符集GBK将此String解码为字节序列。
* 并将结果存储到一个新的字节数组中,但是外国人就不一定解析GBK了
* 没有乱码*/
private void test1(HttpServletResponse response) throws IOException {
//以字节流向客户端输出中文数据
String s = "幸福是什么";
ServletOutputStream out = response.getOutputStream();
out.write(s.getBytes());
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
JavaWeb乱码修正
最新推荐文章于 2024-02-27 20:54:51 发布