我正在制作基于REST的网络服务。
首先,我想看到如下的网址
/{resource}
/{resource}/<id>
/{resource1}/<id>/{resource2}
/{resource1}/<id>/{resource2}/<id>
如何制作如上所述的servlet网址..? 我不想使用任何框架。
答案 0 :(得分:1)
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实现之一。