首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么POST不尊重charset,但是AJAX请求呢?tomcat 6

POST请求不尊重charset是因为在HTTP协议中,POST请求的数据是通过请求体传输的,而请求体中的数据格式是由Content-Type头部字段来指定的。charset是Content-Type头部字段的一个参数,用于指定请求体中的数据编码格式。

而AJAX请求中,通过XMLHttpRequest对象发送的请求,默认情况下会将请求体的数据编码为UTF-8格式,并在请求头部字段中添加Content-Type: application/x-www-form-urlencoded;charset=UTF-8。这是因为XMLHttpRequest对象在发送请求时会自动将数据编码为UTF-8格式,以确保数据的正确传输。

至于Tomcat 6,它是一个Java Servlet容器,用于运行Java Web应用程序。Tomcat 6支持HTTP协议,并且可以处理POST请求。但是Tomcat 6本身并不负责解析请求体中的数据,而是将请求传递给相应的Servlet来处理。因此,POST请求是否尊重charset取决于具体的Servlet实现。

总结起来,POST请求不尊重charset是因为HTTP协议中并没有强制要求POST请求必须遵循charset参数,而AJAX请求中的charset参数是由XMLHttpRequest对象自动添加的。至于Tomcat 6,它作为一个Servlet容器,可以处理POST请求,但具体是否尊重charset取决于Servlet的实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Fdog系列(二):html写完注册页面之后怎么办,用java写后台响应呀。

不要问为什么,博主也是趟过坑的人!!!! ---- 2....创建好的java文件,默认有两个函数,一个是GET,一个是POST,这个是干什么的,GET和POST是HTTP请求的两种基本方法,要说它们的区别,最直观的区别就是GET把参数包含在URL中,POST通过...再回到我们的注册页面,你可能已经有疑问,点击发送短信之后,页面并没有发生跳转,但是后台已经将前台的数据处理完毕,并不像上面的这种,如何做到即执行了servlet,又不执行跳转? ?...第二种技术叫Ajax(异步获取请求),也是我推荐的一种,使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。...例如图中的发送短信按钮,转发虽然可以携带数据返回,但是如果首页有一些数据不需要在发送验证码的时候处理,则更应该是Ajax

1.1K20

SSM第八讲 SpringMVC高级特性

