07年8月22日的学习收获
2007-12-03 11:03
225 查看
今天没什么事,便翻看起<<Java web开发详解>>,感觉甚爽,收获虽小,但实用性强,我相信以后做web开发时,一定会用到.
今天的学习收获有两点
1,利用Filter结合HttpServletRequestWrapper,HttpServletResponseWrapper类可以将请求和响应字符串替换掉.
原来只知道HttpServletRequest和HttpServletResponse都有一个包装类,但没有看到过实际运用,所以对这两个类有点生疏,现在不这么认为了,加上前段日子,看了Wrapper Pattern的详解,现在对HttpServletRequestWrapper,HttpServletResponseWrapper两个类,已经很喜欢了..哈....
2.对国际化与本地化有更深的理解与运用
国际化,又称I18N,因为国际化的英文是Internationalization,它以I开头,以N结尾,中间共18个字母.
本地化,又称L10N,因为本地化的英文是Localization.
在java.util包中提供了一个Locale类,它就是用来提供本地信息的,通常称它为语言环境.
Locale类常用的构造函数如下:
public Locale(String language)
public Locale(String language,String country)
language表示语言,它的取值是由ISO-639定义的小写的,两个字母组成的语言代码.
country表示国家和地区,它的取值是由ISO-3166定义的大写的,两个字母组成的代码.
常用ISO-639语言代码
语言 代码
汉语(Chinese) zh
英语(English) en
德语(German) de
法语(French) fr
日语(Japanses) ja
朝鲜语(Korean) ko
常用ISO-3166国家和地区代码
国家(地区) 代码
中国(China) CN
美国(United States) US
英国(Great Britain) GB
加拿大(Canada) CA
德国(Germany) DE
日本(Japan) JP
韩国(Korea) KR
台湾(Taiwan) TW
香港(HongKong) HK
java.util.ResourceBundle根据Locale对象,去获取相应的资源包.
public static final ResourceBundle getBundle(String baseName)
public static final ResourceBundle getBundle(String baseName,Locale locale)
public final String getS tring(String key)
例:有一资源包名为: MyResource_zh_CN.properties
利用以下代码获取资源包内容.
Java代码示例:
Locale locale=new Locale("zh","CN");
ResourceBundle bundle=ResourceBundle.getBundle("MyResource",locale);
bundle.getString(key1);
bundle.getString(key2);
再例:有一资源包名为: MyResource_zh.properties
此时以下任何一个Locale对象都可以获取该资源包内容.
Locale locale=new Locale("zh");
Locale locale=new Locale("zh","CN");
Locale locale=new Locale("zh","HK");
Locale locale=new Locale("zh","TW");
当使用new Locale("zh");去获取资源包时,直接查找文件名(不包括扩展名)以_zh结尾的资源包.
当使用new Locale("zh","CN");去获取资源包时,先去查找文件名(不包括扩展名)以_zh_CN结尾的资源包,如果没有找到则去查找文件名(不包括扩展名)以_zh结尾的资源包.
如果没有找到资源包则抛出: java.util.MissingResourceException
今天的学习收获有两点
1,利用Filter结合HttpServletRequestWrapper,HttpServletResponseWrapper类可以将请求和响应字符串替换掉.
原来只知道HttpServletRequest和HttpServletResponse都有一个包装类,但没有看到过实际运用,所以对这两个类有点生疏,现在不这么认为了,加上前段日子,看了Wrapper Pattern的详解,现在对HttpServletRequestWrapper,HttpServletResponseWrapper两个类,已经很喜欢了..哈....
2.对国际化与本地化有更深的理解与运用
国际化,又称I18N,因为国际化的英文是Internationalization,它以I开头,以N结尾,中间共18个字母.
本地化,又称L10N,因为本地化的英文是Localization.
在java.util包中提供了一个Locale类,它就是用来提供本地信息的,通常称它为语言环境.
Locale类常用的构造函数如下:
public Locale(String language)
public Locale(String language,String country)
language表示语言,它的取值是由ISO-639定义的小写的,两个字母组成的语言代码.
country表示国家和地区,它的取值是由ISO-3166定义的大写的,两个字母组成的代码.
常用ISO-639语言代码
语言 代码
汉语(Chinese) zh
英语(English) en
德语(German) de
法语(French) fr
日语(Japanses) ja
朝鲜语(Korean) ko
常用ISO-3166国家和地区代码
国家(地区) 代码
中国(China) CN
美国(United States) US
英国(Great Britain) GB
加拿大(Canada) CA
德国(Germany) DE
日本(Japan) JP
韩国(Korea) KR
台湾(Taiwan) TW
香港(HongKong) HK
java.util.ResourceBundle根据Locale对象,去获取相应的资源包.
public static final ResourceBundle getBundle(String baseName)
public static final ResourceBundle getBundle(String baseName,Locale locale)
public final String getS tring(String key)
例:有一资源包名为: MyResource_zh_CN.properties
利用以下代码获取资源包内容.
Java代码示例:
Locale locale=new Locale("zh","CN");
ResourceBundle bundle=ResourceBundle.getBundle("MyResource",locale);
bundle.getString(key1);
bundle.getString(key2);
再例:有一资源包名为: MyResource_zh.properties
此时以下任何一个Locale对象都可以获取该资源包内容.
Locale locale=new Locale("zh");
Locale locale=new Locale("zh","CN");
Locale locale=new Locale("zh","HK");
Locale locale=new Locale("zh","TW");
当使用new Locale("zh");去获取资源包时,直接查找文件名(不包括扩展名)以_zh结尾的资源包.
当使用new Locale("zh","CN");去获取资源包时,先去查找文件名(不包括扩展名)以_zh_CN结尾的资源包,如果没有找到则去查找文件名(不包括扩展名)以_zh结尾的资源包.
如果没有找到资源包则抛出: java.util.MissingResourceException
相关文章推荐
- 学习阶段的收获
- 最近的学习---一句话收获(备查用)(1)
- java自我学习第一阶段的收获和感受
- java基础学习中的感悟与收获(1)
- 学习jQuery Ajax的部分收获
- 第五届中国云计算大会学习收获(大数据) 推荐
- 过滤驱动开发学习的收获(一)
- 15个步骤收获一生的学习习惯
- oracle分布式学习收获。
- 15个步骤收获一生的学习习惯【转】
- 浅谈学习JS和JQuery中的几点收获
- 07年3月对工作流的再学习
- 15个步骤收获一生的学习习惯【转】
- 关于LDAP,我自己已经学习了很长一段时间,有些收获。
- C#学习(九)- WP8.1开发的一些收获
- JS深入学习知识整理(写下每日的收获! )
- java学习收获
- WEB 前端学习收获
- spring学习之IOC(控制翻转)和ID(依赖注入) -- 坚持每天写收获
- 关于LDAP,我自己已经学习了很长一段时间,有些收获。