@Published(tag="architect") public class HttpServer extends nablarch.fw.HandlerQueueManager<HttpServer> implements nablarch.fw.web.HttpRequestHandler
主に単体テスト時の画面確認や打鍵テストで使用することを想定した、 JVMプロセス内の1スレッドとして動作する軽量アプリケーションサーバである。 現行の実装では、内部的にJettyサーバを使用しており、 本クラスは単なるラッパーに過ぎない。
Constructor and Description |
---|
HttpServer()
サーバインスタンスを生成する。
|
Modifier and Type | Method and Description |
---|---|
java.util.List<nablarch.fw.Handler> |
getHandlerQueue()
この実装では、サーバが処理を委譲するフロントコントローラ内の
ハンドラキューを返す。
|
java.io.File |
getHttpDumpFile()
HTTPダンプの出力先ファイルを取得する。
|
java.io.File |
getHttpDumpRoot()
HTTPダンプの出力先フォルダを返す。
|
int |
getPort()
このサーバが使用するポート番号を取得する。
|
java.lang.String |
getServletContextPath()
本サーバにデプロイされるWARのコンテキストパスを返す。
|
nablarch.fw.web.ResourceLocator |
getWarBasePath()
このサーバにデプロイするWARのパスを返す。
|
nablarch.fw.web.HttpResponse |
handle(nablarch.fw.web.HttpRequest req,
nablarch.fw.ExecutionContext unused) |
boolean |
isHttpDumpEnabled()
HTTPダンプ機能が有効化されているか?
|
HttpServer |
join()
サーバスレッドが終了するまでカレントスレッドをwaitさせる。
|
protected java.lang.String |
rewriteUriPath(java.lang.String html,
nablarch.fw.web.HttpRequest req)
HTML中のURI型の参照先を、ダンプHTML用に書き換える。
|
void |
setDumpVariableItem(boolean dumpVariableItem)
ダンプHTMLへの可変項目の出力可否を設定する。
|
HttpServer |
setHttpDumpEnabled(boolean enabled)
HTTPダンプ機能の有効化/無効化を設定する。
|
HttpServer |
setHttpDumpFilePath(java.lang.String path)
HTTPダンプの出力先ファイルパスを指定する。
|
HttpServer |
setHttpDumpRoot(java.lang.String path)
HTTPダンプの出力先フォルダのパスを設定する。
また、HTTPダンプ機能が無効化されている場合は有効化される。
|
HttpServer |
setPort(int port)
このサーバが使用するポート番号を設定する。
|
HttpServer |
setServletContextPath(java.lang.String path)
ベースURIを設定する。
|
HttpServer |
setTempDirectory(java.lang.String path)
context用の一時ディレクトリパスを指定する。
本パスを指定した場合、jspのコンパイル後のクラスなどはこのディレクトリ配下に保存される。
|
HttpServer |
setWarBasePath(java.lang.String warBasePath)
このサーバにデプロイするWARのパスを設定する。
|
HttpServer |
setWarBasePaths(java.util.List<nablarch.fw.web.ResourceLocator> warBasePaths)
このサーバにデプロイするWARのパスを複数設定する。
引数で渡されたリストの順にリソースが探索される。
|
HttpServer |
start()
サーバを起動する。
|
HttpServer |
startLocal()
このサーバをテストモードで起動する。
|
public java.util.List<nablarch.fw.Handler> getHandlerQueue()
getHandlerQueue
in class nablarch.fw.HandlerQueueManager<HttpServer>
public java.lang.String getServletContextPath()
public HttpServer setServletContextPath(java.lang.String path)
本サーバにデプロイされるWARのコンテキストパスを設定する。 デフォルト値は"/"である。
path
- コンテキストパスpublic int getPort()
public HttpServer setPort(int port)
デフォルトのポート番号は7777である。
port
- ポート番号public HttpServer start()
サーバスレッドを生成し、port()メソッドで指定されたポート番号上の HTTPリクエストに対して処理を行う。
public HttpServer join()
public HttpServer setWarBasePath(java.lang.String warBasePath)
明示的に指定しなかった場合のデフォルト値は、 "classpath://nablarch/fw/web/servlet/docroot/"
warBasePath
- このサーバにデプロイするWARのパスpublic HttpServer setWarBasePaths(java.util.List<nablarch.fw.web.ResourceLocator> warBasePaths)
明示的に指定しなかった場合のデフォルト値は、 "classpath://nablarch/fw/web/servlet/docroot/"
warBasePaths
- このサーバにデプロイするWARのパスpublic nablarch.fw.web.ResourceLocator getWarBasePath()
public HttpServer setHttpDumpEnabled(boolean enabled)
デフォルトでは無効化されている。
enabled
- HTTPダンプを有効化する場合はtrue、無効化する場合はfalseを設定する。HttpServer.setHttpDumpRoot(String)
public boolean isHttpDumpEnabled()
public HttpServer setHttpDumpRoot(java.lang.String path)
デフォルトでは、カレントパス直下の"http_dump"ディレクトリになる。 ダンプ出力時に当該のディレクトリが存在しなかった場合は自動的に作成される。
path
- HTTPダンプの出力先フォルダpublic java.io.File getHttpDumpRoot()
public HttpServer setHttpDumpFilePath(java.lang.String path)
path
- 出力先ファイルパスpublic java.io.File getHttpDumpFile()
public HttpServer setTempDirectory(java.lang.String path)
path
- context用の一時ディレクトリパスpublic nablarch.fw.web.HttpResponse handle(nablarch.fw.web.HttpRequest req, nablarch.fw.ExecutionContext unused)
このクラスの実装では、 引数のHTTPリクエストオブジェクトをHTTPメッセージにシリアライズし、 ローカルコネクションに送信する。 内蔵アプリケーションサーバでの処理後、返信されたHTTPレスポンスメッセージを HTTPレスポンスオブジェクトにパースし、この関数の戻り値として返す。 また、HTTPダンプ出力が有効である場合、 そのレスポンスボディの内容を所定のディレクトリに出力する。
handle
in interface nablarch.fw.Handler<nablarch.fw.web.HttpRequest,nablarch.fw.web.HttpResponse>
handle
in interface nablarch.fw.web.HttpRequestHandler
public HttpServer startLocal()
public void setDumpVariableItem(boolean dumpVariableItem)
dumpVariableItem
- dumpVariableItem ダンプHTMLへの可変項目の出力可否protected java.lang.String rewriteUriPath(java.lang.String html, nablarch.fw.web.HttpRequest req)
html
- HTML文字列req
- HttpRequest