I want something like this on my address. How I can bind servlet1, servlet2, servlet3 to localhost:8080 so I can have different url to call such as
localhost:8080/servlet
localhost:8080/servlet1
localhost:8080/servlet2
localhost:8080/servlet3
I have this code that only work for thw last url(servlet) added
DeploymentInfo servletBuilder = deployment()
.setClassLoader(ServletServer.class.getClassLoader())
.setContextPath(MYAPP)
.setDeploymentName("test.war")
.addServlets(
servlet(servletName, x)
.addInitParam("message", output)
.addMapping("/"+servletName.toLowerCase()));
DeploymentManager manager = defaultContainer().addDeployment(servletBuilder);
manager.deploy();
HttpHandler servletHandler = manager.start();
path = Handlers.path(Handlers.redirect(MYAPP))
.addPrefixPath(MYAPP, servletHandler);
DeploymentInfo servletBuilder = deployment()
.addServlets(
servlet("servlet1", YourServlet1.class).addInitParam("param1", "Value A")
.addMapping("/servlet1/*"),
servlet("servlet2", YourServlet2.class).addInitParam("param2", "Value B")
.addMapping("/servlet2/*"),
servlet("servlet3", YourServlet3.class).addInitParam("param2", "Value C")
.addMapping("/servlet3/*") // as many as you like.
);
Taken using info from here: https://github.com/undertow-io/undertow/tree/master/examples/src/main/java/io/undertow/examples/servlet