Servlet的PrintWrite的中文亂碼

2021-06-28 10:09:31 字數 855 閱讀 1156

首先觀察如下**:

可惜瀏覽器返回的是??????!

原因:1.當辦事器呼叫servlet時同時建立乙個request和response物件,request用來儲存客戶端傳送請求,response用來儲存辦事器返回的資料;

2.當servlet拿著「檔案上傳成功」去查它的預設編碼表,sun公司顯然是查國外碼表,之後儲存在response裡,然後輸出;而瀏覽器的編碼在中文的windows下一般是gbk;瀏覽器拿到iso編碼的字元去查gbk的碼表,顯然就是亂碼。

解決:那就修改response的編碼格式,**如下:

response.setcharacterencoding("utf-8");

此時瀏覽器顯示的又是什麼呢?

還是亂碼?

終極解決:修改瀏覽器的預設編碼格式。

1.使用者手動修改(體驗度不高)

2.response.setheader("content-type","text/html;charset=utf-8");//告訴瀏覽器編碼格式;

最終顯示:

Servlet學習 servlet的生命週期

servlet介面中定義了作為乙個servlet在整個生命週期中應該擁有三個階段 1,初始化 2,服務 3,銷毀 servlet的生命週期是由容器管理的 servlet的生命週期 簡化版 適用於筆試的時候 1,servlet的生命週期是由容器管理的 這句話非常重要 2.他分別經歷三個階段 初始化 服...

Servlet入門 servlet路徑問題

1.servlet路徑 url pattern 作用 將乙個請求網路位址和servlet類建立乙個對映關係 servlet可以對映多個url 例如 myservlet com.test.myservlet myservlet mmmyservlet kk2.url對映模式 配置 url位址取值可以是...

Servlet高階應用 Servlet與快取

一 設定快取檔案的有效日期 重點方法 httpservletrequest類 1 string getrequesturi 獲取客戶端位址列的路徑值 httpservletresponse類 2 void setdateheader string name,long endtime name 對應的...