千家信息网

J2EE Web组件中中文及相关的问题是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,J2EE Web组件中中文及相关的问题是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。J2EE Web组件中中文及相
千家信息网最后更新 2026年11月03日J2EE Web组件中中文及相关的问题是什么

J2EE Web组件中中文及相关的问题是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

J2EE Web组件中中文及相关的问题

1、 国际化XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

在前面第五小节中的form.JSP里,也许台湾省的客户更喜欢

我们首先在webappWEB-INFclasses中创建三个区域相关的资源文件。中文简体版:

#LocalStrings_zh_CN.properties

page.title=国际化

form.label=请输入你的姓名

form.button=提交

中文繁体版:

#LocalStrings_zh_TW.properties

page.title=國際化

form.label=請輸入您的姓名

form.button=提交

英文版:

#LocalStrings_tw.properties

page.title=internationalization

form.label=Please enter your name

form.button=submit

LocalStrings_zh_CN.properties、LocalStrings_zh_TW.properties和LocalStrings_tw.properties这三个文件均以系统缺省的编码方式保存。form.jsp改成:

<%@ page="" contenttype="text/html;charset=utf-8">

<%@ page="" import="beans.LocaleStrings">

<%localstrings lss="new">

beans.LocalStrings的源文件如下:

package beans;

import Java.util.ResourceBundle;

import java.io.UnsupportedEncodingException;

import java.util.Locale;

public class LocalStrings

{

protected ResourceBundle rb;

protected boolean encoded;

public LocalStrings(String baseName, Locale locale)

{

this.rb = ResourceBundle.getBundle(baseName, locale);

if(locale.getCountry().equals("CN") || locale.getCountry().equals("TW"))

encoded = true;

}

public String getString(String key)

{

String value = rb.getString(key);

if(encoded)

{

try

{

byte bs[] = value.getBytes("ISO-8859-1");

return new String(bs, "GBK");

}

catch(UnsupportedEncodingException uee)

{

return value;

}

}

return value;

}

}

从浏览器访问form.jsp,我们应该看到正确的输出,然后通过浏览的Inte.NET选项,将浏览器的语言设置成"中文(台湾)[zh-tw]",再访问form.jsp,我们就能看到繁体字的提示信息了;再将浏览器语言设置成"英语(美国)[en-us]",再访问form.jsp。为什么要用LocalStrings到重新编码这些字符串呢,查看ResourceBundle的源程序可以发现,它读取文件中时,并没有对字符串进行编码,所以我们不得不在LocalStrings中对使用正确的编码对这些区域相关的字符串编码。

2、 一些建议

我们用J2EE(Java 2 Enterprise Edition/ Java 2 Platform, Enterprise Edition,Java 2企业版)开发的企业应用程序,可能在一些支持J2EE规范的服务器之间移植,而这些服务器的平台也可能不同。我们的客户的操作系统或所使用的浏览器,也有可能不同,所以我们应努力遵循一些建议:

l 从请求头中判断出用户的操作系统、浏览器和所使用的语言,而用适当的方法进行相应的响应头中的charset的设置。

l 尽量不在servlet中使用含非英文字符的常量字符串。

l 对于JSP文件,只要页面中存在不被服务器忽略的含非英文字符的常量字符串,就应该对page指令中的pageEncoding属性进行相应的设置。

l 使用过滤器来设置通过

ServletRequest.setCharaterEncoding(String encoding);

来设置请求实体的编码,而不是在每个JSP或Servlet中设置。抛弃在Servlet设置content-Type的习惯,让过滤器根据不同的资源和用户对象通过

ServletResponse.setContentyType(String type);

来设置。

l 尽量使用UTF-8作编码,而不是GBK或GB2312。

l 充分考滤到底层数据库所使用的编码,它可能在应用程序的移植中带来麻烦。

l 不能简单有效地判断出用户浏览器编码提交的数据所使用的编码,是程序员的一大遗憾,如果w3c对现有的标准进行扩展,修改form元素的enctype,让这个属性也完全兼容MIME的charset,Web应用程序的开发,又少去了一些麻烦。

附录A. 所有的实验,环境配置如下:

l 操作系统 MS windows 2000 Server

l 区域设置 中文(中国)

l 系统语言 中文(简体) 默认

l 浏览器 Microsoft Internet Explorer 6.0b

l Java虚拟机 J2SDK 1.4.0-b92

l Java服务器 apache tomcat 4.0.4

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

编码 浏览 中文 字符 浏览器 字符串 系统 文件 服务器 程序 语言 服务 不同 操作系统 区域 国际 姓名 客户 应用程序 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 科技与互联网 互联网科技排名 小马过河互联网科技 大白互联网科技 互联网科技博主是什么意思 北京大学互联网科技怎么样 银川新华互联网科技职业技术培训学校图片 河南猎农互联网科技有限公司 互联网科技革命什么开始 中国互联网十大科技股排名 银川新华互联网科技学校联系电话 互联网科技人工智能实验室 特约风豹互联网科技为什么扣费 风投北京互联网科技 宁波跨境商互联网科技有限公司 云鲸互联网络科技有限公司 容联科技互联网电商 互联网科技机房 杭州科技互联网公司有哪些 互联网科技产业 涨乐互联网科技 鸠鸠互联网科技 菲比寻常互联网科技 互联网金融科技委员会 剑昆互联网络科技有限公司临桂 互联网金融中的现代科技 呼和浩特新华互联网科技学院 中国新注册互联网科技 保山浩联互联网科技有限公司
0