@Published(tag="architect") public abstract class HttpServer extends HandlerQueueManager<HttpServer> implements HttpRequestHandler
主に単体テスト時の画面確認や打鍵テストで使用することを想定した、 JVMプロセス内の1スレッドとして動作する軽量アプリケーションサーバである。 現行の実装では、内部的にJettyサーバを使用しており、 本クラスは単なるラッパーに過ぎない。
HttpServerFactory
Constructor and Description |
---|
HttpServer()
サーバインスタンスを生成する。
|
Modifier and Type | Method and Description |
---|---|
protected void |
dumpHttpMessage(HttpRequest req,
HttpResponse res)
HTTPレスポンスボディをローカルファイルに出力する。
|
java.util.List<Handler> |
getHandlerQueue()
現在のハンドラキューの内容を返す。
|
java.io.File |
getHttpDumpFile()
HTTPダンプの出力先ファイルを取得する。
|
java.io.File |
getHttpDumpRoot()
HTTPダンプの出力先フォルダを返す。
|
int |
getPort()
このサーバが使用するポート番号を取得する。
|
java.lang.String |
getServletContextPath()
本サーバにデプロイされるWARのコンテキストパスを返す。
|
protected java.io.File |
getTempDirectory() |
ResourceLocator |
getWarBasePath()
このサーバにデプロイするWARのパスを返す。
|
protected java.util.List<ResourceLocator> |
getWarBasePaths() |
protected WebFrontController |
getWebFrontController() |
boolean |
isHttpDumpEnabled()
HTTPダンプ機能が有効化されているか?
|
abstract HttpServer |
join()
サーバスレッドが終了するまでカレントスレッドをwaitさせる。
|
protected java.lang.String |
rewriteUriPath(java.lang.String html,
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<ResourceLocator> warBasePaths)
このサーバにデプロイするWARのパスを複数設定する。
引数で渡されたリストの順にリソースが探索される。
|
abstract HttpServer |
start()
サーバを起動する。
|
abstract HttpServer |
startLocal()
このサーバをテストモードで起動する。
|
addHandler, addHandler, addHandler, addHandler, addHandler, addHandlers, clearHandlers, getHandlerOf, getMethodBinder, setHandlerQueue, setMethodBinder
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handle
public abstract HttpServer start()
public abstract HttpServer startLocal()
public abstract HttpServer join()
public java.util.List<Handler> getHandlerQueue()
getHandlerQueue
in class HandlerQueueManager<HttpServer>
protected WebFrontController getWebFrontController()
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 setWarBasePath(java.lang.String warBasePath)
明示的に指定しなかった場合のデフォルト値は、 "classpath://nablarch/fw/web/servlet/docroot/"
warBasePath
- このサーバにデプロイするWARのパスpublic HttpServer setWarBasePaths(java.util.List<ResourceLocator> warBasePaths)
明示的に指定しなかった場合のデフォルト値は、 "classpath://nablarch/fw/web/servlet/docroot/"
warBasePaths
- このサーバにデプロイするWARのパスpublic ResourceLocator getWarBasePath()
protected java.util.List<ResourceLocator> getWarBasePaths()
public HttpServer setHttpDumpEnabled(boolean enabled)
デフォルトでは無効化されている。
enabled
- HTTPダンプを有効化する場合はtrue、無効化する場合はfalseを設定する。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用の一時ディレクトリパスprotected java.io.File getTempDirectory()
public void setDumpVariableItem(boolean dumpVariableItem)
dumpVariableItem
- dumpVariableItem ダンプHTMLへの可変項目の出力可否protected void dumpHttpMessage(HttpRequest req, HttpResponse res)
req
- HTTPリクエストオブジェクトres
- HTTPレスポンスオブジェクトprotected java.lang.String rewriteUriPath(java.lang.String html, HttpRequest req)
html
- HTML文字列req
- HttpRequest