自己总结的:
     GET方式:
      1、提交方式为GET时,数据是放在请求HEADER头中的,且将数据与URL拼接后,浏览器会对拼接后的url进行编码,编码方式为浏览器默认的编码,
      2、然后再向服务器发送请求,服务器在进行解码,并且GET方式不会向服务器端传送编码方式
      3、请求得到响应后,服务器再将结果数据进行编码,编码方式为服务器设定的编码
      4、客户端得到结果数据后,在进行解码;
    
      POST方式:
      1、提交方式为POST时,数据是放在请求BODY体中,客户端根据网页的ContentType("text/html; charset=UTF-8")的进行编码
      2、然后发送到服务器,在服务器端的程序中我们可以通过Request.setCharacterEncoding() 设置编码,
         然后通过request.getParameter获得正确的数据。
        
      注意:对于GET方式,服务器端的程序中我们无法通过Request.setCharacterEncoding()设置编码
            TOMCAT默认缺省用的是 ISO-8859-1
            通过<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>进行更改
          
       客户端浏览器或者应用程序中的JSP页面--》SERVLET服务器--》 两者编码要一致直,整个项目中编码方式要保持一致
       有的浏览器总是以UTF-8的编码方式进行编码,高级浏览器已取消此限制,如FIREFOX等

参数传递中编码问题(Get/Post 方式)(三)的更多相关文章

  1. 参数传递中编码问题(Get/Post 方式)(一)

    用JAVA在做一个支付接口时,需要和表现层的UTF8代码进行报文交换,因JAVA是GBK编码的,因此出现了小插曲.为此,花了点时间,重新梳理一下相关知识点. 以下内容是我转载的,觉得挺好的.... 一 ...

  2. 参数传递中编码问题(Get/Post 方式)(二)

    form有2中方法把数据提交给服务器,get 和post ,分别说下吧.(一)get 提交1.首先说下客户端(浏览器)的form表单用get 方法是如何将数据编码后提交给服务器端的吧. 对于get 方 ...

  3. 转 Velocity中加载vm文件的三种方式

    Velocity中加载vm文件的三种方式   velocitypropertiespath Velocity中加载vm文件的三种方式:    方式一:加载classpath目录下的vm文件 Prope ...

  4. 正确停止线程的方式三 使用Thread类中的内置的中断标记位-----------不熟悉

    package charpter10; public class Processor implements Runnable { @Override public void run() { for ( ...

  5. Velocity中加载vm文件的三种方式

    Velocity中加载vm文件的三种方式: a.  加载classpath目录下的vm文件 /** * 初始化Velocity引擎 * --VelocityEngine是单例模式,线程安全 * @th ...

  6. [翻译]Unity中的AssetBundle详解(三)

    构建AssetBundles 在AssetBundle工作流程的文档中,我们有一个示例代码,它将三个参数传递给BuildPipeline.BuildAssetBundles函数.让我们更深入地了解我们 ...

  7. 字符集之在UTF-8中,一个汉字为什么需要三个字节?

    (一)在UTF-8中,一个汉字为什么需要三个字节? UNICODE是万能编码,包含了所有符号的编码,它规定了所有符号在计算机底层的二进制的表示顺序.有关Unicode为什么会出现就不叙述了,Unico ...

  8. 编码知识梳理(UTF-8, Unicode, GBK, X509, ANSI, VIM中编码)

    编码小结 1 初识编码 所谓编码,是信息从一种形式或格式转换为另一种形式的过程. 字符编码,从自然语言的字符的一个集合(如字母表或音节表),到其他东西的一个集合(如号码或电脉冲)的映射 ANSI:wi ...

  9. python中编码问题

    各种编码在内存中所占的大小: ascii: 英文:8bit (1B) uft-: 英文:8bit (1B) 中文:24bit (3B) GBK: 英文:8bit (1B) 中文:16bit (2B) ...

随机推荐

  1. ASP.NET动态创建数据库和表

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

  2. 【spark】分区

    RDD是弹性分布式数据集,通常RDD很大,会被分成多个分区,保存在不同节点上. 那么分区有什么好处呢? 分区能减少节点之间的通信开销,正确的分区能大大加快程序的执行速度. 我们看个例子 首先我们要了解 ...

  3. 自定义音频条形图--p52

    package com.zzw.qunyingzhuan2; import android.content.Context; import android.graphics.Canvas; impor ...

  4. Linux命令四

    作业一: 1) 开启Linux系统前添加一块大小为20G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 安装的是命令行界面 3) 为新加的硬盘分区,一个主分区大小为10G,剩余空间给扩展分区,在扩 ...

  5. SpringMVC中WebDataBinder的应用及原理

     Controller方法的参数类型可以是基本类型,也可以是封装后的普通Java类型.若这个普通Java类型没有声明任何注解,则意味着它的每一个属性都需要到Request中去查找对应的请求参数.众所周 ...

  6. keras 入门模型训练

    # -*- coding: utf-8 -*- from keras.models import Sequential from keras.layers import Dense from kera ...

  7. (五)java进制

    进制 整数的表示 十进制:   0-9,  满10进1 八进制:   0-7,  满8进1,以0开头 每三位表示一位,三位数中最大的是111,111是7,7是八进制中最大的基数 十六进制:0-15,满 ...

  8. [EMWIN]FRAMEWIN 与 WINDOW 的使用注意

    1.对于window控件,选中这类型控件的时候直接选中对应句柄即可: WM_InvalidateWindow(hWin); WM_SelectWindow(hWin); WM_CreateTimer( ...

  9. 关于public static void main(String[] args)相关知识

    main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同.比如方法的名字必须是main,方法必须是public ...

  10. IDEA导出想要的sql供H2数据库使用

    通过Database连接远程oracle数据库. 选择对应的数据库 双击该数据库需要查询的表,进行自动查询,展示结果. 在查询结果中选择某条数据,右键,选择Data Executer,选择对应的方式. ...