999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java Web開發(fā)中國際化問題的設計與實現(xiàn)

2010-11-07 08:20:26菏澤學院計算機與信息工程系274000
中國科技信息 2010年20期
關鍵詞:國際化國家資源

蘇 蘊 菏澤學院計算機與信息工程系 274000

Java Web開發(fā)中國際化問題的設計與實現(xiàn)

蘇 蘊 菏澤學院計算機與信息工程系 274000

國際化問題是Java Web技術開發(fā)中備受矚目的課題。鑒于此,本文在分析對字符集選擇的基礎上,介紹了一種高效的解決方案——使用J2SE資源綁定的方式。

1 、引言

世界經(jīng)濟日益全球化推動了人們對基于 Web 的軟件的需求,因為許多國家的用戶都能訪問Web軟件。然而,隨著信息的國際化,如何動態(tài)構建一個具有各種不同語言的Web應用程序,成為面向國際應用的企業(yè)和個人需要考慮的問題。

2 、字符集的應用

為了能在計算機中表示不同語言中字符,每個國家(或區(qū)域)都規(guī)定了計算機信息交換用的字符編碼集,如美國的ASCII,中國GB2312和GBK,日本的JIS等。而不同語言客戶在瀏覽不同語言網(wǎng)頁時,往往會因為相互間所使用字符集無法兼容而出現(xiàn)亂碼情況。

Java內(nèi)部采用Unicode字符集,Unicode字符集,對每一種語言的每個字符制定了統(tǒng)一且唯一的用兩個字節(jié)(也有四字節(jié)的)來表示的編碼,滿足跨語言、跨平臺的字符解碼和轉(zhuǎn)換處理。但由于Unicode字符集不兼容ISO-8859-1字符集,占用的空間大(對于英文字母,Unicode也需要兩個字節(jié)來表示),而且不便于傳輸和存儲,因此而產(chǎn)生了UTF字符集。現(xiàn)在流行的UTF有2種:UTF-8和UTF-16。其中UTF-16和Unicode本身的編碼規(guī)范是一致的,而UTF-8不同,它定義了一種“區(qū)間規(guī)則”,這種規(guī)則可以和ISO-8859-1編碼保持最大程度的兼容,同時也可以用來表示所有語言的字符。因此,在開發(fā)國際化Web應用程序時,UTF-8是一個最理想的選擇。

具體的做法是:

(1)所有HTML或JSP/Servlet動態(tài)頁面指明使用UTF-8字符集,JSP文件本身也使用UTF-8編碼保存;

<%@page language="java" contentType="text/html; charset=UTF-8"%>;

;)

(2)Servlet 指明使用過濾器,使所有來自瀏覽器的請求(request)和響應(response)均轉(zhuǎn)換為UTF-8;

request.setCharacterEncoding ("UTF-8");

response.setContentType("text/ html;charset= UTF-8");

(3)設定數(shù)據(jù)庫連接方式是UTF-8(例如:數(shù)據(jù)庫使用MySQL);

jdbc:mysql://localhost/ web_site?

useUnicode=true&characterEncoding= UTF-8;

(4)數(shù)據(jù)庫編碼指明為UTF-8。

3 、國際化技術的應用

為了滿足國際化的需求,被開發(fā)的Web應用程序應該能夠在不做任何修改的情況下,就可以在不同的地區(qū)和不同的語言環(huán)境下,按照當?shù)氐恼Z言和格式習慣顯示字符。一種傳統(tǒng)的解決問題的方法是:存儲多組JSP,每組JSP都用不同的語言編碼,然后根據(jù)用戶的地區(qū)選擇在這些JSP之間切換。這種解決方案的最大不足在于表示層JSP頁面將非常冗余,當需要更新特定于語言的JSP集時,所有冗余編碼的JSP集都必須同時更新,對于一個中等規(guī)模的項目而言,這會造成冗長的、容易出錯的更新。

最理想的實現(xiàn)國際化的方法是將要顯示的字符內(nèi)容從程序中分離,然后統(tǒng)一存儲到一個資源包中,當顯示時,從包中取出和Locale對象相一致字符內(nèi)容。這種方案利用了J2SE在資源綁定中對地區(qū)的支持,即只在需要的時候在采用特定于地區(qū)的文本字符串。

3.1 資源包文件的創(chuàng)建

在編寫國際化程序時,要為不同的國家和語言編寫不同的資源類,這些資源類同屬于一個資源系列,共享同一個基名。不同語言所對應的資源類的名稱為基名加上ISO-639標準的語言代碼,而應用于某個特定國家或地區(qū)的資源類名稱,則是基名和語言代碼后加上ISO-639標準的國家或地區(qū)代碼。例如:為了能使中文國家地區(qū)以及英語國家地區(qū)的用戶都能以本地語言的形式顯示某網(wǎng)站的頁面內(nèi)容,可以創(chuàng)建一個資源包的基名為“MyResource”,則中文國家的特定資源屬于MyResource_zh_CN類,英語國家的特定資源屬于MyResource_en類。

針對不同的語言和國家,分別提供一個屬性文件,屬性文件的命名遵照資源類的命名方式,擴展名為.properties,將所有的字符串資源以鍵值對的形式寫入到屬性文件中。

3.2 資源包文件的編碼轉(zhuǎn)化

