关于jsp中get,post传值问题

这几天被一个传值问题搞得晕头转向,在懵了几天之后终于把它kill掉了。

先说一下我的需求:

我需要提交一个form表单里的数据,然后又想附加一个flag=2的参数。

最初想到get,但是只能在地址栏上加参数,无法做到传个表单里的多个数据,

所以只能用post ,在表单的action属性上加了参数:

<form name="form1" method="post" action="food?flag=2">

于是,就看地址栏的变化,只有这个:

http://localhost:8080/wxtest/food?flag=2

还以为没传过去(老看地址栏干嘛啊),其实是以post方式提交表单,参数分为两部分:一部分是action中的参数放在地址栏;另一部分是表单中的参数放在请求的头中;所以所有的数据后台全部能获得!!!  然后只需要在servlet中用 req.getParameter("m1"); 解析过来就可以插入到数据库了。


=====================================================================================


二、当我写成get方式的时候:

<form name="form1" method="get" action="food?flag=2">

地址栏是这样的:也就是说,我的flag并没有传过去!

http://localhost:8080/wxtest/food?id=55&date=123&class=ww&m1=w&m2=w&m3=w&m4=w&m5=w&Submit1=%C8%B7%B6%A8+

也就是说method为get时action自己后边带的参数列表会被忽视,,后台无法接收到这个参数,只能得到表单中的参数;

也就是说:

如果用get方法提交,后台无法接收到这个参数;
如果用post方法提交,后台就可以接收到这个参数。



结论:对get,post还是不够了解,只知道一个安全一个不安全,对自己呵呵!!!

另,感谢 1.form表单中method的get和post区别

另外js也可以获取表单数据然后传过去:js获取form表单所有数据


版权声明:本文为u014751358原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。