CN103645913B - J2ee系统中的语言加载方法及装置 - Google Patents

J2ee系统中的语言加载方法及装置 Download PDF

Info

Publication number
CN103645913B
CN103645913B CN201310573846.XA CN201310573846A CN103645913B CN 103645913 B CN103645913 B CN 103645913B CN 201310573846 A CN201310573846 A CN 201310573846A CN 103645913 B CN103645913 B CN 103645913B
Authority
CN
China
Prior art keywords
language
client
j2ee
linguistic value
resource file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310573846.XA
Other languages
English (en)
Other versions
CN103645913A (zh
Inventor
林世魁
林尉铭
刘元进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GCI Science and Technology Co Ltd
Original Assignee
GCI Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GCI Science and Technology Co Ltd filed Critical GCI Science and Technology Co Ltd
Priority to CN201310573846.XA priority Critical patent/CN103645913B/zh
Publication of CN103645913A publication Critical patent/CN103645913A/zh
Application granted granted Critical
Publication of CN103645913B publication Critical patent/CN103645913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种J2EE系统中的语言加载方法及装置,所述方法包括如下步骤:获取客户端的IP,并根据所述IP得到客户端的地址信息;获取与所述地址信息相对应的使用语言;读取客户端上一次连接服务器时保存在cookie中的语言值,并在所述语言值不为空的情况下,判断所述语言值与所述使用语言是否相同;若是,则根据所述使用语言读取相应的资源文件并加载到J2EE系统中。本发明的J2EE系统中的语言加载方法及装置,有效提高了语言加载的效率,保证用户能够正常使用J2EE系统,而且节省了系统运行的内存,使系统的运行速度更快,并且增加或减少系统语言或语言种类更加简单、方便。

Description

J2EE系统中的语言加载方法及装置
技术领域
本发明涉及计算机网络领域,特别是涉及一种J2EE系统中的语言加载方法以及一种J2EE系统中的语言加载装置。
背景技术
目前,J2EE(Java2Platform,Enterprise Edition,Java2平台企业版)实现的系统多是单语言系统,即系统语言等只以一种语言显示,且语言设置是在系统程序文件里面,用户连接系统只能选择开发者默认的那种语言。这样的系统是不科学的,也是不便捷的,因为使用的人群会因为语言的限制而变得狭窄。
随着近年来国际化合作越来越普遍,对J2EE多语言系统的要求越来越多。事实上,无论是单语言系统还是多语言系统,他们共同的特点就是:系统在完成的时候要默认加载一种语言,比如汉语或者英语。只不过在多语言系统下,用户可以找到修改语言的地方,通过自己手动进行修改从而更换系统语言。但是这样有一个很不好的地方,例如系统当前默认加载的是汉语,那么汉语不好的外国用户初次连接J2EE系统时,该外国用户将根本就看不懂甚至找不到修改语言的地方,从而无法正常使用J2EE系统;同理,如果当前默认加载语言为英语,此时英语不好的用户也无法正常使用J2EE系统。
因此,在J2EE多语言系统环境下,如何更高效的加载用户真正想要展现的语言,从而保证用户正常使用J2EE系统,成为一个亟待解决的问题。
发明内容
基于此,本发明提供一种J2EE系统中的语言加载方法及装置,能够提高语言加载效率。
为实现上述目的,本发明采用如下的技术方案:
一种J2EE系统中的语言加载方法,包括如下步骤:
获取客户端的IP,并根据所述IP得到客户端的地址信息;
获取与所述地址信息相对应的使用语言;
读取客户端上一次连接服务器时保存在cookie中的语言值,并在所述语言值不为空的情况下,判断所述语言值与所述使用语言是否相同;
若是,则根据所述使用语言读取相应的资源文件并加载到J2EE系统中。
一种J2EE系统中的语言加载装置,包括:
地址信息获取模块,用于获取客户端的IP,并根据所述IP得到客户端的地址信息;
使用语言获取模块,用于获取与所述地址信息相对应的使用语言;
判断模块,用于读取客户端上一次连接服务器时保存在cookie中的语言值,并在所述语言值不为空的情况下,判断所述语言值与所述使用语言是否相同;
第一加载模块,用于在所述判断模块的判断结果为是的情况下,根据所述使用语言读取相应的资源文件并加载到J2EE系统中。
由以上方案可以看出,本发明的J2EE系统中的语言加载方法及装置,通过获取客户端的连接ip地址以及上次连接服务器时保存在cookie中的语言值,自动分析出用户常用的语言,然后选择相应的资源文件进行加载,让用户连接J2EE系统就可以很自然的看到自己熟悉的语言,这样一来不仅给用户一个亲切的操作界面,还省去了多语言环境下需要自己动手去选择语言的麻烦,有效提高了语言加载的效率,保证用户能够正常使用J2EE系统;而且本发明通过使用资源文件来读取语言信息,避免了通过系统程序文件调用语言信息的方式,从而节省了系统运行的内存,使系统的运行速度更快;此外,本发明把系统语言通过资源文件存储而不是在系统程序文件中读取,当增减语言时只要更改资源文件即可,这样一来增加或减少系统语言或语言种类更加简单、方便。
附图说明
图1为本发明一种J2EE系统中的语言加载方法的流程示意图;
图2为本发明一种J2EE系统中的语言加载装置的结构示意图。
具体实施方式
下面结合附图以及具体的实施例,对本发明的技术方案作进一步的描述。
参见图1所示,一种J2EE系统中的语言加载方法,包括以下步骤:
步骤S101,获取客户端的IP(Internet Protocol,互联网协议),并根据所述IP得到客户端的地址信息。
获取客户端的IP的方法有很多,本发明实施例中,可以使用如下代码来获取客户端的IP:
public String getIpAddr(HttpServletRequestrequest){
String ip=request.getHeader("x-forwarded-for");
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getHeader("Proxy-Client-IP");
}
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getHeader("WL-Proxy-Client-IP");
}
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getRemoteAddr();
}
return ip;
}
另外,本发明实施例中,可以预先准备一个完整的IP地址库,该IP地址库具备各个国家、地区的IP地址段,在获得客户端的IP后,将所述IP在IP地址库中进行匹配,即可得到客户端的地址信息(如该客户端属于哪个国家、哪个地区)。
步骤S102,获取与所述地址信息相对应的使用语言。如假设地址信息显示为美国,则可知与该地址信息相对应的使用语言是英语。
步骤S103,读取客户端上一次连接服务器时保存在cookie中的语言值,如“汉语”、“英语”等;并在所述语言值不为空的情况下(只要存在某种语言则说明语言值不为空),判断所述语言值与所述使用语言是否相同;如果相同则进入步骤S104。
步骤S104,若步骤S103中判断的结果为所述语言值与所述使用语言相同,则根据所述使用语言读取相应的资源文件并加载到J2EE系统中。
需要说明的是,传统方案中通过系统程序文件来调用语言信息,而本发明中则通过使用资源文件来读取语言信息。本发明中所预先编写好的资源文件的文件类型为proterties,系统需要几种语言就预先创建几个资源文件,并且文件名称需要标示(比如英语的资源文件名称为xitong_en.proterties,汉语的资源文件名称为xitong_ch.proterties),资源文件可以使用myeclipse工具编写,资源文件编写有两个属性:一个是name(资源文件名),一个是value(系统语言信息)。name值是我们在程序中调用的,在系统显示的是后面的value值,所以name值在各个语言资源文件中是不变的,value值则是不同语言的系统。资源文件加载之后,J2EE系统从中根据name读取value信息,并将value信息应用到J2EE系统中,即可实现系统的语言显示。
作为一个较好的实施例,若步骤S103中判断的结果为所述语言值与所述使用语言不相同,如cookie中的语言值为汉语,而根据客户端的IP所获取到的使用语言却是英语,此时由于发生了冲突,因此可以根据所述语言值与所述使用语言生成一个双语言选择框,如在这个生成的双语言选择框中将汉语、英语列出来供用户选择,让用户在这两种语言选择一种;用户完成选择后会有一个返回结果,此时,客户端可以根据所述双语言选择框的返回结果读取对应的资源文件并加载到J2EE系统中。
采用本发明的方案,J2EE系统默认语言是不固定的,是根据用户的连接IP地址来准确的匹配到用户的IP是哪个国家或地区,然后又根据用户上次连接服务器时保存在cookie中的语言值进行二次验证,采用这两种方式的混合判断,保证J2EE系统最终为用户选择最舒适的语言,这样可以给用户带来良好的体验,也省去了因为语言不懂的麻烦。例如,有个别特殊情况,如一个中国人拿着自己的电脑到英国出差,我们若只根据IP进行判断,则必定给用户自动选择英语进行加载,但是实际上最适合该用户的应该是汉语;所以,我们通过将cookie中保存的上一次语言值和IP地址分析出来的值进行匹配,如果不相同的话,就让用户自己选择其中一种,从而保证了用户能够正常使用J2EE系统。
作为一个较好的实施例,在步骤S103中,若所述语言值为空,则可以直接根据步骤S102中获取到的使用语言来读取相应的资源文件并加载到J2EE系统中。
另外,作为一个较好的实施例,在步骤S103读取相应的资源文件并加载到J2EE系统之后,还可以包括如下步骤:根据所述资源文件中的系统语言信息更新所述cookie中的语言值。通过将用户本次所使用的语言保存在cookie中,方便和下次连接作对比。
与上述一种J2EE系统中的语言加载方法相对应,本发明还提供一种J2EE系统中的语言加载装置,如图2所示,包括:
地址信息获取模块101,用于获取客户端的IP,并根据所述IP得到客户端的地址信息;
使用语言获取模块102,用于获取与所述地址信息相对应的使用语言;
判断模块103,用于读取客户端上一次连接服务器时保存在cookie中的语言值,并在所述语言值不为空的情况下,判断所述语言值与所述使用语言是否相同;
第一加载模块104,用于在所述判断模块的判断结果为是的情况下,根据所述使用语言读取相应的资源文件并加载到J2EE系统中。
作为一个较好的实施例,所述地址信息获取模块可以包括:
IP匹配模块,用于将所述IP在IP地址库中进行匹配,得到客户端的地址信息。
作为一个较好的实施例,所述J2EE系统中的语言加载装置还可以包括:
第二加载模块,用于在所述语言值为空的情况下,根据所述使用语言读取相应的资源文件并加载到J2EE系统中。
作为一个较好的实施例,所述J2EE系统中的语言加载装置还可以包括:
双语言选择框生成模块,用于在所述判断模块的判断结果为否的情况下,根据所述语言值与所述使用语言生成一个双语言选择框;
第三加载模块,用于根据所述双语言选择框的返回结果读取对应的资源文件并加载到J2EE系统中。
作为一个较好的实施例,所述J2EE系统中的语言加载装置还可以包括:
cookie更新模块,用于在读取相应的资源文件加载之后,根据所述资源文件中的系统语言信息更新所述cookie中的语言值。通过将用户本次所使用的语言保存在cookie中,方便和下次连接作对比。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一加载模块称为第二加载模块,且类似地,可将第二加载模块称为第一加载模块。第一加载模块和第二加载模块两者都是加载模块,但其不是同一加载模块。
上述一种J2EE系统中的语言加载装置的其它技术特征与本发明的一种J2EE系统中的语言加载方法相同,此处不予赘述。
除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
通过以上方案可以看出,本发明的J2EE系统中的语言加载方法及装置,通过获取客户端的连接ip地址以及上次连接服务器时保存在cookie中的语言值,自动分析出用户常用的语言,然后选择相应的资源文件进行加载,让用户连接J2EE系统就可以很自然的看到自己熟悉的语言,这样一来不仅给用户一个亲切的操作界面,还省去了多语言环境下需要自己动手去选择语言的麻烦,有效提高了语言加载的效率,保证用户能够正常使用J2EE系统;而且本发明通过使用资源文件来读取语言信息,避免了通过系统程序文件调用语言信息的方式,从而节省了系统运行的内存,使系统的运行速度更快;此外,本发明把系统语言通过资源文件存储而不是在系统程序文件中读取,当增减语言时只要更改资源文件即可,这样一来增加或减少系统语言或语言种类更加简单、方便。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (4)

