今天遇到的一个乱码问题。
感觉很奇怪。
我的jsp的编码 是UTF-8
action类的编码 是UTF-8
struts.xml 配置文件设置的也是 UTF-8
可在调试的时候jsp传进入action输出的参数却乱码了。。
后来找到原因:
原来是我form提交的方式的问题。 我默认的是get 方式。后来改成post 乱码就解决了。。
后来详细的查了一下 get 和post 的区别。
才发现。原来除了 提交方式不同还有那么的不同点额。。
get和post区别
1、安全性
如果用get提交一个验证用户名和密码的form,一般认为是不安全的,因为用户名和密码将出现在URL上,进而出现在浏览器的历史记录中。显然,在对安全性有要求的情况下,应该使用post。
2、编码
get只能向服务器发送ASCII字符,而post则可以发送整个ISO10646中的字符。
get和post对应的enctype属性有区别。enctype有两个值默认值为application/x-www-form-urlencoded,而另一个值multipart/form-data只能用于post。
3、提交的数据长度
IE将请求的URL长度限制为2083个字符,从而限制了get提交的数据长度,如果URL超出了这个限制,提交form时IE不会有任何反映。
4、缓存
由于一个get得到的结果直接对应到一个URI,所以get的结果页面有可能被浏览器缓存。而post一般则不能。
5、引用和SEO
可以用一个URI引用一个get的结果页面,而post的结果则不能,所以必然不能被搜索引擎搜到。
正确的使用get和post
当且仅当form是幂等的时候,使用get。
幂等:多次相同的请求产生的副作用,和一次请求的副作用相同。
如果提交请求纯粹只是从服务器端获取数据而不是进行其他操作,并且多次提交不会有明显的副作用,应该使用get。
比如:搜索引擎的查询(http://www.google.com/search?q=abc)和分页(user.do?page=1)
如果提交这个请求会产生其他操作和影响,就应该使用post。
比如:修改服务器上数据库中的数据;发送一封邮件;删除一个文件等
另一个要考虑因素是安全性。
若符合下列任一情况,则用post方法:
a.请求的结果有持续性的副作用,例如:数据库内添加新的数据行。
b.若使用get方法,则表单上收集的数据可能让URL过长。
c.要传送的数据不是采用ASCII编码。
若符合下列任一情况,则用get方法:
a.请求是为了查找资源,html表单数据仅用来搜索。
b.请求结果无持续性的副作用。
c.收集的数据及html表单内的输入字段名称的总长不超过1024个字符。
发表评论
-
Myeclipse 快捷键自动补全
2014-01-05 12:33 1117就比如在myeclipse里 ... -
java 异常
2013-08-20 16:23 611运行时异常: ArithmeticException ... -
去时间加减处理
2012-09-14 11:15 845转:不错的时间处理方法的文章 http://alexfc.i ... -
去String里面的数字组成数组
2012-09-06 16:06 1186/** * 将一串字符串取出数字放入数组里面 ... -
Display Tag使用
2012-09-05 13:47 657转: http://shirnie.blog.163.com/ ... -
HQL查简单询语句用法Query
2012-09-03 09:55 122201. HQL查简单询语句用法Query // ... -
Hibernate中HQL函数
2012-09-03 09:52 1010Criteria查询对查询条件进行了面向对象封装,符合编程 ... -
java类文件获取页面的request,session.response
2012-08-28 15:24 838HttpSession session = WebContex ... -
ssh项目上添加webservice
2012-07-21 12:09 8714最近一个ssh的项目需要添加webservice接口的。 就 ... -
HQL like 模糊查询
2012-05-19 10:50 19051一个做过的例子。。 public List<Telep ... -
hibernate环境搭建
2012-03-21 12:14 2476我的环境是:eclipse ... -
maven 配置
2011-11-09 23:31 794在 下面上传了一个maven maven需要在环境变量里面 ... -
Persistence.xml 配置说明
2011-11-04 17:31 1375JPA规范要求在类路径的META-INF目录下放置persi ... -
表单提交的几种方法
2011-10-22 12:34 959普通提交: 方法一(submit): < ... -
File 转byte[]
2011-10-18 15:00 937/** * 文件File转化为字节数组byte[ ... -
XStream实现实体类跟XML文件互相转换
2011-10-18 14:57 1365public static Object xmlToO ... -
hibernate oracle自动增长
2011-09-28 11:05 1019在oracle里面的注解用sequence cre ... -
java 统计网站访问量
2011-09-26 15:01 2674转: import java.io.BufferedRead ... -
获取路径的几种方法
2011-08-29 14:18 759转: 关于绝对路径和相对路径: 绝对路径就是你的主 ... -
Java中File,byte[],Object间的转换 .
2011-08-26 11:32 771转: http://blog.csdn.net/gu ...
相关推荐
form method="post" action="hao.jsp"> 一:request内置对象的方法 解决中午乱码问题: request.setCharacterEncoding("utf-8"); 获取页面数据: String name=request.getParameter(""); String[] names=...
12.3.3 动作元素(action elements) 376 12.3.4 注释 383 12.4 jsp的隐含对象 383 12.4.1 pagecontext 384 12.4.2 out 385 12.4.3 page 385 12.4.4 exception 386 12.5 对象和范围 387 12.6 留言板程序 389...
12.3.3 动作元素(action elements) 376 12.3.4 注释 383 12.4 jsp的隐含对象 383 12.4.1 pagecontext 384 12.4.2 out 385 12.4.3 page 385 12.4.4 exception 386 12.5 对象和范围 387 12.6 留言板程序 389...
12.3.3 动作元素(action elements) 376 12.3.4 注释 383 12.4 jsp的隐含对象 383 12.4.1 pagecontext 384 12.4.2 out 385 12.4.3 page 385 12.4.4 exception 386 12.5 对象和范围 387 12.6 留言板程序 389...
<form action="FileUploadServlet" method="post" enctype="multipart/form-data"> 上传" /> </form> FileUploadServlet.java import java.io.File; import java.io.IOException; ...
12.3.3 动作元素(action elements) 376 12.3.4 注释 383 12.4 jsp的隐含对象 383 12.4.1 pagecontext 384 12.4.2 out 385 12.4.3 page 385 12.4.4 exception 386 12.5 对象和范围 387 12.6 留言板程序 389...
package action; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax....
2. 表单提交中文时出现乱码 134 3. 关于jsp在MyEclipse中打开的乱码问题 138 4. 关于html页面在eclipse中打开出现乱码情况 139 5. JSP页面通过URL传递中文参数的乱码问题 139 四、 Struts2 140 (一) 基于struts2的...
<jsp:param name="formName" value="Form3"/> <jsp:param name="editorId" value="content" /> </jsp:include> page选择合适的路径kindEditor/jsp/test.jsp 表单名与Form3需要保持一致, editorId的属性最好...
★ Action、Form、struts-config.xml web.xml struts的处理核心类及配置文件 ★ JSP调用页面(全面支持struts1.2)(增、删、改、查),分页功能自动实现 (如果数据库是sqlserver,又需要分页的,请使用sqlserver2005)...
<form action="show.jsp" method="post" target="_blank"> width="700" height="500" skinPath="/TestFCKeditor/FCKeditor/editor/skins/silver/" toolbarSet = "Default" > input </form> --%> //...
16.4.1、<html:form>标签 16.4.2、与标签 16.4.3、标签 16.4.5、标签 16.4.6、标签 16.4.7、按钮标签 16.4.8、实例:编写基本表单 16.4.9、复选框标签 16.4.10、下拉列表框 16.5、本章摘要 16.6...
WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。 本文后面的章节将从数据持久层->业务层->Web层的...
6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得...
16.4.1、<html:form>标签 16.4.2、与标签 16.4.3、标签 16.4.5、标签 16.4.6、标签 16.4.7、按钮标签 16.4.8、实例:编写基本表单 16.4.9、复选框标签 16.4.10、下拉列表框 16.5、本章摘要 16.6...
6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得...
6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得...
6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1...
6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1、取得...
6.3.1、乱码解决 6.3.2、接收请求参数 6.3.3、显示全部的头信息 6.3.4、角色验证 6.3.5、其他操作 6.4、response对象 6.4.1、设置头信息 6.4.2、页面跳转 6.4.3、操作Cookie 6.5、session对象 6.5.1...