Я создал веб-приложение с 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
из основной папки пристани:
![enter image description here](https://i.stack.imgur.com/g405k.png)
После запуска сервера Jetty он показывает:
![enter image description here](https://i.stack.imgur.com/wvRJy.png)
, но я хотел бы получить главную страницу услуги:
![enter image description here](https://i.stack.imgur.com/GOtTH.png)
вместо нажатия на:
![enter image description here](https://i.stack.imgur.com/VlNv1.png)
, чтобы попасть в сервис.
В 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 путь /
?