加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 嵌入式Jetty 9

发布时间:2020-12-14 05:48:56 所属栏目:Java 来源:网络整理
导读:我不明白我怎么能改写用于jetty 6的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
我不明白我怎么能改写用于jetty 6的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:UsersOZKAIdeaProjectsprojectnameprojectnameweb","/");
        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();
        }

    }

}

上面的代码工作正常,并响应web.xml中映射的web文件夹和servlet中的静态内容.这是我尝试使用嵌入式码头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:DevScalaScalaTestProjectweb","/");
        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();
        }
    }

}

服务器正在启动,但index.html请求抛出错误:

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

我试图在谷歌找到一个有效的例子,但没有发现任何有用的东西.官方样本和文档非常混乱,我不明白我如何使用embeded jetty版本9.

解决方法

错误消息清楚地表明您的类路径中有错误的Servlet API版本.

检查你的依赖项,你可能在某处有3.0之前的Servlet API,它应该被删除.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读