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