javalin.github.io icon indicating copy to clipboard operation
javalin.github.io copied to clipboard

Enhance Documentation for the section Other web servers

Open marcelbaumann opened this issue 1 year ago • 1 comments

I am trying to migrate my Vaadin/javalin application to version 6.1.0.

I am using vaadin-boot library for Vaadin which already provides an embedded Jetty server. I am looking how to set up a Javalin servlet to service the REST requests and dispatch them through Javalin.

Could you provide a minimal example under https://javalin.io/documentation#other-web-servers how to set up Javalin as a servlet. Or just provide pointers so that I can write an example.

The changes in version 6.x seems to change the approach how to do it. In the older versions we could do:

@WebServlet(name = "MyJavalinServlet", urlPatterns = {"/rest/*"})
public class MyJavalinServlet extends HttpServlet {
    private final JavalinServlet javalin = Javalin.createStandalone()
            .get("/rest", ctx -> ctx.result("Hello!"))
            .javalinServlet();

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        javalin.service(req, resp);
    }
}

How should we do it with the version 6.x.

Thanks in advance.

marcelbaumann avatar Feb 23 '24 15:02 marcelbaumann

Can you try

@WebServlet(name = "MyJavalinServlet", urlPatterns = {"/rest/*"})
public class MyJavalinServlet extends HttpServlet {
    private final JavalinServlet javalin = Javalin.create()
            .get("/rest", ctx -> ctx.result("Hello!"))
            .javalinServlet();

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        javalin.service(req, resp);
    }
}

?

tipsy avatar Feb 23 '24 17:02 tipsy