解决Tomcat修改get提交请求乱码问题

1:表单提交controller获得中文参数后乱码解决方案

注意: jsp页面编码设置为UTF-8

***************form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 <form action="/user/addUser" name="userForm" method="post">

修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)

<filter>
  <filter-name>characterEncodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
  <init-param>
   <param-name>forceEncoding</param-name>
   <param-value>true</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>characterEncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

tomacat对GET和POST请求处理方式是不同的,要处理针对GET请求的编码问题,则需要改tomcat的server.xml配置文件,如下:

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

改为:

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>

**************注意Eclipse中Tomcat,server,clean功能会将原先配置还原

如果你是更改的tomcat安装目录的server.xml配置文件,其实是因为eclipse在运行项目时是用的eclipse中配置的tomcat,那么问题就好解决了,打开eclipse中的tomcat配置文件,改为如下即可:

注:配置useBodyEncodingForURI="true"后,可以解决普通get请求的中文乱码问题,但是对于通过ajax发起的get请求中文依然会乱码,请把useBodyEncodingForURI="true"改为URIEncoding="UTF-8"即可。

以上所述是小编给大家介绍的Tomcat修改get提交请求乱码问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • 使用Get方式提交数据到Tomcat服务器的方法

    这篇文章将介绍向服务器发送数据,并且服务器将数据的处理结果返回给客户端,这次先介绍使用Get方式向服务器发送数据,下篇将介绍使用Post方式向服务器发送数据,需要的朋友参考下吧! 实现方式分为以下几步: 第一步:使用MyEclipse创建一个Web project,项目命名为WebProject->在src文件夹中新建一个包名为com.fyt.org的包 ->在包中新建一个Servlet,Servlet命名为LoginServlet,并在LoginServlet.Java中添加下面的代码 pa

  • tomcat6下jsp出现getOutputStream() has already been called for this response异常的原因和解决方法

    1.在tomcat6.0下jsp出现getOutputStream() has already been called for this response异常的原因和解决方法 在tomcat6.0下jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),没有妥善处理好的原因. 具体的原因就是: 在tomcat中jsp编译成servlet之后在函数_jspService(HttpServletRequest request, HttpServletResponse res

  • 解决Tomcat修改get提交请求乱码问题

    1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为UTF-8 ***************form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <form action="/user/addUser" n

  • 解决tomcat 静态页面(html)中文乱码的解决终极篇

    tomcat 中jsp不会乱码 但是html中文会乱码 原因有好几个: 没有设置页面编码 tomcat的配置不正确 文件保存的编码格式不是utf-8 等等 下面来讨论解决办法 html页面设置为 utf-8 在页面头部添加<meta>标签 tomcat的server.xml配置 (1) 添加 URIEncoding="UTF-8" <Connector port="8080" protocol="HTTP/1.1" connec

  • 解决tomcat启动 ssm项目出现乱码的问题

    0.乱码产生原因:编码和解码的方式是不同 1.出现乱码的解决方式[推荐]: 在tomcat 的配置文件web.xml 中添加上请求编码过滤器: <!-- 请求编码过滤器 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</fil

  • java表单提交中文乱码的解决方法

    本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下 主页index.xml <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>servlet演示</title> </head> <body> <h2&

  • 一文告诉你如何解决Tomcat乱码问题(很详细!)

    目录 一.问题提出 二.乱码原因 三.彻底解决乱码问题 补充:tomcat窗口中文乱码 总结 一.问题提出 相信很多初始Tomcat的小伙伴都会遇到下面的情况,启动Tomcat是一大堆看不懂的文字,比如... 相信很多有强迫症的同学,看到这些很不爽,我也是,接下来我就来说一下解决方案. 二.乱码原因 产生乱码的根本原因就是编码和解码不一致,举个例子就是翻译的人与写文章的人用的不同的语言,我本来写的是中文拼音,结果你去用英语翻译,肯定翻译出来的东西看不懂.比较常见的编码格式有Unicode.Asc

  • 解决nodejs中使用http请求返回值为html时乱码的问题

    今天用nodejs进行http请求时返回的数据是一个html文件,然后我还是按照以前解析json数据的方法.果不其然报错了:SyntaxError: Unexpected token  in JSON at position 0 没办法,只好换一种方法,将接受到的Buffer对象toString,然后打印出来发现是乱码. 第一感觉是编码问题,google一下然后看官方文档,总结三种方法: 1.toString 加编码格式作为参数. 2.使用iconv-lite 改变编码. 3.使用cheerio

  • springMVC解决ajax请求乱码的三种方法

    springMVC解决ajax请求乱码的问题 前言: 最近在项目的使用过程中发现在springmvc的项目中,使用返回页面的请求方式,数据都能正常显示,但是对于ajax的请求,始终显示乱码.首先第一种是因为我们在web.xml中配置了spring的字符编码过滤器,那么使用ajax请求为什么就不行了呢?下面简单的分析一下,仅供参考. 先列出简单的请求代码: 浏览器端: <script type="text/javascript"> $.ajax({ type: "P

  • 如何解决JQuery ajaxSubmit提交中文乱码

    一般人使用是 jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", success: data }); 分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据.因此,无论是 Firefox或者IE,提交的数据都是一致的,都是UTF-8编码后的数据. 查看Header

  • 解决Swagger修改请求对象字段文档不更新问题

    目录 解决方法 描述 解决方法 有两个对象用了同一个@ApiModel的value值 描述 今天发现不管怎么修改如下对象,接口显示总是不变 @Data @NoArgsConstructor @AllArgsConstructor @ApiModel(value = "账单查询对象",description = "请求参数类") public class QueryBillVO { @ApiModelProperty(value = "页码",ex

  • SpringMVC请求乱码处理的2种方式

    这篇文章主要介绍了SpringMVC请求乱码处理的2种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.post请求乱码 在web.xml中加入 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter&

随机推荐