小编use*_*021的帖子

如何从 Jar 而非 War 中获取嵌入式 Jetty 服务 html 文件

我一直在寻找如何让嵌入式码头服务器为包含在同一个 jar 中的少数 html 文件提供服务的方法,但没有成功。这当然有可能吗?

如果不需要的话,我真的不想经历建造和参与战争的麻烦。理想情况下,我也不必创建 WEB-INFO 目录和 web.xml 文件,尽管我读过的所有解决方案似乎都指向这样做并使用 WebAppContext。

我已阅读以下链接,但还没有找到从 jar 运行时设置 ResourceBase 或 BaseResource 属性的方法。

使用没有WAR文件的jetty启动java应用程序

为嵌入式 Jetty 指定 JAR“resources/webapp”文件夹的 ResourceBase 的正确 URL 是什么?

嵌入式 Jetty 在其 Jar 文件中查找文件

在 DEV 期间通过 IDE 运行很简单,代码工作并且看起来像这样..

Server server = new Server();
ServerConnector connector = new ServerConnector(server);
connector.setPort(httpPort);
server.addConnector(connector);

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.setWelcomeFiles(new String[]{"welcome.html"});
server.setHandler(context);

ServletHolder holderPwd = new ServletHolder("default", DefaultServlet.class);
holderPwd.setInitParameter("resourceBase","./Relative/Path/To/Html/Files");
holderPwd.setInitParameter("dirAllowed","true");
context.addServlet(holderPwd,"/");

server.start();
server.join();
Run Code Online (Sandbox Code Playgroud)

那么,我是否必须使用 WebAppContext 而不是 ServletContextHandler?如果是,那么我是否也必须添加 webapp/WEB-INFO/web.xml 目录结构?如果我这样做,那么我是否必须打包成一场战争?

html java jar jetty

1
推荐指数
1
解决办法
5525
查看次数

标签 统计

html ×1

jar ×1

java ×1

jetty ×1