我的 servlet 需要接收 2 个参数才能响应。
我最喜欢的解决方案(但它在我的环境中不起作用):
http://domain.com/?param1=something¶m2=anything
因为:我有另一个应用程序要求 url 以“/”结尾。但我无法创建一个接受像“http://domain.com/?param1=something¶m2=anything/ ”这样的 url 的 servlet <<-/结尾。
我的第二个解决方案是: http://domain.com/param1/param2/ 我可以用“/”分割请求的 url,这样我就有了 2 个参数。但这并不是那么美好..
是否有更好的方法来传递 2 个参数并拥有以“/”结尾的 url?
最佳答案
我认为这是不可能的。正如 HTTP RFC 中所定义的 “http:”“//”主机[“:”端口][abs_path[“?”询问 ]] 在第一个“?”之后有查询部分。所以在你的例子中 http://domain.com/?param1=something¶m2=anything/ 这意味着 param2 值是任何内容/(末尾带有斜杠)
当然,您可以将 servlet 绑定(bind)到/* url-pattern 并使用 ServletRequest.getParameter() 处理 servlet 中的参数。但不要忘记你的 param2 将以/结尾
关于java - 如何创建带有参数且结尾处为 "/"的 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14770362/