- 浏览: 52979 次
- 性别:
- 来自: 湖南
最新评论
摘自王俊标编著的《精通Java Web开发-基于Struts EJB Hibernate JBuilder》一书:
1、页面请求
采用Filter过滤器方式:
web.xml片段
2 <!-- filter 配置 -->
3 < filter >
4 <!-- filter 别名 -->
5 < filter-name > encodingfilter </ filter-name >
6 <!-- 类文件位置 -->
7 < filter-class > login3.EncodingFilter </ filter-class >
8
9 <!-- 定义属性encoding="gb2312" 即指定编码类型 -->
10 < init-param >
11 < desription > encode to gb2312 </ desription >
12 < param-name > encoding </ param-name >
13 < param-value > gb2312 </ param-value >
14 </ init-param >
15 </ filter >
16
17 <!-- filter 映射配置 -->
18 < filter-mapping >
19 <!-- 定义该filter 处理所有格式的请求 -->
20 < filter-name > encodingfilter </ filter-name >
21 < url-pattern > /* </ url-pattern >
22 </ filter-mapping >
23 ……
EncodingFilter.java
2
3 import javax.servlet. * ;
4 import javax.servlet.http.HttpServlet;
5
6 public class EncodingFilter extends HttpServlet
7 implements Filter {
8
9 private FilterConfig filterConfig;
10
11 private String targetEncoding = null ;
12
13 public void init(FilterConfig filterConfig) throws ServletException {
14 this .filterConfig = filterConfig;
15 this .targetEncoding = this .filterConfig.getInitParameter( " encoding " );
16 }
17
18 public void doFilter(ServletRequest request, ServletResponse response,
19 FilterChain chain) throws IOException, ServletException {
20 try {
21 System.out.println( " targetEncoding : " + targetEncoding + " \n " );
22 request.setCharacterEncoding(targetEncoding);
23 chain.doFilter(request, response);
24 } catch (ServletException sx) {
25 filterConfig.getServletContext().log(sx.getMessage());
26 } catch (IOException iox) {
27 filterConfig.getServletContext().log(iox.getMessage());
28 }
29 }
30
31 public void destroy() {
32 this .filterConfig = null ;
33 this .targetEncoding = null ;
34 }
35 }
36
2、Web容器编码
在Tomcat的的源代码中的getParameter()方法,用户调用request.getParameter()方法时,首先调用parsetParameters()方法,在这里面将编码进行转换。如:
String s_target = new String (s_source.getBytes("iso-8859-1"), "gb2312);
3、数据库
MySQL中文问题的主要原因是:它对数据进行编码时,采用了和底层的操作系统所不同的编码。通常MySQL在中文Windows平台上正确的编码方式是GBK。因此只要将MySQL安装目录下的my.ini文件中的default-character-set选项设为GBK即可。
4、响应结果
对于Servlet的代码处理,可以使用:
……
respsonse.setContentType("text/html;charset=GB2312");
……
对于JSP文件,可以在开头部分添加如下声明:
……
<%@ page contentType="text/html;charset=GB2312" %>
……
对于HTML页面文件,则在开头部分添加声明如下:
……
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=GB2312">
</head>
……
5、XML文件
在采用"UTF-8"方式编码的情况下,使用XML文件存储中文数据常常会出现乱码的问题,建议使用"GB2312":
<?xml version='1.0' encoding="GB2312"
发表评论
-
Java Tutorial,学到了一点
2007-03-17 00:28 823一直很奇怪为什么Eclipse中的Visual Editor在 ... -
Java中的事件监听
2007-03-17 02:50 1368继续在看Java Tutorial,不过已经到了GUI了,呵呵 ... -
JAVA Applet生命周期
2007-03-17 10:48 1285还是在看Java Tutorial,到了"Apple ... -
一个Java问题贴子
2007-04-13 09:08 683[问题引出]: public class Parent { ... -
Eclipse常用插件
2007-05-02 01:01 823Eclipse常用插件介绍[转至CowNew培训视频]数据库管 ... -
JSP taglib中的一个小问题
2007-07-02 21:47 740今天写了个JSP的自定义标签的小练习,照着书上的程序写完所有的 ... -
JDBC驱动下载
2007-09-11 19:01 1010SQL Server 2000 Driver for ... -
你的SimpleDateFormat起作用了吗?
2008-04-29 20:52 1133通过SimpleDateFormat格式化日期输出是一种常见的 ...
相关推荐
### Java Web开发中常见的中文乱码问题解析 在Java Web开发过程中,中文乱码问题是开发者经常遇到的一个挑战。这些问题主要源于Java默认的Unicode编码与HTML页面及表单默认的Latin-1编码之间的不兼容,以及在不同的...
从所提供的文件内容来看,内容片段较为混乱,其中包含了许多无关字符和重复片段,但我们可以识别出一些关键信息,并据此整理出关于“Java Web服务 构建与运行”的知识点。 ### 知识点一:Java Web服务概念 Java ...
Java Web API是Java平台用于构建Web应用程序的一组接口和类,涵盖了从服务器端处理到客户端交互的各种技术。在这个描述中,我们关注的关键技术包括Hibernate、Java EE、JDK、jQuery、Spring以及W3C School的API。让...
Java 中文问题是 Java web 开发中常见的一种问题,解决该问题需要了解 Java 中文编码、字符集和过滤器的使用。本文将总结 Java 中文问题的解决方法,并提供实践经验和代码示例。 一、支持中文 在 Java 中,支持...
根据提供的文件信息,本文将详细解析与Java Web打印、Java PDF打印相关的技术点及实现方法。主要内容包括: 1. Java Web打印的基本概念。 2. 使用Struts框架进行Web页面开发的相关知识点。 3. Java PDF打印的技术...
实验内容包括七个实验项目,每个实验项目都涵盖了 Struts2 框架的不同方面,如 Struts2 的基本配置和工作原理、参数的接受和显示、中文环境的设置和相关配置文件的配置、Web 元素的访问和参数的携带、结果类型的掌握...
### Java Web 开发中解决乱码问题的全面指南 #### 一、乱码问题概述 在Java Web开发过程中,乱码问题是开发者经常会遇到的问题之一。它通常发生在处理含有中文或其他非ASCII字符的数据时。本篇文章将详细介绍在...
使用Java Web服务构建SOA 中文版 part1
6.7 获取请求消息的实体内容 6.8 利用请求域属性传递信息 6.9 请求参数的中文读取问题 6.10 思考与实践 第7章 会话与状态管理 7.1 Web应用中的会话与会话状态 7.2 Cookie 7.3 在...
Java Web技术是构建Web应用程序的核心框架,它涵盖了服务器端编程、网页动态生成、数据交互等多个方面。Java Web允许开发者创建可扩展、跨平台的网络应用,以满足不断增长的互联网需求。 Web Services是一种基于...
Java Web学习的所有API中文文档是一份宝贵的资源,涵盖了Java Web开发中的关键技术和API。这份文档集合了开发者在进行Java EE(Java Enterprise Edition)开发时可能会用到的各种接口、类和方法的详细解释,帮助初学...
Java Web项目实战大全源码搜索引擎是一个综合性的学习资源,涵盖了Java Web开发中的重要模块,特别是搜索引擎的实现。这个项目旨在帮助开发者深入理解如何在Web应用中集成和构建搜索引擎功能,以便用户可以高效地...
在Java Web开发中,中文乱码问题一直是开发人员面临的常见问题之一。中文乱码通常是由于在字符编码转换过程中,字符集不一致或设置不当所导致。为了解决这一问题,首先需要了解Java Web工程字符编码的基本理论,包括...
Java Web编程宝典-十年典藏版.pdf 是PDF电子书,不是源码。共分2个包。 《Java Web编程宝典(十年典藏版)》是一本集技能、范例、项目和应用为一体的学习手册,书中介绍了应用Java Web进行程序开发的各种技术、技巧。...
### Java中文乱码问题详解 #### 一、中文问题的来源与背景 计算机技术发展初期,操作系统主要支持单字节的ASCII字符集。随着全球化进程加快和技术进步,为支持多种语言,尤其是双字节编码的语言(如中文),提出了...
深入体验Java Web开发内幕-核心基础(PDF中文版)相关资源: 深入体验Java Web开发内幕-核心基础(PDF中文版)part1(压缩包名:深入体验Java Web开发内幕-核心基础.part1); 深入体验Java Web开发内幕-核心基础(PDF...
中文名: JAVA WEB服务 构建与运行 原名: Java Web Services:Up and Running 作者: Martin Kalin译者: 任增刚图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: O'Reilly书号: ISBN: 9787121097119发行时间: 2009年...