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
奧運會起源于哪個國家?
主站蜘蛛池模板: 欧美一级黄色影院| 欧美成一级| 尤物精品国产福利网站| 国产精品无码作爱| 国产精品丝袜在线| 六月婷婷激情综合| 国产微拍精品| 91啦中文字幕| 亚洲欧美不卡| 欧美一区二区丝袜高跟鞋| 日韩在线永久免费播放| 国产成人亚洲精品色欲AV | 婷婷99视频精品全部在线观看 | 亚洲日韩精品综合在线一区二区| 国产97区一区二区三区无码| 91国内在线视频| 真实国产精品vr专区| 亚洲无码37.| 亚洲日本中文字幕天堂网| 久久久久久久久久国产精品| 色悠久久久| 91精品免费久久久| 国产亚洲精品资源在线26u| 午夜性刺激在线观看免费| 亚洲丝袜第一页| 国产午夜在线观看视频| 成人在线综合| 国产精品蜜芽在线观看| 国产91高跟丝袜| 全部免费毛片免费播放| 久久久久久久蜜桃| 一级爆乳无码av| 精品久久久久久久久久久| 精品国产黑色丝袜高跟鞋| 成人午夜视频网站| 国产精品欧美激情| 99久久精彩视频| h视频在线播放| 欧美精品综合视频一区二区| 全部免费特黄特色大片视频| 91在线国内在线播放老师| 国产福利小视频高清在线观看| 中文字幕乱码中文乱码51精品| 四虎影视国产精品| 色婷婷成人| 玖玖精品在线| 亚洲成av人无码综合在线观看| 国产视频入口| 亚洲色图欧美一区| 国产成人综合网| 亚洲一区二区日韩欧美gif| 亚洲色成人www在线观看| 在线观看国产精美视频| 精品午夜国产福利观看| 无码福利日韩神码福利片| 亚洲欧美成人综合| AV天堂资源福利在线观看| av一区二区三区高清久久| 91精品国产91欠久久久久| 国产精品国产三级国产专业不| 无码AV高清毛片中国一级毛片| 三上悠亚一区二区| 亚洲欧美成aⅴ人在线观看| 毛片免费试看| 国产SUV精品一区二区| 亚洲欧美另类中文字幕| 久久人午夜亚洲精品无码区| 这里只有精品免费视频| 好吊色妇女免费视频免费| 久久无码免费束人妻| 人人爽人人爽人人片| 国产精品无码在线看| 无码内射中文字幕岛国片| 久久五月天综合| 精品国产自在现线看久久| 无码日韩人妻精品久久蜜桃| 亚洲视频一区| 午夜激情福利视频| 无码高潮喷水专区久久| 国产亚洲欧美在线专区| 本亚洲精品网站| 在线五月婷婷|