--此jar包在tomcat中已经有了,但是如果不引入此依赖项目则会报错,因此依赖范围provided就行--> provided 回顾...以Json对象形式返回,并且编码为utf8 案例consumes: 我们知道@RequestBody能够把前台传递过来的json字符串自动封装到后台的Java对象中,但是前台提交的方式必须是POST,除此之外请求头...(Content-Type)必须是application/json;charset=utf8,我们能不能在后台就规定(提示)一下前端传递的请求头的类型?...类型(表单默认的提交类型),ajax写也是默认这种类型 只要提交数据格式为username=东方标准&admin=123456springmvc都能帮我们封装数据,不限提交方式get/post 我们前面知道...({ url: "/demo5_7.form", type: "post", //请求头类型设置为默认的(写也可以post默认就是application

2.9K20

AJAX入门这一篇就够了

使用Ajax更多的是编写客户端代码,而不是服务端的代码。 XMLHttpRequest 工作原理 传统的web前端与后端的交互中,浏览器直接访问Tomcat的Servlet来获取数据。...如果是get方式,Tomcat下,使用ISO8859-1编码得到原本的二进制数组,再使用UTF-8编码便可以解决 接下来,要介绍的是:我们可以屏蔽任何浏览器和任何服务器的编码格式,浏览器发送给服务器的数据造成乱码问题...但是,现在我们使用XMLHttpRequest,拿到的不是全新的页面,仅仅是服务器端发送过来的数据!! 那我们要怎么解决缓存的问题??产生缓存的原因就是:我们请求了同一个地址,做了相同的操作。...我们要怎么解决??...这是怎么做到的???其实就是通过AJAX来完成的。使用AJAX技术让我们看起来网页非常“智能”,会根据省份来给出对应的城市信息。 ?

4.9K91

javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之一 基础Struts框架搭建篇

2.Tomcat 可以启动,但是浏览器无法进入localhost:8080/界面。...那么具体的,Struts在Web开发中是封装什么的。 Web程序中,前端发送请求给后端,后端返回数据给前端。...我在想如果把标签都换成Struts的,后来改了一下,发现效果        都没有了。虽然Struts标签有个cssStyle.但是改了之后,虽然有变化,但还是磨合不到一起去。...之后会详解AJAXAjax也是想后端发送post和get请求,所以struts的作用仍然有,只是没有标签的情况下,作用少了一点。...Jquery的AJAX函数有两种写法,一种是 $.ajax({ "type":"post", "url":"login", "traditional":true

1.1K90

JavaScript : 浅讲ajax1.ajax入门案例

对于JavaWeb项目而言,ajax主要用于浏览器和服务器之间数据的传输。 如果是单单地堆砌知识点,会显得比较无聊,那么根据惯例,我先继续介绍ajax,而是来写一个案例吧。...打开浏览器,输入访问地址,我这里的tomcat端口号是80 ,默认可以写。...1.2 编写服务器程序Servlet 个人感悟,精粹整理 web环境已经搭好,接下来,让我们来编写一个简单的Servlet程序,tomcat是一个服务器,现在它里面有一个名字叫做ajax的web项目,那么这些...重启tomcat。...1.5 基于post方式的数据请求 get方法会在URL地址栏里显示你提交所带的值,post方法不会。所以,相对来说,post方法比较安全。

67250

(修订版)AJAX入门!

使用Ajax更多的是编写客户端代码,而不是服务端的代码。 3.1XMLHttpRequest 工作原理 传统的web前端与后端的交互中,浏览器直接访问Tomcat的Servlet来获取数据。...如果是get方式,Tomcat下,使用ISO8859-1编码得到原本的二进制数组,再使用UTF-8编码便可以解决 接下来,要介绍的是:我们可以屏蔽任何浏览器和任何服务器的编码格式,浏览器发送给服务器的数据造成乱码问题...但是,现在我们使用XMLHttpRequest,拿到的不是全新的页面,仅仅是服务器端发送过来的数据!! 那我们要怎么解决缓存的问题??产生缓存的原因就是:我们请求了同一个地址,做了相同的操作。...这里写图片描述 我们要怎么解决??...这是怎么做到的???其实就是通过AJAX来完成的。使用AJAX技术让我们看起来网页非常“智能”,会根据省份来给出对应的城市信息。 ?

1.4K11

AJAX入门!

使用Ajax更多的是编写客户端代码,而不是服务端的代码。 3.1XMLHttpRequest 工作原理 传统的web前端与后端的交互中,浏览器直接访问Tomcat的Servlet来获取数据。...如果是get方式,Tomcat下,使用ISO8859-1编码得到原本的二进制数组,再使用UTF-8编码便可以解决 接下来,要介绍的是:我们可以屏蔽任何浏览器和任何服务器的编码格式,浏览器发送给服务器的数据造成乱码问题...但是,现在我们使用XMLHttpRequest,拿到的不是全新的页面,仅仅是服务器端发送过来的数据!! 那我们要怎么解决缓存的问题??产生缓存的原因就是:我们请求了同一个地址,做了相同的操作。...这里写图片描述 我们要怎么解决??...这是怎么做到的???其实就是通过AJAX来完成的。使用AJAX技术让我们看起来网页非常“智能”,会根据省份来给出对应的城市信息。 ?

1.7K20

Shiro眼皮下玩ajax,玩出302 Found

(); 5 PostMethod post = new PostMethod(url); 6 post.addRequestHeader("Content-Type"...点击按钮获取短信验证码,在这儿我是通过给按钮绑定点击事件来发送ajax请求,后台通过调用上面抽取的工具方法来给指定用户发送短信内容,逻辑没错吧。...就这么简单,为什么我就能玩出302 Found,也许大家还不清楚302 Found是什么意思吧?...当我一点击按钮ajax方法执行,在浏览器中打断点各种尝试走到发送ajax的那段代码就跳过去,请求也不发,后台代码肯定也执行,为啥,难道我前端js代码写错了?...接着我又趴在桌子上想啊想啊,登录能正常调用,我发送个ajax不至于这么绝吧,一杯水下肚,巧了,Shiro在跟我开玩笑,你利用了我,就得时刻注意我的一举一动,原来我是把发送短信验证码的方法给拦截了,哎吆我滴孩啊

1.1K80

Ajax发送PUTDELETE请求时出现错误的原因及解决方案

.而其他的,根据单词并不能准确的知道他们想表达的意思.本文要讲的并不是HTTP协议,主要是分析一下发送Ajax(异步请求)的时候,为什么使用GET和POST方式发送可以接收到数据,而使用DELETE和PUT...既然会出现这个令人头痛的问题,那么我们为什么还要用这种Rest风格的URI?...使用浏览器F12查看network时,发现数据已经被封装到了实体信息中,问题究竟是在哪? 出现问题的原因 这个问题其实是Tomcat的问题....方法封装,而Tomcat看到是PUT请求则不会封装请求数据到map,只有POST形式的请求才会封装到请求体。...为什么会出现这种情况? 实际上这是因为在设计Tomcat的时候就出现的问题.在Tomcat的源代码的Request.java类中,大约是3111行左右的代码,有这样的一段代码.

2.2K10

从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手

而传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。 还有为什么叫异步? 因为在加载的时候,页面的其他部分还是可以自由操作的,没有出现卡死的状态,所以是异步。...用JavaScript写一个完整的AJAX代码并不复杂,但是需要注意:AJAX请求是异步执行的,也就是说,要通过回调函数获得响应。...,是 get 请求还是 post 请求。...第三个参数是同步或者异步,一般可以写,写默认异步,false:同步,true:异步。 3、send 方法 对于 get 方式,参数为 null; 对于 post 方式,参数为请求的数据。...链接请求内容一致 shr.send(param); 对于 post 请求,还需要设置下请求头(post请求才有) // 仅仅针对 post 请求才有 xhr.setRequestHeader('Content-Type

1.1K30

30分钟全面解析-图解AJAX原理

一、什么是 AJAX  1.为什么需要AJAX 当需要从服务器获取数据,并刷新页面的操作,如果采用AJAX,则需要用提交整个表单的方式,当提交表单时,发送请求给服务器,页面需要等待服务器发送完response...在传输过程中,我们可以看下HTTP Headers: 7.AJAX  GET和POST方式区别 AJAX发送请求POST发送请求的代码如下: //GET方式 function testGet() {...,POST方式可以添加键值对,也可以添加 2.GET方式中,send方法传递值无效。...但是对于FireFox,必须提供一个null引用,否则回调行为将不规律。这是在编写客户端脚本时你会发现的一个跨浏览器兼容的问题。 3.POST 可以用send方法发送额外信息。...发送的信息存放在content中 4.Post方式需要指定Request Header的类型。Get方式不需要指定。 5.GET方式将参数暴露在URL中,POST暴露。

3.2K121

SpringMVC--框架学习

(如果此处写,则相当于应用的根目录) 方法上:请求 URL 的第二级访问目录,与类上的使用@ReqquestMapping标注的一级目录一起组成访问虚拟路径 基本使用 编写UserController...首先在/src/main/webapp/jsp目录下编写一个post.jsp的文件: <%@ page contentType="text/html;<em>charset</em>=UTF-8" language="java...首先在/src/main/webapp/jsp目录下编写一个<em>ajax</em>.jsp的文件: <%@ page contentType="text/html;charset=UTF-8" language="java...而不必再手动封装集合数据 启动tomcat服务,在浏览器中访问ajax.jsp: http://localhost:8080/jsp/ajax.jsp 结果如下: image.png 静态资源访问 几乎所有情况下...defaultValue设置前端没有传入参数时的默认值 启动tomcat服务,浏览器携带任何参数做如下请求: http://localhost:8080/user/quick15 后台会打印设定的默认值

92810

ajax跨域问题以及解决方案_js跨域请求的三种方法

ajax跨域 AJAX跨域请求 GetJson实现跨域请求 CrossOrigin注解实现跨域 出于浏览器的同源策略限制。...() 发送异步请求 $.ajax( { type:"GET",// 请求的方式 GET POST url:"http://localhost:8080/loadPicture_war_exploded...如果服务器在您的控制之下,请将请求站点的源添加到允许访问的域集,方法是将其添加到Access-Control-Allow-Origin头的值。 为什么会有跨域?...; 但是这样写看起来怪怪的,而且实际上这样异步请求中的url依然会被浏览器拦截 如果去掉这个url,会发生不可描述的事情,像这样—-整个span被页面代码填满, 那怎么处理?...,但是前端接收不到后端返回的数据,即异步 请求中的success方法失效了, 为什么失效?

3.1K20
领券