實現(xiàn)國際化
由于要實現(xiàn)中英日文的顯示,采取以下步驟:
開發(fā)和編譯代碼時指定字符集為UTF-8。Eclipse可以在項目屬性中設(shè)置。 使用過濾器,如果所有請求都經(jīng)過一個Servlet控制分配器,那么使用Servlet的filter執(zhí)行語句,將所有來自瀏覽器的請求(request)轉(zhuǎn)換為UTF-8,因為瀏覽器發(fā)過來的請求包根據(jù)瀏覽器所在的操作系統(tǒng)編碼,可能是各種形式編碼。request.setCharacterEncoding("UTF-8")。需要配置web.xml 激活該Filter。在JSP頭部聲明:
<%@ page contentType="text/html;charset= UTF-8" %>。
在Jsp的html代碼中,聲明UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
設(shè)定數(shù)據(jù)庫連接方式是UTF-8。例如連接MYSQL時配置URL如下:
jdbc:mysql://localhost:3306/feedback_db?useUnicode=true&characterEncoding=UTF-8
其他和外界交互時能夠設(shè)定編碼時就設(shè)定UTF-8,例如讀取文件,操作XML等。
不同時區(qū)時間顯示
由于客戶端可能處于不同的時區(qū),因此應(yīng)該顯示不同服務(wù)器時間。由于與客戶端有關(guān),因此需利用一段javaScript代碼,從客戶端獲取其所在的時區(qū)偏移量。該偏移量是針對GMT時間而言的,也就是格林威治時間,以分鐘為單位。
function getTimezone()
{
var d = new Date();
document[getNetuiTagName("loginForm", this)][getNetuiTagName("timezone", this)].value=
d.getTimezoneOffset();
}
獲取之后將他傳回服務(wù)器端并保存在session中。顯示時間時根據(jù)這個偏移量來計算顯示的時間。