`
xsc963
  • 浏览: 29523 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

在Tomcat6.0中关于JSP/Servlet表单乱码的一个解决方法

    博客分类:
  • J2EE
阅读更多
在Tomcat中,提交表单时的中文乱码是一件非常头痛的事,好久没搞Web了,最近又重拾Web仔细研究了一下,总结了如下方法:

步骤一:编辑Tomcat的配置文件conf/server.xml在用于接受客户端语法的Connector<connector></connector>标签中添加URIEncoding="UTF-8"属性,该属性用来解决GET中的编码问题。
xml 代码
  1. <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />


步骤二:在每个需要提交表单参数的JSP/Servlet之前加入下列代码来设置字符集,用于搞定POST请求:
java 代码
  1. request.setCharacterEncoding("UTF-8");


这样基本就搞定了字符乱码问题了,实现上述问题的要求是所有的网页编码必须是UTF-8编码既。
在JSP中:
jsp 代码
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>
在Servlet中:
java 代码
  1. response.setContentType("text/html;charset=UTF-8");
在所有的网页中:
html代码
  1. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">


以上测试在Tomcat 6.0.14、IE6.0、FireFox2.0.13及Opera9.25中测试通过,开发环境使用netBeans 6.0

附测试代码:
html代码
  1. <!---->
  2. Document : zc
  3. Created on : 2007-12-22, 17:20:24
  4. Author : 啊春
  5. -->
  6. >
  7. <html>
  8. <head>
  9. <title><!---->title>
  10. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  11. <!---->head>
  12. <body>
  13. <form action="/wat1/t1" method="GET">
  14. 姓名:<input type="text" name="name" value="" size="20" />
  15. 密码:<input type="password" name="passwd" value="" size="20" />
  16. <input type="submit" value="注册" />
  17. <!---->form>
  18. <br />
  19. <form action="/wat1/t1" method="POST">
  20. 姓名:<input type="text" name="name" value="" size="20" />
  21. 密码:<input type="password" name="passwd" value="" size="20" />
  22. <input type="submit" value="注册" />
  23. <!---->form>
  24. <!---->body>
  25. <!---->html>

java 代码
  1. protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  2. throws ServletException, IOException {
  3. response.setContentType("text/html;charset=UTF-8");
  4. PrintWriter out = response.getWriter();
  5. try {
  6. /* TODO output your page here
  7. out.println("");
  8. out.println("");
  9. out.println("");
  10. out.println("");
  11. out.println("");
  12. out.println("

    Servlet t1 at " + request.getContextPath () + "

    ");
  13. out.println("");
  14. out.println("");
  15. */
  16. out.println("Hello 欢迎你的注册");
  17. request.setCharacterEncoding("UTF-8");
  18. String str = request.getParameter("name");
  19. out.println(str);
  20. out.println(request.getParameter("passwd"));
  21. } finally {
  22. out.close();
  23. }
  24. }


jsp代码
  1. <%--
  2. Document : index
  3. Created on : 2007-12-20, 20:06:04
  4. Author : 啊春
  5. --%>
  6. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  7. "http://www.w3.org/TR/html4/loose.dtd">
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  11. <title>JSP Page<!---->title>
  12. <!---->head>
  13. <body>
  14. <h2>Hello World!<!---->h2>
  15. <!---->body>
  16. <%
  17. request.setCharacterEncoding("UTF-8");
  18. String name = request.getParameter("name");
  19. String passwd = request.getParameter("passwd");
  20. %>
  21. 姓名:<%=name%><br />
  22. 密码:<%=passwd%>
  23. <!---->html>
分享到:
评论

相关推荐

    $jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试

    通过这个教程,你可以了解如何在JDK 6.0和Tomcat 6.0环境下设置并调试基础的Web应用,包括JSP、Servlet和JavaBean。JSP用于创建动态网页,Servlet是Java Web开发中的核心组件,负责处理HTTP请求和响应,而JavaBean则...

    tomcat6.0和jsp的配置

    Tomcat6.0是一个开源的、免费的Java应用服务器,主要用于运行基于Java Servlet和JavaServer Pages(JSP)的应用程序。JSP是Java平台上的动态网页技术,它允许开发人员将静态HTML内容与动态Java代码结合起来,以创建...

    jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试

    在本文中,我们将深入探讨如何在JDK 6.0和Tomcat 6.0环境下调试简单的JSP、Servlet和JavaBean。首先,我们需要确保正确安装和配置这两个组件。 **安装与配置JDK 6.0** 1. 下载并安装Java Development Kit (JDK) 6.0...

    ACCP6.0S2jsp/Servlet/Ajax

    【ACCP6.0 S2 jsp Servlet Ajax】是一个针对初学者和进阶者的IT教育课程,涵盖了Web开发中的三个核心技术:JavaServer Pages (JSP)、Servlet和Asynchronous JavaScript and XML (Ajax)。这些技术是构建动态、交互式...

    tomcat6.0是一款免费开源的jsp服务器

    Valves是Tomcat中的一个独特概念,它们是处理请求生命周期中的各个阶段的组件。开发者可以根据需求自定义Valves,插入到请求处理路径中,实现日志记录、身份验证、会话管理等功能。Tomcat6.0内置了一些预定义的...

    Tomcat6.0——压缩包下载

    Tomcat6.0是该软件的一个重要里程碑,因为它在当时的Java EE 5规范下提供了对Servlet 2.5和JSP 2.1的支持。 【描述】中的重复内容强调了这个压缩包是关于Tomcat6.0的资源下载,这表明这个压缩文件包含了运行和配置...

    Apache tomcat6.0 java开发工具 Apache tomcat6.0 Apache tomcat6.0

    在Java开发过程中,Tomcat作为一个轻量级的应用服务器,相比于全功能的应用服务器如IBM WebSphere或Oracle WebLogic,它的安装和配置更为简单,适合小型到中型的Web应用程序。Tomcat 6.0的发布为开发者提供了一个...

    tomcat6.0的安装版

    Tomcat6.0是其历史上的一个稳定版本,发布于2007年,支持Java Servlet 2.5和JavaServer Pages (JSP) 2.1规范。这个“Tomcat6.0的安装版”包含了运行和管理Java应用服务器所需的所有组件。 【描述】:“tomcat6.0的...

    tomcat6.0安装版及Jsp测试方法.rar

    标题中的“tomcat6.0安装版及Jsp测试方法”表明了这个压缩包内容是关于Tomcat 6.0的安装教程以及如何在Tomcat环境下测试JSP页面的指导。Tomcat是一款广泛使用的开源Java Servlet容器,尤其适用于运行JSP和Servlet...

    web服务器tomcat6.0

    6. **多应用支持**:通过定义不同的Context,Tomcat 6.0可以在同一个服务器实例上托管多个独立的Web应用。 7. **兼容性**:除了与Java EE 5兼容,Tomcat 6.0还能够与其他开源Java框架如Struts、Spring、Hibernate等...

    Tomcat 6.0 安装版

    Tomcat是Java Community Process (JCP)下的一个项目,实现了Java EE中的Web应用服务器部分,特别是Servlet和JavaServer Pages (JSP)规范。 【描述】"Tomcat Java服务器运行容器,安装版,可直接安装使用"表明这是一...

    tomcat6.0通用版本

    3. **Java EE 5兼容性**:尽管Tomcat本身是一个轻量级的应用服务器,但Tomcat 6.0可以作为Java EE 5的一部分运行,提供基本的Java EE服务,如会话管理、安全性和连接池。 4. **性能优化**:Tomcat 6.0进行了多方面...

    Target runtime Apache Tomcat 6.0 is not defined 解决方法

    Apache Tomcat 6.0是一个广泛使用的开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP) 规范,用于托管Web应用程序。当Eclipse中缺少对Tomcat 6.0的支持时,开发者将无法正常调试和测试在该环境中...

    Tomcat6.0 javax.servlet文档

    【标题】"Tomcat6.0 javax.servlet文档"所涉及的知识点主要集中在Java服务器端编程领域,特别是关于Servlet和JavaServer Pages(JSP)技术。Servlet是Java平台上的一个标准接口,它允许开发者创建能够处理HTTP请求的...

    Tomcat6.0

    "tomcat-6.0.10.exe"是Tomcat6.0的安装程序,其中".exe"是Windows操作系统中的可执行文件扩展名,表示这是一个用于在Windows环境下安装Tomcat6.0的程序。版本号"6.0.10"表示这是6.0系列中的第10个修订版。 **知识点...

    tomcat6.0配置心得

    例如,在 JSP 中使用 include 语句时,Tomcat 4.0 能正常编译,而 Tomcat 6.0 则可能出现中文乱码问题。 三、中文文件名问题 在 Tomcat 6.0 中,我们可能会遇到中文文件名问题,即 Tomcat 6.0 无法正确地处理中文...

    tomcat6.0应用部署服务器

    在IT领域,Tomcat6.0是一个广泛应用的开源Web服务器和Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)技术。Tomcat6.0是Apache软件基金会Jakarta项目的一部分,为开发者提供了运行Java web应用程序的...

    Tomcat6.0 Jsp开发

    总的来说,"Tomcat6.0 Jsp开发"的主题涵盖了Java Web开发中的核心元素,包括Tomcat服务器的使用、JSP和Servlet的编程、性能优化以及系统管理和安全配置等方面的知识。对于初学者来说,理解和掌握这些内容将有助于...

    apache-tomcat6.0 服务器

    Apache Tomcat 6.0 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages (JSP) 规范的应用服务器,主要用来部署和运行Java Web应用程序。这个版本是Tomcat系列的6.0版,它在当时的发布中提供了...

Global site tag (gtag.js) - Google Analytics