我目前正在开发一个servlet,它将大量数据返回给定ID。 它在URL
下调用本地主机:8080 / RTC_W / API ID = 123
并且源代码中没有给出特殊路径。 我的web.xml将其映射如下:
<servlet-mapping>
<servlet-name>APICaller</servlet-name>
<url-pattern>/api</url-pattern>
</servlet-mapping>
它由一个欢迎文件调用,看起来像这样(仅限相关部分),并提供一个小框来输入ID:
<body>
RTC W Front End
<form action="/api" method="get">
Work Item ID:<br>
<input type="text" name="id" value=""><br>
<input type="submit" value="Submit">
</form>
</body>
如您所见,表单操作应该调用servlet所在的path / api。调用的URL虽然错误,但总是调用
本地主机:8080 / API ID = 123
所以/ RTC_W /丢失了。如果我将其添加到<form action="RTC_W/api" method="get">
,则会调用此URL:
本地主机:8080 / RTC_W / RTC_W / API ID = 123
因此路径被调用两次。我做错了什么?
答案 0 :(得分:1)
return this.Ok(new object[]{ users, numberOfRecords });
这是你应该使用的。
当网址以<form action="api" method="get">
开头时,它始终是绝对网址,即紧跟在/
如果网址不以<hostname>:<port>
开头,则会附加到当前网址。