Я создал веб-приложение с http4s, которое использует Jetty в качестве контейнера сервлетов. В приведенном ниже коде показана реализация сервера:
@WebListener
class Bootstrap extends ServletContextListener with IOApp {
override def contextInitialized(sce: ServletContextEvent): Unit = {
val ctx = sce.getServletContext
val blocker = Blocker.liftExecutionContext(ExecutionContext.global)
ctx.mountService("user-svc", UserSvcRoutes.helloWorldRoutes[IO](HelloWorld.impl[IO]))
()
}
override def contextDestroyed(sce: ServletContextEvent): Unit = {}
override def run(args: List[String]): IO[ExitCode] = ???
}
Затем я скомпилировал как файл WAR и поместил его в подпапку webapps
из основной папки пристани:
После запуска сервера Jetty он показывает:
, но я хотел бы получить главную страницу услуги:
вместо нажатия на:
, чтобы попасть в сервис.
В WEB-INF
я создал файл jetty-web.xml
со следующим содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC
"-//Mort Bay Consulting//DTD Configure//EN"
"http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/user-svc</Set>
</Configure>
и не работает.
Как получить user-svc
как root путь /
?