SERVLET RESPONSE常见用法

response是HttpServletResponse的实例,用于提供给浏览器的响应信息。

设置响应内容:

通过response设置响应已经用得比较多了
PrintWriter pw= response.getWriter();
通过response.getWriter(); 获取一个PrintWriter 对象
可以使用println(),append(),write(),format()等等方法设置返回给浏览器的html内容。

设置响应格式:

response.setContentType("text/html");


"text/html" 是即格式 ,在request获取头信息 中对应的request.getHeader("accept"). 
"text/html" 是存在的,表示浏览器可以识别这种格式,如果换一个其他的格式, 比如 "text/lol" ,浏览器不能识别,那么打开此servlet就会弹出一个下载的对话框。

这样的手段也就常常用于实现下载功能

设置响应编码:

设置响应编码有两种方式

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

2. response.setCharacterEncoding("UTF-8");



这两种方式都需要在response.getWriter调用之前执行才能生效。

他们的区别在于

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


不仅发送到浏览器的内容会使用UTF-8编码,而且还通知浏览器使用UTF-8编码方式进行显示。所以总能正常显示中文

2. response.setCharacterEncoding("UTF-8");


仅仅是发送的浏览器的内容是UTF-8编码的,至于浏览器是用哪种编码方式显示不管。 所以当浏览器的显示编码方式不是UTF-8的时候,就会看到乱码,需要手动再进行一次设置。

设置不使用缓存:

使用缓存可以加快页面的加载,降低服务端的负担。但是也可能看到过时的信息,可以通过如下手段通知浏览器不要使用缓存
 

response.setDateHeader("Expires",0 );

response.setHeader("Cache-Control","no-cache");

response.setHeader("pragma","no-cache");

猜你喜欢

转载自blog.csdn.net/qq_38275824/article/details/81663556