来源: ITPUB论坛
(一)JSP的中文乱码问题
其根源在于:Web容器(Tomcat)默认的字符处理编码是iso-8859-1,对于需要在浏览器页面上显示中文的JSP程序,
但在程序中并没有指定中文的字符集,那么中文将在浏览器页面上显示为乱码。当然,前面所说的是指在Tomcat服务器下的,其他服务
器有些不是这样的,比如BEA Weblogic和IBM Websphere是从操作系统中取得默认的编码,然后按该编码来转码所有用户请求.Struts中
文问题有三种:发送请求时的中文问题、处理响应结果的中文问题和国际化资源文件的中文问题。
1. 发送请求时的中文问题
客户机向服务器发送请求时,根据所使用浏览器的不同可能会有不同的编码形式。不过通常情况下在请求到达Web容器前要将之转码,
转成某种固定的编码以方便Web应用的处理。这种问题有三种处理方法:
第一种(针对Tomcat 5 对POST请求有效,GET请求无效,因为Tomcat 5 对POST和GET请求时分别处理的)可以采用设置用户请求对象的编码形式,也就是以HttpServletRequest对象的编码的形式来进行用户请求的转码:
//将用户请求转码为GB2312、GB18030、GBK、UTF-8 等型,具体转为什么类型的编码以您的jsp文件的编码方式为准,java、jsp 、js 、css应保持一致的编码方式。这里以GBK为例。
request.setCharacterEncoding("GBK");
第二种(对GET请求有效),可以在Servlet中对用户输入的数据进行转码。Web容器接受到一个请求时,它会将它发往某个处理的Servlet。在Servlet中直接获取用户请求的数据,然后将之转码为需要的格式,例如把数据转换为GBK格式:
String username = request.getParameter("username");
username = new String(username.getBytes("iso-8859-1”), "GBK");
以上两种方法都是很常用的,但第一种是每个页面都要去修改,当JSP页面很多时比较麻烦,第二种就每个发送的数据都要转码,也很麻烦。
第三种,就是采用Filter过滤器方式,将用户的所有请求都通过过滤器进行转码,这种方法就克服了以上两种方法的缺点。代码如下:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain ) throws IOException, ServletException {
request.setCharacterEncoding("GBK");
//response.setContentType("text/html;charset=GBK");
chain.doFilter(request, response);
}
这里转码为GBK过滤器的主要代码,当然还要把这个类要在web.xml文件中部署。
分享到:
相关推荐
在创建数据源后,在java中使用数据源时tomca和was的引用方法是不同的
在本项目中,"jmx监控weblogic,tomcat,websphere源码"涉及了使用JMX来监控三个主流的Java应用服务器:WebLogic、Tomcat和WebSphere。这些服务器都是企业级应用部署的常见选择,对它们的监控对于确保系统性能、稳定性...
WebLogic、WebSphere、JBOSS、Tomcat 之间的区别在于它们的功能、价格、开源性、技术支持、扩展性、应用范围、商业服务、安全性和数据库结合性等方面。选择哪种应用服务器,需要根据具体的项目需求和企业规模来决定...
本文主要介绍了三个流行的Java应用服务器——WebLogic、Tomcat和WebSphere的调优方法,特别是WebLogic的参数调整。调优是提高应用程序性能的关键步骤,通过调整服务器配置,可以实现更高效的资源利用。 首先,搭建...
本文档主要介绍了如何在Apache Tomcat服务器下部署和运行IBM WebSphere相关的Web服务,具体步骤如下: 1. 首先,需要获取必要的JAR文件,这里是jaxws-2_0.jar,它包含了Java API for XML Web Services (JAX-WS)的...
本文总结了 Websphere 和 Tomcat 之间的差异,帮助开发者更好地理解和使用这两种服务器。 1. 基础数据类型和对象之间的隐式转换 在 Websphere 中,基础数据类型和对象之间不能被隐式转换。例如,一个 int 类型的...
### 将Web应用从Tomcat5移植到Websphere6的知识点详解 #### 一、移植背景及目的 随着业务发展和技术更新换代,企业往往需要将原有的Web应用从一个平台迁移到另一个平台上以适应新的需求和技术环境。本文旨在详细...
【描述】:本文将深入探讨三种流行的Web服务器——Tomcat、Apache和WebSphere的配置过程,帮助读者理解和掌握它们的基本设置与管理。 【标签】:“WebSphere” 【正文】: Apache HTTP Server,通常简称为Apache...
通过以上步骤,我们可以顺利地完成 Pinpoint 的安装部署,并开始监控 Tomcat、Weblogic 和 WebSphere 等 Java 应用服务器。Pinpoint 的强大之处在于其丰富的功能集和较低的性能开销,使得开发者能够在不影响应用性能...
### 将Web应用从Tomcat5移植到Websphere6:关键步骤与注意事项 #### 应用打包与配置 在将Web应用从Tomcat5移植到Websphere6的过程中,应用打包是至关重要的一步。本篇文章将详细阐述如何使用WebSphere 5的应用程序...
Tomcat是轻量级的,相比其他如IBM WebSphere、Oracle WebLogic等商业应用服务器,Tomcat的安装和配置更为简单,因此在小型项目和开发环境中非常流行。 Tomcat的核心组件包括以下几个部分: 1. **Catalina**:这是...
3. **轻量级**:相比其他全功能的应用服务器,如IBM WebSphere或Oracle WebLogic,Tomcat具有较小的内存占用和更快的启动速度,适合小型到中型的Web应用。 4. **易用性**:Tomcat的配置简单明了,通常只需要修改几...
eclipse 远程 debug tomcat 和 websphere 的 web 应用 eclipse 远程 debug 是一种常用的 debugging 技术,用于在远程服务器上调试 Web 应用程序。今天我们将讨论如何使用 eclipse 远程 debug tomcat 和 websphere ...
在Java Web开发中,Tomcat作为轻量级应用服务器,与重型应用服务器如IBM WebSphere或Oracle WebLogic相比,具有更小的内存占用、更快的启动速度和更简单的管理特性。开发者可以快速部署和调试应用,适合小型到中型的...
作为Java EE Web应用服务器的一部分,Tomcat是轻量级的,相比其他全面的Java应用服务器如JBoss、WebLogic或WebSphere,它的体积更小,配置更简单,因此在小型项目和开发环境中非常受欢迎。 Tomcat9在64位系统上的...
在MyEclipse中配置Websphere6.1可以让开发者在开发环境中直接进行调试和部署,提高效率。本文将详细介绍如何在MyEclipse 5.5.1中配置Websphere6.1。 **一、环境准备** 1. 开发环境: - JDK:1.5.0_11 - Eclipse:...
总结,配置Data Source是J2EE应用程序部署的关键步骤,尤其是在Websphere和Tomcat这样的服务器环境中。正确配置Data Source可以确保应用程序能够无缝地与各种数据库进行交互,从而实现高效的数据存取和管理。在实践...
Apache和Tomcat的主要区别在于它们的核心功能和处理内容的类型: 1. 功能定位:Apache主要是一个Web服务器,专注于静态内容的交付;Tomcat是一个Java应用服务器,专注于Servlet和JSP的执行。 2. 动态支持:Apache...
Tomcat服务器是Apache软件基金会Jakarta项目中的核心项目,由Apache、Sun公司及其他个人和公司联合开发。Tomcat是一个免费的开源Web应用服务器,它可以被视作轻量级应用服务器。由于具备技术先进性和稳定性,加上...
首先,从Chapter01 "Introduction to Tomcat"中,我们可以了解到Tomcat的历史、它在Java EE生态中的位置以及它与其它Web服务器的区别。Tomcat是一个开源的Servlet容器,主要实现了Java Servlet和JavaServer Pages ...