我正在制作一个基于 REST 的 Web 服务。
首先我想看到如下网址
/{resource}
/{resource}/<id>
/{resource1}/<id>/{resource2}
/{resource1}/<id>/{resource2}/<id>
如何制作如上所述的servlet url..?我不喜欢使用任何框架。
Servlet API 不为这种映射提供任何特殊支持。
如果您想在没有第三方库的情况下执行此操作,则需要将您的 servlet 映射到/{resource}
,获取路径的其余部分request.getPathInfo()
并根据该值实现进一步的路由:
<servlet-mapping>
...
<url-pattern>/resource</url-pattern>
</servlet-mapping>
.
public class ResourceServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) {
String path = request.getPathInfo();
if (path == null) { // It's /resource
...
} else if (path.matches("/\\d+")) { // It's /resources/<id> with integer id
...
}
}
}
但是,最好不要重新发明轮子并使用其中一种 JAX-RS 实现。