由于Java的資源綁定機制只接受ASCII編碼的屬性文件,因此,對于資源包文件中的非ASCII碼字符,需要將其轉(zhuǎn)換為相應的Unicode碼,其格式為uXXXX。這里可以使用JDK開發(fā)工具包里的native2ascii命令進行轉(zhuǎn)換。其命令為:

Native2ascii -encoding gb2312 MyResource.tmp MyResource_zh_CN.properties

將MyResource.tmp文件中的中文字符轉(zhuǎn)換為Unicode編碼保存到MyResource_zh_CN.properties文件中。

3.3 使用過濾器設置特定國家或地區(qū)的Locale對象

可以在用戶訪問網(wǎng)站首頁面index.jsp時,對此請求進行過濾。具體情形如下圖所示:

在過濾器中,調(diào)用Locale類的getDefault方法得到當前平臺默認的語言環(huán)境值,由于用戶在訪問該Web應用程序期間,一般不會改變顯示語言。因此,需要把特定的地區(qū)對象和會話關聯(lián)起來。

3.4 資源包的訪問

在JSP頁面中,首先獲取與當前會話相關聯(lián)的Locale對象,該對象代表了特定的國家或地區(qū)。其次,根據(jù)該Locale對象,獲取與其綁定的某個資源包文件。這里可以調(diào)用java.util.ResourceBundle類中的getBundle方法:

public static final ResourceBundle getBundle(String baseName,Locale locale)

最后,利用ResourceBundle類的getString()方法得到相應語言版本的字符串。

public final String getString (String key)

4 、結束語

使用J2SE資源綁定的方式解決國際化問題,能夠根據(jù)不同的Locale對象加載不同的資源,顯示給用戶。要修改顯示信息時,只需要修改相應的資源文件,對于程序部分,不需要做任何的修改。因此,可以說它是目前在Web應用程序開發(fā)中,解決國際化問題效率最高的方案。

[1]李謹.淺析基于JSP的維、漢雙語網(wǎng)站的開發(fā)技術[J].科技創(chuàng)新導報.2009(2)

[2]Ivor Horton.Java 2入門經(jīng)典[M].北京:機械工業(yè)出版社.2006

[3]孫鑫.Java Web開發(fā)詳解[M].北京:電子工業(yè)出版社.2007

[4]耿祥義,張躍平.JSP實用教程[M].北京:清華大學出版社.2007

TP391.41

A

10.3969/j.issn.1001-8972.2010.20.043

Java Web;國際化;字符集

猜你喜歡
國際化國家資源
聚焦港口國際化
金橋(2022年10期)2022-10-11 03:29:46
基礎教育資源展示
一樣的資源,不一樣的收獲
人民幣國際化十年紀
中國外匯(2019年12期)2019-10-10 07:26:56
資源回收
從園區(qū)化到國際化
商周刊(2018年12期)2018-07-11 01:27:18
能過兩次新年的國家
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
把國家“租”出去
華人時刊(2017年23期)2017-04-18 11:56:38
奧運會起源于哪個國家?
主站蜘蛛池模板: 操操操综合网| 色亚洲成人| 国产精品无码AV中文| www.狠狠| 白丝美女办公室高潮喷水视频| 无码日韩人妻精品久久蜜桃| 中文字幕人妻无码系列第三区| 亚洲无码一区在线观看| 久久久成年黄色视频| 成人综合在线观看| 亚洲精品天堂自在久久77| 国产不卡一级毛片视频| 呦女亚洲一区精品| 国产精品林美惠子在线播放| 婷五月综合| 亚洲欧美人成人让影院| 亚洲精品自产拍在线观看APP| 成年午夜精品久久精品| 中文字幕有乳无码| 91av国产在线| 毛片久久网站小视频| 九色视频一区| 午夜视频日本| 一级片免费网站| 99久久国产精品无码| 亚洲最新在线| 国产欧美视频综合二区| 毛片免费在线| 高清无码不卡视频| 国产免费黄| 97se亚洲| 国产精品视频观看裸模| 亚洲Aⅴ无码专区在线观看q| 香蕉eeww99国产在线观看| 中文字幕无码制服中字| 国产成人1024精品下载| 成人午夜久久| 精品精品国产高清A毛片| 成人国产小视频| 国产第一色| 午夜少妇精品视频小电影| 999精品免费视频| 国产精品综合色区在线观看| 国产主播喷水| 国产精品人人做人人爽人人添| 一级成人a做片免费| jizz国产在线| 四虎国产精品永久一区| 69视频国产| 日韩精品一区二区三区免费| 亚洲综合狠狠| 精品成人免费自拍视频| 亚洲欧美另类专区| 久久精品国产免费观看频道| 四虎国产在线观看| 99偷拍视频精品一区二区| 国产sm重味一区二区三区 | 91免费片| 亚洲成av人无码综合在线观看| 国产精品美乳| 亚洲一区网站| 久久精品中文字幕免费| 四虎影视8848永久精品| AV无码无在线观看免费| 青青草原国产免费av观看| 露脸一二三区国语对白| 天天综合网色中文字幕| 99久久性生片| 亚洲精品福利视频| 国产精品无码影视久久久久久久| 国产免费观看av大片的网站| 啪啪国产视频| 找国产毛片看| 亚洲第一极品精品无码| 全部免费毛片免费播放| 中文精品久久久久国产网址 | 天天爽免费视频| 成人蜜桃网| 午夜精品久久久久久久无码软件| 国产精品粉嫩| 婷婷99视频精品全部在线观看| 99热这里只有精品2|