`
侯上校
  • 浏览: 223427 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

tomcat国际化

 
阅读更多
tomcat在运行的过程中,不同的国家输出的信息(log信息)是不同的语言,通过以下方法做到的:
根据本地化对象来实现,它封装了适用于本地环境的资源。
tomcat将一些资源配置信息写入properties文件中,这样便于读取与编辑,如果将所有类的错误信息都写在一个properties文件,优惠导致文件太大,不便于读写。为避免这种情况,tomcat将properties文件按照不同的包进行划分,每个包下都有自己的properties文件。org.apache.catalina.connector包下的properties文件包含了该包下所有的类中可能抛出的错误与配置信息。每个properties文件都由一个org.apache.catalina.util.StringManager实例来处理。在tomcat运行时,会建立很多StringManager类的实例,每个实例对应一个properties文件。
在每个类需要查找某个配置的提示信息时,会先获取对应的StringManager实例。
eg:
StandardServer.java类来说(只贴出部分代码):
   public static final String Package = "org.apache.catalina.core";
   //上面的这个属性来自Constants.java类里
  private static Hashtable managers = new Hashtable();
   /**
     * The string manager for this package.
     */
    private static final StringManager sm =
        StringManager.getManager(Constants.Package);
   public synchronized static StringManager getManager(String  
        packageName) {
        StringManager mgr = (StringManager)managers.get(packageName);

        if (mgr == null) {
            mgr = new StringManager(packageName);
            managers.put(packageName, mgr);
        }
        return mgr;
    }
 private StringManager(String packageName) {
        String bundleName = packageName + ".LocalStrings";
        try {
            bundle = ResourceBundle.getBundle(bundleName);
            return;
        } catch( MissingResourceException ex ) {

而在StandardServer.java类中是这样使用的,
 public void start() throws LifecycleException {

        // Validate and update our current component state
        if (started) {
            log.debug(sm.getString("standardServer.start.started"));
            //根据这里的key值在资源文件中查找对应的value值,LocalStrings.properties资源文件中可以找到standardServer.start.started=This server has already been started配置项
            return;
        }
如果本地环境为日文系统,那么通过org.apache.catalina.startup.LocalStrings键值取得的资源是org.apache.catalina.startup.LocalStrings_ja.properties中的文件信息。

最后通过bundle.getString(key);方法,即可得到本地资源信息。



ResourceBundle.getBundle("config.page");使用方法得学习一下
项目中对日志内容等进行国际化管理。并且,日志内容用两个文件处理。


日志内容资源文件是Log.properties.

那么建立两个资源束分别处理这这个本地资源。

bundle = ResourceBundle.getBundle("Log.");

使用时,只需要添加不同的本地信息即可。例如:Log_ja.properties,Log_en.properties等
分享到:
评论

相关推荐

    Tomcat7.0 tomcat最新版本

    10. **国际化支持**:Tomcat 7.0增强了对多语言环境的支持,使得全球化的Web应用部署更为方便。 总之,Apache Tomcat 7.0是一个强大且成熟的Web服务器,它的功能丰富,易于使用,并且在性能和稳定性上都有显著提升...

    Tomcat7及Tomcat8

    7. **多语种支持**:增强了国际化(i18n)支持,使得应用程序更容易面向全球用户。 在安装这两个版本时,可以根据项目需求选择适合的版本。对于Windows系统,可以选择`.zip`格式的Tomcat 7安装包,而Linux或macOS...

    apache-tomcat-6.0.10

    8. **国际化与本地化**:Tomcat支持多语言环境,通过资源包(Resource Bundle)提供不同语言版本的内容,使得Web应用可以面向全球用户。 9. **集群与负载均衡**:虽然Tomcat 6.0.10的集群和负载均衡功能相对较简单...

    tomcat 7 最新版本 apache-tomcat-7.0.109

    9. **多语种支持**:Tomcat 7支持多种语言环境,可以方便地进行国际化设置。 10. **文档完善**:官方文档详尽且全面,对于开发者和管理员来说是一份宝贵的资源。 在7.0.109这个特定版本中,可能会包括一些bug修复...

    官方原版tomcat8.0.42 64位

    11. **国际化与本地化**:Tomcat支持多语言环境,允许开发人员为不同地区提供本地化的Web应用。 12. **版本兼容性**:Tomcat 8.0.42支持Java EE 7规范,这意味着它可以运行基于该规范的Web应用。 13. **社区支持**...

    Tomcat5.0和Tomcat6.0

    4. **国际化支持**:增加了对多种语言的支持,方便了全球范围内的用户使用。 5. **JMX支持**:集成了Java Management Extensions (JMX),允许通过JMX管理Tomcat实例,监控服务器状态和性能。 **Tomcat6.0** ...

    apache-tomcat-8.5.53_tomcat的8.0版本_ApacheTomcat8.5_choiceyqj_

    这通常涉及到设置正确的字符编码,如UTF-8,以确保非ASCII字符在日志中正确显示,这对国际化应用尤其重要。 5. **安全性增强**:Tomcat 8.5增强了默认的安全配置,包括加强的密码加密和更严格的SSL/TLS设置,为应用...

    tomcat9.0.44.zip

    Tomcat 9.0.44的jar包包含了服务器运行所需的所有组件,如servlet容器、JSP引擎、连接器、国际化支持、JNDI服务、WebSocket支持等。这些jar包包括但不限于:`tomcat-coyote.jar`(Coyote HTTP/1.1协议处理)、`...

    apache-tomcat-7.0.28

    9. **国际化和本地化**:支持多种语言的显示,允许开发者轻松地为不同地区的用户提供本地化的Web应用。 10. **错误处理和异常报告**:Tomcat提供了详细的错误页面和异常报告,有助于开发者快速定位和解决运行时问题...

    apache-tomcat-8.5.61

    12. **国际化与本地化**:对国际化和本地化支持的增强,使得应用程序更容易适应不同的语言环境。 在解压"apache-tomcat-8.5.61"这个压缩包后,你会得到一个包含各种组件和配置文件的目录结构,如bin目录下的启动和...

    Tomcat-9.0-API

    9. **国际化和本地化(i18n & l10n)**:Tomcat支持多语言环境,`java.util.ResourceBundle`和`javax.servlet.jsp.jstl.fmt.LocalizationContext`等相关类在API文档中描述了如何处理本地化资源。 10. **错误处理**...

    apache-tomcat-5.5.29

    8. **国际化与本地化**:Tomcat支持多语言环境,可以在web应用中通过Locale对象和资源包实现。 9. **错误处理**:Tomcat提供定制化的错误页面,通过配置error-page元素在web.xml中定义。 10. **集群与负载均衡**:...

    TomCat API

    10. **国际化与本地化**:TomCat API支持多种语言环境,通过`ResourceBundle`和`Localizer`类,可以轻松实现应用的国际化和本地化。 总体来说,TomCat API是一个功能强大的工具集,它为开发者提供了构建高效、可...

    tomcat-8.0.50 64位

    10. **国际化和本地化**:Tomcat支持多语言环境,通过资源包(Resource Bundle)实现本地化的Web应用。 总之,Apache Tomcat 8.0.50 64位版本是一个强大的Web应用服务器,广泛应用于各种规模的Java Web项目中。了解...

    基于i18n国际化微服务统一处理错误码

    本项目“基于i18n国际化微服务统一处理错误码”就是针对这一需求而设计的。通过结合SpringBoot框架和i18n(国际化)技术,我们可以实现错误信息的多语言支持,让错误信息能够适应不同的用户群体。 首先,让我们来...

    apache-tomcat-9.0.65

    12. **国际化与本地化**:Tomcat支持多种语言,通过`Accept-Language`请求头,可以提供不同语言的响应。 总之,“apache-tomcat-9.0.65”是一个功能强大的Java Web服务器,它提供了丰富的配置选项和扩展能力,是...

    tomcat8.0解压版

    10. **国际化和本地化**: 对于多语言环境,Tomcat 8支持更丰富的国际化和本地化设置,可以轻松调整应用的语言环境。 在解压版的Apache Tomcat 8.0.51中,包含了运行Tomcat所需的所有文件,包括服务器的启动脚本、...

    apache-tomcat-7.0.108(UTF8).zip

    10. **国际化与本地化支持**:由于是UTF-8编码版本,这个Tomcat实例能很好地处理多种语言环境,提供更好的全球化支持。 在解压"apache-tomcat-7.0.108"后,你会得到包括bin、conf、lib、logs、webapps、work等目录...

    tomcat5.0.28安装版

    9. **多语种支持**:Tomcat 5.0.28支持多种语言的国际化,开发者可以通过`WEB-INF/web.xml`文件中的locale元素设置。 10. **热部署**:Tomcat具有热部署功能,即在不重启服务器的情况下,可以更新或替换正在运行的...

    tomcat5.5源代码

    10. **国际化和本地化**: `org.apache.catalina.util`包下的`ResourceBundle`类和相关资源文件展示了Tomcat如何支持多种语言环境。 通过深入研究Tomcat 5.5的源代码,开发者不仅可以提升对Servlet和JSP技术的理解...

Global site tag (gtag.js) - Google Analytics