使用Jetty以编程方式创建servlet路径和变量

时间:2012-08-17 21:19:13

标签: rest servlets jax-rs embedded-jetty path-variables

我希望能够以编程方式在Jetty中使用变量注册servlet上下文路径,但我似乎无法弄清楚如何在Jetty中自行完成。

有一些要求使其变得困难:

  1. 我必须使用Maven进行依赖管理。
  2. 我必须使用javax.servlet.Filter的特定子类进行身份验证。
  3. 鉴于与现有环境的冲突,像Play这样漂亮的东西!虽然JAX-RS注释很简洁,但我还是可以在配置文件中以编程方式更改这些内容而无需重新编译。

    基本上我正在寻找类似于http://www.playframework.org/documentation/1.0/routes的路线管理,但我无法找到朝这个方向前进的起点。

    我可以使用我需要的任何嵌入式服务器,只要我遵守上述内容,遗憾的是我不认为我可以使用http://code.joejag.com/2011/creating-a-simple-java-restful-service-using-jersey-and-maven/之类的东西。

    考虑到Jetty,我会把代码看作是这样的:

    Server server = new Server(8080);
    
    ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
    context.setContextPath("/");
    server.setHandler(context);
    // add other random stuff to the context
    context.addServlet(new ServletHolder(new ThingServlet()),"/things/{id}");
    // the above line could easily come from a config file using Class.forName, etc. 
    server.start();
    server.join();
    

    我完全乐于接受建议,嵌入式Web服务器等等。我习惯用Django / Pylons / Werkzeug写更多的路线,几天前我就把它扔进去了,这是我到目前为止所做的工作,所以任何指导或帮助都会受到赞赏!

0 个答案:

没有答案