Web applications 为什么在GET请求中未按预期构造url?

Web applications 为什么在GET请求中未按预期构造url?,web-applications,browser,httprequest,get-request,Web Applications,Browser,Httprequest,Get Request,我有下面的表单在html页面 <form name="input" action="sayHello1.jsp?param1=test1" method="get"> Username: <input type="text" name="user"> <input type="submit" value="Submit"> </form> 但我认为url是 http://localhost:8080/helloWorld/sayHello1.js

我有下面的表单在html页面

<form name="input" action="sayHello1.jsp?param1=test1" method="get">
Username: <input type="text" name="user">
<input type="submit" value="Submit">
</form>
但我认为url是

http://localhost:8080/helloWorld/sayHello1.jsp?user=test 

为什么会这样?

表单的实现似乎在重写查询字符串(而不是合并它)。要获得所需的行为,请向表单中添加
,不要尝试向操作URL添加值

根据,我们应该期待这种行为

因此,您的浏览器将丢弃URI中现有的“…”部分,并根据您的表单将其替换为新的


表单的实现似乎正在重写查询字符串(而不是合并它)。要获得所需的行为,请向表单中添加
,不要尝试向操作URL添加值

根据,我们应该期待这种行为

因此,您的浏览器将丢弃URI中现有的“…”部分,并根据您的表单将其替换为新的


表单的实现似乎正在重写查询字符串(而不是合并它)。要获得所需的行为,请向表单中添加
,不要尝试向操作URL添加值

根据,我们应该期待这种行为

因此,您的浏览器将丢弃URI中现有的“…”部分,并根据您的表单将其替换为新的


表单的实现似乎正在重写查询字符串(而不是合并它)。要获得所需的行为,请向表单中添加
,不要尝试向操作URL添加值

根据,我们应该期待这种行为

因此,您的浏览器将丢弃URI中现有的“…”部分,并根据您的表单将其替换为新的

美国

从元素提交者提交表单元素表单时 (通常是一个按钮),可以选择设置脚本提交标志 用户代理必须运行以下步骤:

[……]

  • 让查询成为使用 application/x-www-form-urlencoded编码算法,解释为 US-ASCII字符串

  • 让destination是一个新的URL,除了 其组件替换为查询(添加一个U+003F问题 标记字符(?)如果合适)

基本上,它用从表单参数生成的新查询字符串替换现有查询字符串

您的浏览器符合规范

美国

从元素提交者提交表单元素表单时 (通常是一个按钮),可以选择设置脚本提交标志 用户代理必须运行以下步骤:

[……]

  • 让查询成为使用 application/x-www-form-urlencoded编码算法,解释为 US-ASCII字符串

  • 让destination是一个新的URL,除了 其组件替换为查询(添加一个U+003F问题 标记字符(?)如果合适)

基本上,它用从表单参数生成的新查询字符串替换现有查询字符串

您的浏览器符合规范

美国

从元素提交者提交表单元素表单时 (通常是一个按钮),可以选择设置脚本提交标志 用户代理必须运行以下步骤:

[……]

  • 让查询成为使用 application/x-www-form-urlencoded编码算法,解释为 US-ASCII字符串

  • 让destination是一个新的URL,除了 其组件替换为查询(添加一个U+003F问题 标记字符(?)如果合适)

基本上,它用从表单参数生成的新查询字符串替换现有查询字符串

您的浏览器符合规范

美国

从元素提交者提交表单元素表单时 (通常是一个按钮),可以选择设置脚本提交标志 用户代理必须运行以下步骤:

[……]

  • 让查询成为使用 application/x-www-form-urlencoded编码算法,解释为 US-ASCII字符串

  • 让destination是一个新的URL,除了 其组件替换为查询(添加一个U+003F问题 标记字符(?)如果合适)

基本上,它用从表单参数生成的新查询字符串替换现有查询字符串



您的浏览器符合规范

你用的是什么浏览器?这与Java无关。无论如何,我都会使用隐藏值,但这并不能回答问题。您使用的是什么浏览器?这与Java无关。无论如何,我都会使用隐藏值,但这并不能回答问题。您使用的是什么浏览器?这与Java无关。无论如何,我都会使用隐藏值,但这并不能回答问题。您使用的是什么浏览器?这与Java无关。无论如何,我都会使用隐藏值,但这并不能回答问题。+1。有趣的是,HTML4规范说,如果方法是“get”,操作是一个HTTP URI,那么用户代理将获取操作的值,向其附加一个“?”,然后附加表单数据集,使用“application/x-www-form-urlencoded”内容类型进行编码。如果操作已经包含查询字符串,那么这显然会导致错误的URL,我猜在这种情况下行为是未定义的。HTML5规范更清晰。但是通过post请求,我看到了正确的url,即“@user32249”。如果您遵循链接,GET和post的行为会有所不同。对于POST,浏览器保持原样。+1。有趣的是,HTML4规范说,如果方法是“get”,操作是一个HTTPURI,那么用户代理将获取action的值,并在其后面附加一个“?”,然后
http://localhost:8080/helloWorld/sayHello1.jsp?user=test