java - 如何创建带有参数且结尾处为 "/"的 servlet?

标签 java servlets

我的 servlet 需要接收 2 个参数才能响应。

我最喜欢的解决方案(但它在我的环境中不起作用):

http://domain.com/?param1=something&param2=anything

因为:我有另一个应用程序要求 url 以“/”结尾。但我无法创建一个接受像“http://domain.com/?param1=something&param2=anything/ ”这样的 url 的 servlet <<-/结尾。

我的第二个解决方案是: http://domain.com/param1/param2/ 我可以用“/”分割请求的 url,这样我就有了 2 个参数。但这并不是那么美好..

是否有更好的方法来传递 2 个参数并拥有以“/”结尾的 url?

最佳答案

我认为这是不可能的。正如 HTTP RFC 中所定义的 “http:”“//”主机[“:”端口][abs_path[“?”询问 ]] 在第一个“?”之后有查询部分。所以在你的例子中 http://domain.com/?param1=something&param2=anything/ 这意味着 param2 值是任何内容/(末尾带有斜杠)

当然,您可以将 servlet 绑定(bind)到/* url-pattern 并使用 ServletRequest.getParameter() 处理 servlet 中的参数。但不要忘记你的 param2 将以/结尾

关于java - 如何创建带有参数且结尾处为 "/"的 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14770362/

相关文章:

java - 如何在icafe中操作图像元数据

java - itextsharp 中的水印无法正确显示

java - 安卓资源 : How are bitmaps loaded from resources handled memory wise?

java - 如何将我的 NetBeans 项目加载到 sonarqube 中?

Java、Tomcat、ServletContextListener 和后台线程

java - 内部静态类字段可见性

java - 获取 : HTTP Status 500 - Could not determine type for: Integer : What could be the reason for it?

java - 服务请求丢失了参数

java - 无法将文件上传到启用 https 的 servlet

servlets - request.getQueryString() 似乎需要一些编码