1.一种J2EE系统中的语言加载方法,其特征在于,包括如下步骤:
获取客户端的IP,并根据所述IP得到客户端的地址信息;
获取与所述地址信息相对应的使用语言;
读取客户端上一次连接服务器时保存在cookie中的语言值,并在所述语言值不为空的情况下,判断所述语言值与所述使用语言是否相同;
若是,则根据所述使用语言读取相应的资源文件并加载到J2EE系统中,根据所述资源文件的文件名读取所述资源文件的语言信息,并将所述语言信息应用到所述J2EE系统中;
若判断的结果为所述语言值与所述使用语言不相同,则根据所述语言值与所述使用语言生成一个双语言选择框;
根据所述双语言选择框的返回结果读取对应的资源文件并加载到J2EE系统中;
若所述语言值为空,则直接根据所述使用语言读取相应的资源文件并加载到J2EE系统中;
所述J2EE系统的默认语言是不固定的;
根据所述IP得到客户端的地址信息的过程包括:
将所述IP在IP地址库中进行匹配,得到客户端的地址信息。
2.根据权利要求1所述的J2EE系统中的语言加载方法,其特征在于,在读取相应的资源文件并加载之后,还包括步骤:
根据所述资源文件中的系统语言信息更新所述cookie中的语言值。
3.一种J2EE系统中的语言加载装置,其特征在于,包括:
地址信息获取模块,用于获取客户端的IP,并根据所述IP得到客户端的地址信息;
使用语言获取模块,用于获取与所述地址信息相对应的使用语言;
判断模块,用于读取客户端上一次连接服务器时保存在cookie中的语言值,并在所述语言值不为空的情况下,判断所述语言值与所述使用语言是否相同;
第一加载模块,用于在所述判断模块的判断结果为是的情况下,根据所述使用语言读取相应的资源文件并加载到J2EE系统中,根据所述资源文件的文件名读取所述资源文件的语言信息,并将所述语言信息应用到所述J2EE系统中;
第二加载模块,用于在所述语言值为空的情况下,根据所述使用语言读取相应的资源文件并加载到J2EE系统中;
双语言选择框生成模块,用于在所述判断模块的判断结果为否的情况下,根据所述语言值与所述使用语言生成一个双语言选择框;
第三加载模块,用于根据所述双语言选择框的返回结果读取对应的资源文件并加载到J2EE系统中;所述J2EE系统的默认语言是不固定的;
所述地址信息获取模块包括:
IP匹配模块,用于将所述IP在IP地址库中进行匹配,得到客户端的地址信息。
4.根据权利要求3所述的J2EE系统中的语言加载装置,其特征在于,还包括:
cookie更新模块,用于在读取相应的资源文件加载之后,根据所述资源文件中的系统语言信息更新所述cookie中的语言值。
CN201310573846.XA 2013-11-15 2013-11-15 J2ee系统中的语言加载方法及装置 Active CN103645913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310573846.XA CN103645913B (zh) 2013-11-15 2013-11-15 J2ee系统中的语言加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310573846.XA CN103645913B (zh) 2013-11-15 2013-11-15 J2ee系统中的语言加载方法及装置

