关于在编写地铁查询系统主界面chaxun-01.jsp 中 出现了method get 与post 中 所产生的问题(get能传值,post不能传值)
在编写中我发现了method 中 用get 可以把用户输入的值传递到下一个页面。
但是我改成post之后就不能出现查询后的结果。
改成post之后查询的结果:
这是什么造成的,我通过网上查询一些资料找到了这两个方法之间的区别。
因为POST传参默认是带着content-type的,不在接受值的页面解码是无法在后台处理这个包,也就无法生成查询结果。
1、get方法请求的数据要追加到url中,一般数据量不能超过2k。而post方法是把数据放在消息体中,所以post方法没有数据量的限制。
2、post方法的提交方式是隐式的,get是显示的。
在这个过程中我还发现了,method=“post” 可以传递整数与字母,只有中文无法传过去,这也应证了上面我所说的post一个解码的问题。
那如何用method=“post" 来进行传递中文参数到执行页面:
request.setCharacterEncoding("UTF-8"); 我们需要在接受参数的jsp页面的代码中添加这个解码代码,这样就可以正常查询出结果。
例如:
查询结果:
这样我们就解决了我们碰到的get能传值,但post不能传值的问题。