【发布时间】:2015-09-28 03:06:36
【问题描述】:
假设我想接受以下网址:
http://myserver/myapplication/posts
http://myserver/myapplication/posts/<id>
http://myserver/myapplication/posts/<id>/delete
如何使用 servlet 装饰器 @WebServlet 来做到这一点?我正在调查value 和urlPatterns,但我不知道该怎么做。例如,
@WebServlet(urlPatterns={"/posts", "/posts/*"})
[..]
String param = request.getPathInfo();
给了我一些结果,但是如何使用它呢?另外,request.getPathInfo() 似乎返回了通配符的值,但如果我想要更多参数,比如http://http://myserver/myapplication/posts/<id>/delete/<force>,该怎么办?
【问题讨论】:
-
您可以使用实际的请求参数而不是尝试在 url 中传递数据...
-
“请求参数”是什么意思?请求参数?这不是 RESTful url 的工作方式。
-
@pistacchio 使用真正的 REST 框架,如 JAX-RS(Jersey、RestEasy 等)或 Spring MVC。这是他们在裸 servlet 上开箱即用支持的众多功能之一。
-
我假设您想开发 RESTful 服务,因此建议您更好地使用适合此的框架,而不是从头开始重新发明轮子。 JAX-RS 是为此而生的,它的主要实现是 Jersey、Apache Wink 或 JBoss RESTeasy
-
我只是对您为什么希望在不使用专为 REST 设计的 API 的情况下提供 REST 服务感到着迷。你真的应该考虑 JAX-RS,imo。
标签: java rest servlets servlet-3.0