Java – embedded jetty 9

I don't understand how I can rewrite the code for jetty 6:

import org.mortbay.jetty.*;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;

public class ApplLauncher {
    public static void main(String[] args) {
        Server server = new Server();

        Connector connector = new SelectChannelConnector();
        connector.setPort(8080);
        server.addConnector(connector);

        WebAppContext root = new WebAppContext("C:\\Users\\OZKA\\IdeaProjects\\projectname\\projectname\\web","/");
        root.setWelcomeFiles(new String[]{"index.html"});
        //root.addServlet(new ServletHolder(new TestServlet()),"/test");

        server.setHandlers(new Handler[]{root});

        try {
            server.start();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

The above code works normally and responds to the web XML mapped web folders and static content in servlets This is my attempt to use embedded dock 9:

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.Handler;


public class ApplLauncher {
    public static void main(String[] args) {
        System.out.println("Hello from ScalaSbt Web Project");
        Server server = new Server(8080);
        WebAppContext webapp = new WebAppContext("D:\\Dev\\Scala\\ScalaTestProject\\web\\","/");
        ResourceHandler resource_handler = new ResourceHandler();
        resource_handler.setWelcomeFiles(new String[]{ "index.html" });
        HandlerList handlers = new HandlerList();
        handlers.setHandlers(new Handler[] { resource_handler,webapp});
        server.setHandler(handlers);
        try {
            server.start();
            server.join();
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    }

}

The server is starting, but index HTML request threw error:

"java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.isAsyncStarted()Z"

I tried to find a valid example in Google, but I didn't find anything useful The official samples and documents are very confusing. I don't understand how I use embedded jetty version 9

Solution

The error message clearly indicates that you have the wrong servlet API version in your classpath

Check your dependencies. You may have a servlet API before 3.0 somewhere, which should be deleted

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>