1 package com.yxfyg.servlet;
2
3 import java.io.IOException;
4
5 import javax.servlet.ServletException;
6 import javax.servlet.http.HttpServlet;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 public class HelloResponse extends HttpServlet{
11
12 @Override
13 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
14 //以字符流方式写数据
15 //resp.getWriter().write("<h1>hello response!<h1>");
16
17 //以字节流方式写数据
18 //resp.getOutputStream().write("<h1>hello response!<h1>".getBytes());
19
20 //设置响应数据的类型和输出时的编码方式并使浏览器知道响应数据的编码方式
21 //resp.setContentType("text/html;charset=UTF-8");
22
23 //以字符流输出数据,出现乱码的解决方式
24 //指定响应数据的编码方式
25 //resp.setCharacterEncoding("UTF-8");
26 //通过设置响应头中的Content-Type属性,告诉浏览器响应数据的类型和编码方式
27 //resp.setHeader("Content-Type", "text/html;charset=UTF-8");
28 //通过字符流输出中文
29 //resp.getWriter().write("我就是中文");
30
31 //以字节流输出数据,出现乱码的解决方式
32 //通过设置响应头中的Content-Type属性,告诉浏览器响应数据的类型和编码方式
33 //resp.setHeader("Content-Type", "text/html;charset=UTF-8");
34 //指定响应数据的编码方式(String的getBytes()方法默认就是将字符串转为UTF-8编码格式的字节数组,其实可省略参数)
35 //resp.getOutputStream().write("我就是中文".getBytes("UTF-8"));
36
37 //简单方法(无论输出字节流还是字符流都可以使用)
38 //设置响应数据的类型和输出时的编码方式并使浏览器知道响应数据的编码方式
39 resp.setContentType("text/html;charset=UTF-8");
40 resp.getWriter().write("我就是中文");
41 //注意不要同时使用字节流和字符流输出,会报错
42 //resp.getOutputStream().write("我就是中文".getBytes());
43 }
44
45 @Override
46 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
47 doGet(req, resp);
48 }
49 }