Publications (2)

Publication Number Publication Date
CN103645913A CN103645913A (zh) 2014-03-19
CN103645913B true CN103645913B (zh) 2017-12-01

Family

ID=50251136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310573846.XA Active CN103645913B (zh) 2013-11-15 2013-11-15 J2ee系统中的语言加载方法及装置

Country Status (1)

Country Link
CN (1) CN103645913B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990976A (zh) * 2016-01-21 2017-07-28 阿里巴巴集团控股有限公司 一种网页脚本加载方法和装置
CN109190133B (zh) * 2018-11-08 2023-05-09 深圳市友杰智新科技有限公司 一种翻译语言自动切换方法及装置
CN109302425B (zh) * 2018-11-28 2021-02-26 河北省科学院应用数学研究所 身份认证方法及终端设备
CN109582428A (zh) * 2018-12-06 2019-04-05 广东浪潮大数据研究有限公司 一种调整bios页面显示语言的方法、装置和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426485A (zh) * 2011-11-11 2012-04-25 深圳Tcl新技术有限公司 电子终端的多国语言键盘使用方法及装置
CN103268566A (zh) * 2013-05-23 2013-08-28 新疆卡尔罗媒体科技有限公司 一种社交网络平台系统及互动方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646595B1 (en) * 2002-08-09 2003-11-11 Motorola, Inc. Scalable, reconfigurable GPS receiver
CN1677416A (zh) * 2005-03-01 2005-10-05 陈汉奕 域名位置多语种多媒体广告系统及其与域名结合的方法
CN100440143C (zh) * 2006-12-31 2008-12-03 金蝶软件(中国)有限公司 一种支持多语言的系统及输入、读取多语言数据的方法
CN101714086A (zh) * 2009-12-22 2010-05-26 中兴通讯股份有限公司 一种软件界面语言的选择方法及装置
CN102360391A (zh) * 2011-10-21 2012-02-22 福建星网锐捷网络有限公司 页面显示方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426485A (zh) * 2011-11-11 2012-04-25 深圳Tcl新技术有限公司 电子终端的多国语言键盘使用方法及装置
CN103268566A (zh) * 2013-05-23 2013-08-28 新疆卡尔罗媒体科技有限公司 一种社交网络平台系统及互动方法

