3

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

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

  1. 我必须使用 Maven 进行依赖管理。
  2. 我必须使用 javax.servlet.Filter 的特定子类进行身份验证。

鉴于与现有环境的冲突,Play!并且 Grails 已经出局,即使 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 中编写更多内容,几天前我被卷入了这个问题,这是我迄今为止必须使用的,所以任何指导或帮助将不胜感激!

4

0 回答 0