Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add jetty servlet into dropwizard

I need to add jetty servlet into my already existing server implemented using dropwizard framework.

To be more specific:

  1. I have a restful resource Foo mapped to url "localhost:8080/foo" with CRUD operations.
  2. Now I need a jetty servlet mapped to url "localhost:8080/bar" and handles all requests to this url (mainly GET and POST).

I could not get a clue how to do this after some googlings. Could someone please give me a direction or a snippet? Thanks!

like image 404
fengye87 Avatar asked Apr 23 '14 08:04

fengye87


2 Answers

If you're using Dropwizard 0.6.2 you should be able to do something like this in your run method:

ServletBuilder builder = environment.addServlet(myServlet, "/bar");

If you're using Dropwizard 0.7.0 try this:

environment.getApplicationContext().addServlet("org.example.MyServlet", "/bar");
like image 176
condit Avatar answered Oct 14 '22 19:10

condit


For 0.7.0 you have the ServletEnvironment and a couple of ways to add servlets. For example:

@Override
public void run(ApplicationConfiguration configuration, Environment environment) throws Exception {
    environment.servlets().addServlet("foo", MySerlvet.class).addMapping("/bar");
}

Incidentally, you also have the AdminEnvironment, which is an extension of ServletEnvironment and any servlets added to this in the same way would accessible on /admin/bar.

like image 42
chrisjleu Avatar answered Oct 14 '22 18:10

chrisjleu