Class HttpServer

All Implemented Interfaces:
Handler<HttpRequest,HttpResponse>, HttpRequestHandler
Direct Known Subclasses:
HttpServerJetty12

@Published(tag="architect") public abstract class HttpServer extends HandlerQueueManager<HttpServer> implements HttpRequestHandler
エンベディドHTTPサーバー&\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30b3\u30f3\u30c6\u30ca。
 主に単体テスト時の画面確認や打鍵テストで使用することを想定した、
 JVMプロセス内の1スレッドとして動作する軽量アプリケーションサーバである。
 現行の実装では、内部的にJettyサーバを使用しており、
 本クラスは単なるラッパーに過ぎない。
 
See Also:
  • Constructor Details

    • HttpServer

      public HttpServer()
      サーバインスタンスを生成する。
  • Method Details

    • start

      public abstract HttpServer start()
      サーバを起動する。
      Returns:
      このオブジェクト自体
    • startLocal

      public abstract HttpServer startLocal()
      このサーバをテストモードで起動する。
      Returns:
      このオブジェクト自体
    • join

      public abstract HttpServer join()
      サーバスレッドが終了するまでカレントスレッドをwaitさせる。
      Returns:
      このオブジェクト自体
    • getHandlerQueue

      public List<Handler> getHandlerQueue()
      現在のハンドラキューの内容を返す。 この実装では、サーバが処理を委譲するフロントコントローラ内の ハンドラキューを返す。
      Specified by:
      getHandlerQueue in class HandlerQueueManager<HttpServer>
      Returns:
      現在のハンドラキューの内容
    • getWebFrontController

      protected WebFrontController getWebFrontController()
    • getServletContextPath

      public String getServletContextPath()
      本サーバにデプロイされるWARのコンテキストパスを返す。
      Returns:
      コンテキストパス
    • setServletContextPath

      public HttpServer setServletContextPath(String path)
      ベースURIを設定する。
       本サーバにデプロイされるWARのコンテキストパスを設定する。
       デフォルト値は"/"である。
       
      Parameters:
      path - コンテキストパス
      Returns:
      このオブジェクト自体
    • getPort

      public int getPort()
      このサーバが使用するポート番号を取得する。
      Returns:
      ポート番号
    • setPort

      public HttpServer setPort(int port)
      このサーバが使用するポート番号を設定する。
       デフォルトのポート番号は7777である。
       
      Parameters:
      port - ポート番号
      Returns:
      このオブジェクト自体
    • setWarBasePath

      public HttpServer setWarBasePath(String warBasePath)
      このサーバにデプロイするWARのパスを設定する。
       明示的に指定しなかった場合のデフォルト値は、
       "classpath://nablarch/fw/web/servlet/docroot/"
       
      Parameters:
      warBasePath - このサーバにデプロイするWARのパス
      Returns:
      このオブジェクト自体
    • setWarBasePaths

      public HttpServer setWarBasePaths(List<ResourceLocator> warBasePaths)
      このサーバにデプロイするWARのパスを複数設定する。 引数で渡されたリストの順にリソースが探索される。
       明示的に指定しなかった場合のデフォルト値は、
       "classpath://nablarch/fw/web/servlet/docroot/"
       
      Parameters:
      warBasePaths - このサーバにデプロイするWARのパス
      Returns:
      このオブジェクト自体
    • getWarBasePath

      public ResourceLocator getWarBasePath()
      このサーバにデプロイするWARのパスを返す。
      Returns:
      このサーバにデプロイするWARのパス
    • getWarBasePaths

      protected List<ResourceLocator> getWarBasePaths()
    • setHttpDumpEnabled

      public HttpServer setHttpDumpEnabled(boolean enabled)
      HTTPダンプ機能の有効化/無効化を設定する。
       デフォルトでは無効化されている。
       
      Parameters:
      enabled - HTTPダンプを有効化する場合はtrue、無効化する場合はfalseを設定する。
      Returns:
      このオブジェクト自体
      See Also:
    • isHttpDumpEnabled

      public boolean isHttpDumpEnabled()
      HTTPダンプ機能が有効化されているか?
      Returns:
      HTTPダンプ機能が有効であればtrueを返す。
    • setHttpDumpRoot

      public HttpServer setHttpDumpRoot(String path)
      HTTPダンプの出力先フォルダのパスを設定する。 また、HTTPダンプ機能が無効化されている場合は有効化される。
       デフォルトでは、カレントパス直下の"http_dump"ディレクトリになる。
       ダンプ出力時に当該のディレクトリが存在しなかった場合は自動的に作成される。
       
      Parameters:
      path - HTTPダンプの出力先フォルダ
      Returns:
      このオブジェクト自体
    • getHttpDumpRoot

      public File getHttpDumpRoot()
      HTTPダンプの出力先フォルダを返す。
      Returns:
      HTTPダンプの出力先フォルダ
    • setHttpDumpFilePath

      public HttpServer setHttpDumpFilePath(String path)
      HTTPダンプの出力先ファイルパスを指定する。
      Parameters:
      path - 出力先ファイルパス
      Returns:
      このオブジェクト自体
    • getHttpDumpFile

      public File getHttpDumpFile()
      HTTPダンプの出力先ファイルを取得する。
      Returns:
      出力先ファイル
    • setTempDirectory

      public HttpServer setTempDirectory(String path)
      context用の一時ディレクトリパスを指定する。 本パスを指定した場合、jspのコンパイル後のクラスなどはこのディレクトリ配下に保存される。
      Parameters:
      path - context用の一時ディレクトリパス
      Returns:
      このオブジェクト自体
    • getTempDirectory

      protected File getTempDirectory()
    • setDumpVariableItem

      public void setDumpVariableItem(boolean dumpVariableItem)
      ダンプHTMLへの可変項目の出力可否を設定する。
      Parameters:
      dumpVariableItem - dumpVariableItem ダンプHTMLへの可変項目の出力可否
    • dumpHttpMessage

      protected void dumpHttpMessage(HttpRequest req, HttpResponse res)
      HTTPレスポンスボディをローカルファイルに出力する。
      Parameters:
      req - HTTPリクエストオブジェクト
      res - HTTPレスポンスオブジェクト
    • rewriteUriPath

      protected String rewriteUriPath(String html, HttpRequest req)
      HTML中のURI型の参照先を、ダンプHTML用に書き換える。
      Parameters:
      html - HTML文字列
      req - HttpRequest
      Returns:
      編集後文字列