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");
	}

}
相關文章
相關標籤/搜索