学习笔记是参考的how2j
Servlet response用法
设置响应内容
通过response.getWriter()获取一个PrintWriter对象,然后通过这个对象使用println(),append(),write(),format()等等方法设置返回给浏览器的html内容。
示例代码如下:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter pw = response.getWriter();
pw.println("println");
pw.write("wirite");
}
}
设置响应格式
response.setContentType("text/html"),其中test/html表示格式,可以通过request方法的request.getHeader("accept")获取到;如果换成其他格式,比如"text/lol",浏览器不能识别,那么打开此servlet就会弹出一个对话框(chrom浏览器不会弹出,这里使用edge浏览器)。程序如下:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter pw = response.getWriter();
pw.println("<h1>Hello Servlet</h1>");
response.setContentType("text/lol");//谷歌不会弹出下载对话框,这里使用edge
}
}
弹出界面如下:
![99812da9afa6f64956e66f20978e7d43.png](https://img-blog.csdnimg.cn/img_convert/99812da9afa6f64956e66f20978e7d43.png)
设置响应编码
设置响应编码有两种方式,都需要在response.getWriter()之前调用才能生效:
response.setContentType("text/html;charset=UTF-8");//不仅发送到浏览器的内容使用UTF-8编码,而且还通知浏览器使用UTF-8编码方式进行显示,所以总能正常显示中文。
response.setCharacterEncoding("UTF-8");//仅发送到浏览器的内容使用UTF-8编码