[size=medium]http://www.chedong.com/tech/hello_unicode_3.html
作者: 车东 发表于:2002-07-11 22:07 最后更新于:2007-04-12 11:04
以前能够配置让一个WEB应用能够在GBK方式编码的中文Windows2000服务器上和按ISO-8859-1方式编码的GNU/Linux上都能够正确的显示中文一直让我迷惑了很久。我仔细想了一下,后来终于想明白了,在一个国际化的应用中:ServletRequest和ServletResponse的编码/解码方式的确不应该根据服务器设置成固定的字符集,而应该是 面向客户端语言环境进行输入/输出编码方式的自适应 。一个按照国际化规范设计的WEB应用中:
在Servlet的源代码中尽量不要有中文:因为在MVC模式中,Servlet主要是控制器(C)的角色,因此,应该通过ResourceBundle机制由Servlet控制转向到相应的显示器(JSP或者XSLT)中,所以应该将与本地界面语言相关的界面显示的部分从Servlet和后台的模块中完全剥离出来,放到相应的 ResourceBundle 文件中或者XSLT文件中。这样源程序里完全是英文,编译时完全不需要考虑字符集的问题。
如果Servlet实在需要包含中文,则需要设置应用服务器的Javac编译选项,加上-encoding选项成系统缺省的字符集,如果把用中文编写的字符按照英文方式解码编译,然后再按照英文方式输出,虽然结果表面正确,实际上都成了面向“字节”编程。
*.在Servlet层,应该像GOOGLE搜索引擎那样,设计成能够根据客户端浏览器的语言环境自适应输出,为了判断浏览器的语言Servlet中应该有类似以下的代码:
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
//从HTTP请求的头信息中获取客户端的语言设置
String clientLanguage = req.getHeader("Accept-Language")[/size]
分享到:
相关推荐
### Java学习笔记知识点详解 #### 一、Java的常量 **定义:** - 常量是指在程序运行期间其值不可改变的量。 **分类:** 1. **字符串常量:** - 被双引号包围的字符串,例如`"hello world"`或空字符串`""`。 2. *...
### Java4Android 学习笔记综合知识点概览 #### 第2课 Java创世纪 ##### 1. 什么是编程? 编程是一种让计算机按照人的意图执行特定任务的过程。它不仅仅是编写代码,更是一种创造性的活动,通过编程可以实现各种...
### JDK 良葛格 Java 学习笔记6:深入理解字符串 #### 6.1 认识字符串 ##### 6.1.1 String 类 字符串(String)是一种常见的数据结构,尤其在 Java 编程中占据着重要的位置。字符串是由一系列字符(Char)构成的...
### Java学习笔记要点 #### 一、Java环境搭建与配置 **1.1 下载官方JDK** - **官网**: [http://www.oracle.com/technetwork/java/index.html](http://www.oracle.com/technetwork/java/index.html) - **步骤**: ...
### Java 学习笔记知识点概览 #### 一、在命令行执行 Java 1. **编译 Java 文件**: - 使用 `javac 文件名.java` 命令来编译 Java 源代码文件。这将生成一个或多个 `.class` 文件(字节码文件),这些文件的...
### Java学习笔记(基础1) #### 一、环境的搭建 **1.1 为什么需要环境** - **Java运行环境JDK(包含了JRE)**:JDK (Java Development Kit) 是开发Java程序的基础,它包含了Java运行环境(JRE)以及Java开发工具,...
**Java IO (Input/Output)**:Java IO 包含了处理输入/输出流的各种类,包括字节流、字符流等。它提供了读取文件、网络通信等功能的基础支持。 **JDBC (Java Database Connectivity)**:JDBC 是 Java 中用于与...
3. **Java基本概念**: - **环境变量**是操作系统运行时必要的参数,如PATH和CLASSPATH。 - **JRE**(Java Runtime Environment)是Java运行时环境,包括Java虚拟机(JVM)、核心类库和其他支持文件。 4. **Java...
为了更好地学习和掌握 Java 语言,本笔记将对 Java 语言的基础知识进行详细的总结和介绍。 一、Java 标识符和关键字 在 Java 语言中,标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个...
而在描述部分提到的“java学习笔记(一)”进一步揭示了这是一份关于Java入门学习的笔记资料。这些内容通常覆盖了Java的基本概念、安装配置以及简单的编程实践等。 #### 二、Java环境搭建与配置 1. **Java下载与...
马士兵JAVA笔记(全) 本资源是马士兵的JAVA笔记,涵盖了JAVA语言的基础知识,包括标识符、常量、变量、数据类型、运算符、控制流语句等。 标识符是JAVA中的一种符号,用于命名变量、方法、类等。标识符由字母、...
根据提供的“万和java工程师培训笔记”部分内容,我们可以总结出以下关键知识点: ### 1. Java 开发环境 - **JDK (Java Development Kit)**:Java开发工具包,包含了编译、运行Java程序所需的工具。 - **JRE (Java...
### Java基础知识精讲 #### 一、Java 数据类型概述 Java是一种强类型语言,它将数据分为两大类:基本数据类型和引用数据类型。 - **基本数据类型**:包括数值型(整数类型和浮点类型)、字符型、布尔型等。 - **...
### Java语言本科课堂笔记知识点概览 #### 一、Java的地位与特点 1. **网络地位**:Java因其跨平台性和强大的网络功能,在网络应用程序领域占据主导地位。 2. **语言地位**:作为一种面向对象的语言,Java在软件...
Java基础笔记是一份适合初学者的文档,涵盖了Java编程语言的核心概念和基本知识点,包括标识符的规则、数据类型的分类和使用、变量的声明与初始化、运算符的使用规则、控制流程语句(如if-else和switch-case)以及...
Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性,可编写一次,到处运行。...通过不断地学习和实践,可以深入理解Java语言的高级特性,如面向对象编程、异常处理、多线程、网络编程等。
《Java计算机核心编程笔记》 Java是一种广泛使用的面向对象的编程语言,其语法严谨,类型系统强大。本笔记将围绕Java的核心概念展开,包括标识符、关键字、数据类型、流程控制、修饰符、变量命名和作用域、以及常用...
### 计算机Java编程笔记知识点详述 #### 一、标识符与关键字 - **标识符**: 在Java中用于命名变量、方法、类等。根据题目提供的内容,标识符可以由数字、字母、下划线`_`及美元符号`$`组成,但需要注意的是,数字不...
### JAVA初级笔记汇总 ...以上总结了Java初级学习阶段的基础知识点,涵盖了从基础概念到变量、数据类型、运算符以及简单的输入处理等内容。这些知识点对于初学者来说至关重要,能够帮助他们打下坚实的基础。