ни один контекст на этом сервере не соответствовал или не обработал этот запрос - PullRequest
0 голосов
/ 25 мая 2020

Я создал веб-приложение с 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

После запуска сервера Jetty он показывает:

enter image description here

, но я хотел бы получить главную страницу услуги:

enter image description here

вместо нажатия на:

enter image description here

, чтобы попасть в сервис.

В 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 путь /?

...