ServletResponse是一個接口,HttpServletResponse是其子接口 @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { /* * ServletResponse是一個接口,用於向Client輸出響應 * 1、若向客戶端發送Binary Data,character Data,則使用ServletResponse中的getOutputStream()進行輸出 * 2、若單獨向客戶端發送character Data,則使用ServletResponse的getWriter()方法 */ /* * 設置響應的字符集characterEncoding,必須在獲取PrintWriter對象前設置 */ response.setCharacterEncoding("UTF-8");/*如果沒有這個,則會出現中文亂碼問題, 這句話跟下邊response.setContentType("text/html;charset=UTF-8");中指定的字符集是等同的,二選一*/ /* * 設置響應response內容的MIME類型(ContentType) */ //response.setContentType("text/plain");//若這條語句生效,則輸出全部是text文本,不會輸出表單 response.setContentType("text/html;charset=UTF-8"); /* * 設置響應內容的長度setContentLength */ response.setContentLength(10000); /* * 測試上述第2點,PrintWriter比SevletOutputStream強大得多得多得多 */ PrintWriter printWriter = response.getWriter(); printWriter.println("I am a servletResponse");//輸出I am a servletResponse /* * 輸出一個form表單 */ printWriter.print("<!DOCTYPE HTML>"); printWriter.print("<html>"); printWriter.print("<head>"); printWriter.print("<meta charset='UTF-8'>"); printWriter.print("</head>"); printWriter.print("<body>"); printWriter.print("<form action='request' method='post'>"); printWriter.print("user: <input type='text' name='user'/>"); printWriter.print("password: <input type='password' name='password' />"); printWriter.print("<input type='submit' value='submit'/>"); printWriter.print("</form>"); printWriter.print("</body>"); printWriter.print("</html>"); /* * 輸出一箇中文試試會不會出現亂碼? */ printWriter.println("你好!");/*出現了亂碼,如果在獲取PrintWriter對象前設置響應字符集, 就不會出現亂碼(如上),默認是ISO-8859-1*/ /* * 獲取響應response的字符集和MIME類型 */ printWriter.println("\r\n字符集:"+response.getCharacterEncoding()+" "+"MIME類型:"+response.getContentType()); printWriter.write("我在學習呢!");//輸出“我在學習呢!”write()和print()沒有多大差別 printWriter.println(123); /* * 測試上述第1點 * 1、PrintWriter 和 ServletOutputStream 是不能同時存在的! * 2、測試ServletOutputStream時把前面的PrintWriter給註釋掉了 */ //ServletOutputStream requestOutputStream = response.getOutputStream(); //requestOutputStream.print("I am a servletOutputStream");//I am a servletOutputStream }
Java_Web------ServletResponset實現
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.