Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP、GET和POST参数_Java_Jsp_Servlets - Fatal编程技术网

Java JSP、GET和POST参数

Java JSP、GET和POST参数,java,jsp,servlets,Java,Jsp,Servlets,我被要求用JSP做一些小任务;由于对JSP非常陌生,我想知道是否有可能从HTTP请求中仅获取get或POST参数 我见过(和alikes),但这些方法似乎同时获得get和POST参数。有没有一种方法可以只获取其中一个,而不用自己解析URL或请求体?如果没有,是否有任何优先规则可以覆盖哪些值(如POST参数总是覆盖GET参数)?通常,请求最好在servlet中处理。他们有doGet(请求,响应)和doPost(请求,响应)方法来区分两者 如果您确实坚持在JSP中执行此操作,则可以使用来区分方法。它

我被要求用JSP做一些小任务;由于对JSP非常陌生,我想知道是否有可能从HTTP请求中仅获取get或POST参数


我见过(和alikes),但这些方法似乎同时获得get和POST参数。有没有一种方法可以只获取其中一个,而不用自己解析URL或请求体?如果没有,是否有任何优先规则可以覆盖哪些值(如POST参数总是覆盖GET参数)?

通常,请求最好在servlet中处理。他们有
doGet(请求,响应)
doPost(请求,响应)
方法来区分两者

如果您确实坚持在JSP中执行此操作,则可以使用来区分方法。它将返回
GET
POST

既然这是家庭作业,我想重点是学习如何使用servlet及其
doX
方法,所以就这样做吧


更新:您可以获取查询字符串(),这只是get参数,并对其进行解析,但我不认为这是一种常见的好做法。

在JSP中,您可以查看请求对象以确定它是哪种请求(get或POST),但只有一个参数映射。

试试[Servlet+JSP]。在Servlet中,您可以选择doPost()或doGet()

这实际上是一种代码味道。功能要求是什么?为什么不给“获取”和“发布”一个不同的名称呢?@BalusC:这实际上是一个安全问题。要求特定参数仅作为POST参数发送(或分别作为GET发送)可以提高最终用户的安全性。我不想盲目地接受任何类型的参数,因为在我之前创建web应用程序的几年中,我已经学会了如何避免这种情况。然后,确定请求方法或实现一个servlet,它使您能够仅在某个方法上执行代码。请看Bozho的答案。好的,请看我对这个答案的评论。是的,但请记住,您可以在帖子中包含URL参数,因此关于优先级和来源的问题仍然适用,即使是在servlet中(当然,这就是JSP的形式);不,不要仅仅因为这是家庭作业就暗示它背后的原因。本课程只是随机介绍新技术,并希望我们在不给出之前说明的情况下使用它。是的,正如T.J.Crowder所说,您仍然可以在POST请求中设置GET参数。在MVC环境中,建议通过充当控制器的servlet处理请求。JSP基本上是视图。