0

我正在制作一个基于 REST 的 Web 服务。

首先我想看到如下网址

 /{resource}
 /{resource}/<id>
 /{resource1}/<id>/{resource2}
 /{resource1}/<id>/{resource2}/<id>

如何制作如上所述的servlet url..?我不喜欢使用任何框架。

4

1 回答 1

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 实现。

于 2012-04-16T10:26:19.473 回答