Also Published As

Publication number Publication date
CN103645913A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
US9953639B2 (en) Voice recognition system and construction method thereof
US8359371B2 (en) Input candidate providing device, input candidate providing system, input candidate providing method, and input candidate providing program
US20080033903A1 (en) Methods and apparatuses for using location information
CN103645913B (zh) J2ee系统中的语言加载方法及装置
CN103559288A (zh) 一种智能收藏与分享的方法及移动终端
US9400633B2 (en) Methods and apparatus for voiced-enabling a web application
US9781262B2 (en) Methods and apparatus for voice-enabling a web application
CN110610701B (zh) 语音交互方法、语音交互提示方法、装置和设备
JP7439186B2 (ja) オーディオクエリのオーバーラップ処理の協調
WO2016000507A1 (zh) 省流量模式搜索服务的方法、服务器、客户端和系统
CN100536472C (zh) 一种网络资源访问控制的方法、模块和服务器
US20130305131A1 (en) Method, system and computer storage medium for pre-reading network data
US20130091416A1 (en) Method for establishing a relationship between semantic data and the running of a widget
US8595224B2 (en) Smart path finding for file operations
US9292252B2 (en) Methods and apparatus for voiced-enabling a web application
US20100114873A1 (en) System and method for communicating search results
US20160004770A1 (en) Generation and use of an email frequent word list
US20050015474A1 (en) Extensible customizable structured and managed client data storage
CN111611474A (zh) 索引资源的动作
US20140082484A1 (en) Method and apparatus for obtaining information
US9563675B2 (en) Identifying search matches and altered search results
US7668929B1 (en) Abstracting links to electronic resources in a network environment
KR20110002655A (ko) 온톨로지에 기반한 동적 네비게이션 메뉴 출력 방법 및 시스템
US8381172B2 (en) Method, apparatus, mobile terminal and computer program product for employing a form engine as a script engine
JP2004326514A (ja) ウェブサイト作成支援システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant