response中setCharacterEncoding和setContentType的区别

package day08;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * 案例【content-type】-- 服务器发送给浏览器的数据类型和数据编码格式
 * @author Administrator
 *
 */
public class ResponseDemo04 extends HttpServlet {
	
	private static final long serialVersionUID = -1839403652123389047L;
	
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		/*
		 * response.setContentType("text/html;charset=utf-8");
		 * 等于
		 * response.setHeader("content-type", "text/html");
		 * response.setCharacterEncoding("utf-8");
		 * 两句
		 * 
		 * 
		 * 可是response.setContentType("text/html;charset=utf-8");
		 * 中的charset有比setEncoding多一个做用:
		 * 		不只能设置输出数据的编码;还能告诉浏览器自适应当前的编码
		 */
		// 全部这种set的前面的引号内的都是须要设置的头的名字name,后面是须要设置的新的值value
		response.setHeader("content-type", "text/html;charset=utf-8");
		// 等价于上面的setContentType("text/html;charset=utf-8");
		/*
		 * setContentType中的text/html意思就是将个人内容按照html的格式去读出来
		 * 咱们也能够经过response的getWriter去输出写出特定的html的格式	
		 */
		
		/*
		 * 由于xml和html本源都是相同的,因此这里设置浏览器的解析的格式的时候
		 * 也能够设置使用xml的
		 */
		response.setContentType("text/xml;charset=utf-8");
		/*
		 * 注意:必定要写服务器支持的数据类型,若是写服务器不支持的类型,就会报错
		 * 
		 * text/html
		 * text/xml
		 * image/gif
		 * image/jpg
		 * 等等
		 */
		response.getWriter().write("<html><head><title>this is a title</title></head><body>this is a body</body></html>");
		
		
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
	}

}
相关文章
相关标签/搜索