Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Migration help to Jersey 3 / Jetty 11

I have created a starter template project to start Jakarta EE 9 servlet web application, but I used an external Jetty to serve the application in this project,

see:  https://github.com/hantsy/jakartaee9-servlet-starter-boilerplate

Hantsy Bai

Self-employed consultant, fullstack developer, agile coach

GitHub: https://github.com/hantsy

Twitter: https://twitter.com/@hantsy

Medium: https://medium.com/@hantsy


On Tue, Feb 8, 2022 at 12:13 PM Jan Bartel <janb@xxxxxxxxxxx> wrote:
It would be useful if you could provide either a pointer to your project or a minimum reproducible example. The exact stacktrace you get would also be useful.

Jan

On Tue, 8 Feb 2022 at 09:29, <chris@xxxxxxxxxxxxxxxx> wrote:
Hi,

I'm having trouble migrating a Jersey/Jetty project (2.25) to Jersey 3 /
Jetty 11.

The Jersey part is working fine and I can serve requests using
jersey-container-simple-http with a ResourceConfig to specify the
service and filter classes.

When I try to use a Jetty 11 jersey-container-jetty-http container to
add static resources and HttpServletRequest session handling I'm unable
to work out the correct steps to convert the code below to use the
latest APIs.

The HttpServletRequest injected by @Context is always null and I think
I'm hitting the same problem as this post:
https://stackoverflow.com/questions/68623182/cant-inject-httpservletrequest-into-containerrequestfilter-with-javal-11-jetty

My pom dependencies are:

    <jersey.version>3.0.3</jersey.version>

     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.glassfish.jersey</groupId>
                 <artifactId>jersey-bom</artifactId>
                 <version>${jersey.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
         </dependencies>
     </dependencyManagement>

      <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-jetty-http</artifactId>
         </dependency>

         <dependency>
             <groupId>org.glassfish.jersey.inject</groupId>
             <artifactId>jersey-hk2</artifactId>
         </dependency>

         <dependency>
             <groupId>jakarta.servlet</groupId>
             <artifactId>jakarta.servlet-api</artifactId>
             <version>5.0.0</version>
         </dependency>

         <dependency>
             <groupId>org.glassfish.jersey.media</groupId>
             <artifactId>jersey-media-json-jackson</artifactId>
         </dependency>


And advice would be greatly appreciated please.

Many thanks,

Chris



ResourceConfig config = new ResourceConfig();

config.packages(stuff);

Server server = new Server(new InetSocketAddress("0.0.0.0", port));

ServletContextHandler context = new ServletContextHandler(server, "/",
ServletContextHandler.SESSIONS);

SessionHandler sessions = context.getSessionHandler();

SessionCache cache = new DefaultSessionCache(sessions);

cache.setSessionDataStore(new NullSessionDataStore());

sessions.setSessionCache(cache);

Path staticResourcePath = resourcesPath.resolve("static");

ServletHolder holderHome = new ServletHolder("static-home",
DefaultServlet.class);

holderHome.setInitParameter("resourceBase",
staticResourcePath.toString());
holderHome.setInitParameter("dirAllowed", "true");
holderHome.setInitParameter("pathInfoOnly", "true");

context.addServlet(holderHome, "/static/*");

ServletHolder holderDefault = new ServletHolder("default",
DefaultServlet.class);
context.addServlet(holderDefault, "/");

ServletHolder servletHolder = new ServletHolder(new
ServletContainer(config));

context.addServlet(servletHolder, "/*");

try
{
        server.start();
        server.join();
}
catch (Throwable t)
{
        t.printStackTrace();
}
finally
{
        server.destroy();
}
_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users


--
Jan Bartel <janb@xxxxxxxxxxx>
www.webtide.com
Expert assistance from the creators of Jetty and CometD

_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users

Back to the top