1

Jetty をサーブレット コンテナーとして使用する http4s で Web アプリを構築しました。以下のコードは、サーバーの実装を示しています。

@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 フォルダーからサブフォルダーに配置しました。

ここに画像の説明を入力

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-svcas root パスを取得する方法は/?

4

0 に答える 0