当浏览器请求一个jsp,servlet时,会调用相应的service方法
注意:在同一个servlet中无法 字节流和字符流共存,服务器对于请求只响应一次给浏览器的信息,只会选择一个流一次性输出信息,获取不同流会出异常
在输出中文时,字节流需要write(“”.getBytes("编码")),print()只能输出ISO8859-1支持的字符,其他字符出异常
字符流,只要设置了协议头即可输出中文
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//1用字节输出流向客户端写信息
ServletOutputStream out = response.getOutputStream();//获取字节输出流
out.print("Hello");//OK
//out.print("晚上好!");//500错误。内部用iso8859-1读取,已经写死了,因此中文不行
out.write("晚上好!".getBytes("utf-8"));//如果要用字节流输出中文,用write(byte[])方法
//2用字符输出流向客户端写信息
PrintWriter out2 = response.getWriter();
out2.print("Hello, 晚上好!");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("post........");
response.setContentType("text/html;charset=utf-8");
//1用字节输出流向客户端写信息
ServletOutputStream out = response.getOutputStream();//获取字节输出流
out.print("Hello");//OK
//out.print("晚上好!");//500错误。内部用iso8859-1读取