我遇到的jsp表单提交乱码问题
来源:互联网 发布:ubuntu14.04安装php 编辑:程序博客网 时间:2024/06/17 15:28
jsp表单以get方式提交不出现乱码,以post方式提交出现了乱码。
el.jsp文件主要代码如下:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
del.jsp代码如下:
get方式提交时数据直接接在url地址栏之后,在del.jsp中写不写request.setCharacterEncoding("utf-8");都不会出现乱码。
但是把提交方式换成post提交后,request.getParameter("name");就出现了乱码。细思jsp表单提交的运行原理,客户端的请求某jsp文件,服务器将jsp文件以pageEncoding编码方式(用户可设定)将jsp文件转变成servlet文件,然后在转成字节码文件(用户不可设定),最后在运行字节码文件以charset设定的编码方式展现给客户端。
按照这个思路,第一步:我把请求页面el.jsp的pageEncoding设为utf-8,让容器以utf-8的编码方式将其转变为servlet文件,我去查看el_servlet.java,
因为我的java文件里的汉字不是乱码,我也没设定其他编码方式,所以容器以我设定的pageEncoding方式(utf-8)将jsp文件转换成java文件,。
至于容器将该java文件以**编码方式变成字节码文件我不管,反正最后它都会**解码然后以我设定的charset方式展现,charset就是 response.setContentType("text/html; charset=utf-8");,服务器对客户端的响应编码为utf-8。最后el.jsp运行后如下:
没问题,没乱码,但是我点提交后结果如下:
是个乱码!
第二步:我就去查看我提交的页面del.jsp,看看容器是怎么帮我转的啊(这时del.jsp中并未设定request.setCharacterEncoding("utf-8"))?我明明设定pageEncoding和Charset都是utf-8了啊,想想pageEncoding和Charset只是将del.jsp以utf转成java文件后再编译成class文件最后在变成utf-8格式,del.jsp载入到显示整个过程(utf-8)是以什么编码进去就以什么编码出来,是完整的。但是对于el.jsp表单的提交请求并没有设定以什么编码方式提交,也只有这个过程是会导致乱码问题了。因为请求的编码格式和del.jsp的编码格式不一,造成了乱码,所以在del.jsp加上request.setCharacterEncoding("utf-8"),
提交,但是还是出现乱码,我纳闷了,又去翻看del_servlet.java,这一看我笑了,
很明显嘛!我request.setCharacterEncoding("utf-8")设定的位置不对,这一句应该设定在最前面!
然后在回头看del_servlet.java
这句request.setCharacterEncoding("utf-8");的位置发生了改变,在数据初始化之前了。然后在,提交,结果如下:
- 我遇到的jsp表单提交乱码问题
- jsp提交表单的乱码问题
- jsp表单提交的中文乱码问题
- jsp表单提交乱码问题
- jsp提交表单乱码问题
- jsp 提交表单中文乱码问题
- JSP 表单提交中文乱码问题
- Jsp表单提交数据乱码问题
- 解决 jsp表单提交中文乱码问题!
- 表单提交的乱码问题
- jsp提交表单乱码
- jsp表单提交中文乱码的解决
- JSP表单提交中文乱码
- 表单提交GET方法遇到的问题
- jsp中form表单提交到serlvet中文乱码问题
- 网页java servlet JSP 提交表单乱码问题
- jsp\servlet\struts2表单提交中文乱码问题
- 表单提交中文乱码的问题
- 36.Oracle杂记——Oracle常用动态视图V$SQL_PLAN_STATISTICS
- c# Visual Studio2015不能创建项目
- Web服务器高并发的解决方案&TCP沾包问题&服务器TIME_WAIT异常
- 小程序学习心得之事件冒泡
- 基于OpenCV-python3实现抠图&替换背景图
- 我遇到的jsp表单提交乱码问题
- 嵌入式linux调试技巧
- 编写一个程序,实现设置上月、本月电表读数,显示上月、本月电表读数,计算并显示本月用电数。假设每度电的价格为1.2元,计算并显示本月电费。
- Java高级篇-7-Java中方法的参数是如何传递的
- java 泛型 编译警告:使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
- Tornado官方文档(二)【概述,异步和非阻塞IO】
- Hibernate入门
- in和exists
- Ubuntu搭建samba