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