form表单用get方法提交的疑问

密码测试 2010-06-16 01:39:14
有个jsp,内容如下:
<html>
<head>
</head>
<body>
<form action="getPostServlet/getPost.do?param4=param4" method="get">
<input type="hidden" name="param1" value="param1">
<input type="hidden" name="param2" value="param2">
<input type="text" name="param3" value="param3" readonly>
<input type="submit" name="button1" value="submit">
</form>
</body>
</html>

这里有一点是我关注的,就是:form表单的action:getPostServlet/getPost.do?param4=param4
这个action带有一个参数param4,
如果用get方法提交,后台无法接收到这个参数;
如果用post方法提交,后台就可以接收到这个参数。
我的问题是:get方法为什么拿不到action里面写死的param4?
...全文
1515 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoyongqiangri 2010-07-19
  • 打赏
  • 举报
回复
都还不知道LZ有没在servlet里调用doGet()
淅沥加油 2010-07-19
  • 打赏
  • 举报
回复
来学习了
watermarkmms 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sl514 的回复:]

用get方法提交时 表单里德数据会把你的url里的参数给挤掉。 post下不会。
[/Quote]
没有超长的情况下页会挤掉??是后台的方法有问题吧?
Princess_CL 2010-07-18
  • 打赏
  • 举报
回复
无论用GET,POST方法提交,在后台都是能获取传递的参数的。
用request.getParameter("param4");来获取参数的值。
如果你在后台不能获取到值,看看你前台参数传递的有问题?
密码测试 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 javaisthis 的回复:]
大虾们,上面后台是java 写的有的是struts框架,不.net 的,你们都把.net 的扯上了,
如果用到的是框架那就简单了,
1.如果method="post" url里面就不需要带任何参数就可以把表单的值传过去,如果想传表单中没有的值就需要在url中添加参数值。
2.如果method="get" 表单里的值会自动做为参数接到url地址后面去,这样就有可能覆盖直接写在url后面的参数值……
[/Quote]
从测试结果来看,确实用get方法会把?后面的参数覆盖,但是没有找到任何官方文档关于这一点的说明,郁闷啊
xiao_nie 2010-07-18
  • 打赏
  • 举报
回复
可以用hidden标签,<input type="hidden" name="para4" value="para4"/>
kimiH 2010-07-18
  • 打赏
  • 举报
回复
用GET方式提交表单,所以的参数会加到URL,这样原来的参数就不会保留。自动包装的url
javabelieve 2010-07-18
  • 打赏
  • 举报
回复
学习了
jeky_zhang2013 2010-07-18
  • 打赏
  • 举报
回复
学习了~~~~不同的想法都可以学习
klshiwang 2010-07-18
  • 打赏
  • 举报
回复
学习了。
ChiChengIT 2010-07-18
  • 打赏
  • 举报
回复

get提交的有字数限制,字数长无法提交,而post无字符长度限制

post提交内容在地址栏看不到,而get能看到,post提交的安全,get不安全,但get比post效率高,默认的也是get


xyz451 2010-07-18
  • 打赏
  • 举报
回复
post/get工作的原理如楼上所说,只是在不同的框架下,框架系统为我们作了很多工作。本人更喜欢post。安全无限制。
duqiangcise 2010-07-18
  • 打赏
  • 举报
回复
学习了。。。。。。。。。。。。。
at1943 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 javaisthis 的回复:]
大虾们,上面后台是java 写的有的是struts框架,不.net 的,你们都把.net 的扯上了,
如果用到的是框架那就简单了,
1.如果method="post" url里面就不需要带任何参数就可以把表单的值传过去,如果想传表单中没有的值就需要在url中添加参数值。
2.如果method="get" 表单里的值会自动做为参数接到url地址后面去,这样就有可能覆盖直接写在url后面的参数值……
[/Quote]
解释的还挺清楚,就是这个意思,如果想get传值,就写个隐藏表单<input type=hidden
木子0204 2010-07-18
  • 打赏
  • 举报
回复
你还是用post吧,上传东西没有限制。。。。。。。。
sl514 2010-06-17
  • 打赏
  • 举报
回复
用get方法提交时 表单里德数据会把你的url里的参数给挤掉。 post下不会。
stl0 2010-06-17
  • 打赏
  • 举报
回复
学习下
tanglead 2010-06-17
  • 打赏
  • 举报
回复
学习了!
ronniegxq 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ivorytower 的回复:]

对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

--
[/Quote]

smmi 2010-06-17
  • 打赏
  • 举报
回复
学习了
加载更多回复(20)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