`
shukuiyan
  • 浏览: 408869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

今天遇到一个servlet乱码问题

阅读更多
新建web工程myproject

新建servlet

public class ThreeParams extends HttpServlet
{
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException
{
  resp.setContentType("text/html;charset=UTF-8");

  req.setCharacterEncoding("UTF-8");
  PrintWriter out=resp.getWriter();
  out.println(req.getParameter("param1"));
  out.println("<br>");
  out.println(req.getParameter("param2"));
  out.println("<br>");
  out.println(req.getParameter("param3"));
  out.println("<br>");
  System.out.println("in doGet");
}

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException
{
  System.out.println("in doPost");
 
  resp.setContentType("text/html;charset=UTF-8 ");

req.setCharacterEncoding("UTF-8");
    PrintWriter out=resp.getWriter();
  out.println(req.getParameter("param1"));
  out.println("<br>");
  out.println(req.getParameter("param2"));
  out.println("<br>");
  out.println(req.getParameter("param3"));
  out.println("<br>");
}
private static final long serialVersionUID = 1L;
}



新建jsp类 为servlet提供参数

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Insert title here</title>
</head>
<body>
  <form action="ThreeParams" id="form1" method="post" name="form1">
   <table width="343" border="1">
    <tr>
     <td width="92">
      param1
     </td>
     <td width="94">
      <input name="param1" type="text" id="param1" />
     </td>
    </tr>

    <tr>
     <td width="92">
      param2
     </td>
     <td>
      <input name="param2" type="text" id="param2" />
     </td>
    </tr>

    <tr>
     <td>
      param3
     </td>
     <td>
      <input type="text" name="param3" id="param3" />
     </td>
    </tr>
    <tr>
     <td>
      &nbsp;
     </td>
     <td>
      <label>
       <input type="submit" value="提交" />
      </label>
     </td>
    </tr>
   </table>
  </form>
 
  <br>
  <form action="ThreeParams" id="form1" method="get" name="form1">
   <table width="343" border="1">
    <tr>
     <td width="92">
      param1
     </td>
     <td width="94">
      <input name="param1" type="text" id="param1" />
     </td>
    </tr>

    <tr>
     <td width="92">
      param2
     </td>
     <td>
      <input name="param2" type="text" id="param2" />
     </td>
    </tr>

    <tr>
     <td>
      param3
     </td>
     <td>
      <input type="text" name="param3" id="param3" />
     </td>
    </tr>
    <tr>
     <td>
      &nbsp;
     </td>
     <td>
      <label>
       <input type="submit" value="提交" />
      </label>
     </td>
    </tr>
   </table>
  </form>
</body>
</html>
接下来配置web.xml

<servlet>
  <servlet-name>threep</servlet-name>
  <servlet-class>ThreeParams</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>threep</servlet-name>
  <url-pattern>/ThreeParams</url-pattern>
</servlet-mapping>

执行 http://localhost:8080/myproject/threeparams.jsp



在表单中输入中文,发现post方式提交的表单中的中文提交后正常显示,而get方式提交的表单中中文是乱码。解决方法是修改tomcat中的server.xml,将其中的

<Connector port="8080" protocol="HTTP/1.1"
               maxThreads="150" connectionTimeout="20000"
               redirectPort="8443"  />

改为<Connector port="8080" protocol="HTTP/1.1"
               maxThreads="150" connectionTimeout="20000"
               redirectPort="8443"  URIEncoding="UTF-8"/>



就可以都正常显示中文字符了
分享到:
评论

相关推荐

    史上最全Servlet中的中文乱码分析与解决问题

    在Servlet中接收浏览器的数据以及发送数据到浏览器的时候容易遇到一些中文显示乱码的问题,下面是博主对这类问题的一个总结,希望能帮到大家! 一、问题分析   当我们的Servlet程序从客户端接收到一个中文数据或者...

    android客户端向服务器提交请求的中文乱码问题

    android客户端向服务器提交请求的中文乱码问题

    做Java项目过程中遇到乱码问题的解决方案

    在做java项目(特别是web项目)的过程中,中文乱码一直是我们开发人员比较...  在jsp页面中的page指令中,有一个pageEncoding,这个指令表示jsp翻译成servlet时采用的编码,以及form提交数据的编码格式。所以post方

    关于servlet向mysql添加数据时中文乱码问题的解决

    最近在工作中遇到一个小问题,出现了中文乱码的问题,无奈只能想办法解决,下面这篇文章主要给大家介绍了关于servlet向mysql添加数据时中文乱码问题的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考...

    jsp和servlet操作mysql中文乱码问题的解决办法

    首先看是从什么地方开始出现的乱码,只要统一编码,就不会出现乱码,下面以uft-8(个人认为最好)为例,详细说明:1、...第二种最保险,一劳永逸,是专门写一个过滤器类,也称国际化,类名为SetCharacterEncodingFilter

    Java Web开发中文乱码问题的研究与解决.pdf

    在利用Servlet/JSP技术开发java Web应用程序的时候,不可避免的会遇到中文乱码问题,本文首先介绍了Web应用中常用的编码方式,然后分析了J2EE平台下Web应用中文乱码问题产生的原因,并在此基础上针对不同情况提出了解决...

    Java Web开发中的乱码问题分析及解决方案研究 (1).pdf

    在利用JSP/Servlet技术开发java Web应用程序的时候,经常会遇到中文乱码问题,本文首先介绍了Web应用中常见的编码方式,然后分析了J2EE平台下Web应用中文乱码产生的原因,并针对不同情况给出了解决方法。

    解决idea开发遇到javascript动态添加html元素时中文乱码的问题

    一个几个月前做的小网站,这两天翻出来再看看,发现JavaScript文件中动态添加html元素中的中文乱码了,但是从后台获取的动态中文资源没问题,只有js文件中的静态中文资源,加载到网页中显示乱码 不要在意日期中年...

    servlet验证码制作和过滤器

    在做网站的时候经常会遇到一些问题,比如乱码问题和验证码问题,在这里有几个封装好的,做网站经常用到的东西

    servlet图书馆管理系统.zip

    然后打开观察是否中文乱码,如果乱码就去重新设置编码为UTF-8或GBK直至不乱码为止 最后\library源码\src\com\rain\util\DBUtil.java 修改成你自己的数据库配置; 最后用tomcat容器部署运行,如果遇到无法登陆、登陆...

    JavaWeb基础学习中处理中文乱码(踩过的坑)

    在JavaWeb学习当中,常常会遇到中文乱码问题,为了正常显示我们所需要的内容,我们必须要对他进行转码处理。 在web环境中,我们的get请求编码是ISO-8859-1,我们的中文字符编码是UTF-8,若使用默认的字符编码,则会...

    jQuery调用AJAX时Get和post公用的乱码解决方法实例说明

    但是初学者进行项目开发时,会遇到一个很烦人的问题:中文乱码。下面我就通过一个简单的实例来告诉大家哪些地方可能会导致乱码,我们需要通过什么方式来解决。 我们这个实例主要实现用户注册时用户名是否正确(已...

    Java web项目 常见问题汇总

    汇总一、网页报‘404’错误二、网页报‘500’错误三、项目中Error Pages错误四、导入的项目出现乱码五、报错 HttpServletRequest 无法解析为类型 或者 The superclass “javax.servlet.http.HttpServlet” was not ...

    【JSP+Servlet+Tomcat】WEB项目初启动的那些糟心事

    文章目录配置好Tomcat操作流程我配置的index.jsp我配置的web.xmlJavaEE相关包的导入启动遇到“淇℃伅”的乱码问题解决方法网页无显示☆ 404 Not found ☆路径错误配置错误处理方法总结问题解决总结 配置好Tomcat ...

    JAVA自学之路

    首先我要恭喜你,遇见问题,意味着你又有涨经验的机会了,每解决一个问题,你的JAVA经验值就应该上升几百点,问题遇到的越多,知识提升的越快。 但是总是解决不了也是很恼人的,怎么办呢? 我一般要求我们的...

    开源bbs源码java-javaweb:网页版

    项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用...

    fckedit编辑器

    1 新建一个web工程名字为FCKeditor-java-2.3,然后把FCKeditor-2.3-java.zip解压缩后的代码拷贝到工程目录下 2如果是用的Eclipse,使用快捷键Ctrl+Shift+R 在SimpleUploaderServlet.java和ConnectorServlet.java两...

Global site tag (gtag.js) - Google Analytics