对Javaservlet的REST请求

对Javaservlet的REST请求,java,javascript,rest,Java,Javascript,Rest,我有一些JavaScript,我想对我的servlet执行REST请求(GET)。 我要发送的记录格式如下所示 /id1/vara/varb/varc/timedelta1,timedelta2,timedelta3,....,timedeltaN/ 所以我发送的每个记录基本上有5个属性。我需要对这些进行批处理-我在一个GET请求中发送多个记录。我的Get URL可能看起来有点像下面这样 myservletname/id1/vara/varb/varc/timedelta1,timedelt

我有一些JavaScript,我想对我的servlet执行REST请求(GET)。 我要发送的记录格式如下所示

/id1/vara/varb/varc/timedelta1,timedelta2,timedelta3,....,timedeltaN/ 
所以我发送的每个记录基本上有5个属性。我需要对这些进行批处理-我在一个GET请求中发送多个记录。我的Get URL可能看起来有点像下面这样

myservletname/id1/vara/varb/varc/timedelta1,timedelta2,timedelta3/id2/vara/varb/varc/timedelta1,timedelta2,timedelta3/id3/vara/varb/varc/timedelta1,timedelta2,timedelta3/  
我知道URL字符串中大约有2000个字符的限制,所以为了安全起见,我将确保URL的长度小于此值。 在上面的示例中,3条记录被发送到servlet

我想知道如何在服务器端处理这些。以前在Java中没有真正使用过REST。我需要在服务器端做什么来处理这些URL以提取数据


谢谢

,您应该认真考虑使用<代码> POST <代码>,而不是使用<代码>获取< /代码>。REST(和URL)并不是为此而设计的。

基本上

public class RestServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) {
        String uri = request.getPathInfo();
        Pattern p = Pattern.compile(
            "/([^/]+)/([^/]+)/([^/]+)/([^/]+)/(\d+)(?:,(\d+))*/"
        );
        Matcher m = p.matcher(uri);
        if (m.matches()) {
            String id = m.group(1);
            String vara = m.group(2);
            String varb = m.group(3);
            String deltas = m.group(4);

            // etc
        }
    }
}

它不是一个很好的模型,但是对于不熟悉servlet的人来说,它是简单易懂的。您可以使用JAX-RS或RESTlet而不是servlet。您是否考虑过使用JAX-RS框架(如Jersey)实现RESTful服务?不客气!我在GAE应用程序中使用了RESTlet,我发现它们非常好。当时我无法在GAE上使用JAX-RS。JAX-RS也很好。这取决于你喜欢什么。我两个都喜欢。