Package nablarch.fw.web
Class HttpServer
java.lang.Object
nablarch.fw.HandlerQueueManager<HttpServer>
nablarch.fw.web.HttpServer
- All Implemented Interfaces:
nablarch.fw.Handler<nablarch.fw.web.HttpRequest,
,nablarch.fw.web.HttpResponse> nablarch.fw.web.HttpRequestHandler
@Published(tag="architect")
public abstract class HttpServer
extends nablarch.fw.HandlerQueueManager<HttpServer>
implements nablarch.fw.web.HttpRequestHandler
エンベディドHTTPサーバー&\u30b5\u30fc\u30d6\u30ec\u30c3\u30c8\u30b3\u30f3\u30c6\u30ca。
主に単体テスト時の画面確認や打鍵テストで使用することを想定した、 JVMプロセス内の1スレッドとして動作する軽量アプリケーションサーバである。 現行の実装では、内部的にJettyサーバを使用しており、 本クラスは単なるラッパーに過ぎない。
- Author:
- Iwauo Tajima <iwauo@tis.co.jp>
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
dumpHttpMessage
(nablarch.fw.web.HttpRequest req, nablarch.fw.web.HttpResponse res) HTTPレスポンスボディをローカルファイルに出力する。List<nablarch.fw.Handler>
この実装では、サーバが処理を委譲するフロントコントローラ内の ハンドラキューを返す。HTTPダンプの出力先ファイルを取得する。HTTPダンプの出力先フォルダを返す。int
getPort()
このサーバが使用するポート番号を取得する。本サーバにデプロイされるWARのコンテキストパスを返す。protected File
nablarch.fw.web.ResourceLocator
このサーバにデプロイするWARのパスを返す。protected List<nablarch.fw.web.ResourceLocator>
protected nablarch.fw.web.servlet.WebFrontController
boolean
HTTPダンプ機能が有効化されているか?abstract HttpServer
join()
サーバスレッドが終了するまでカレントスレッドをwaitさせる。protected String
rewriteUriPath
(String html, nablarch.fw.web.HttpRequest req) HTML中のURI型の参照先を、ダンプHTML用に書き換える。void
setDumpVariableItem
(boolean dumpVariableItem) ダンプHTMLへの可変項目の出力可否を設定する。setHttpDumpEnabled
(boolean enabled) HTTPダンプ機能の有効化/無効化を設定する。setHttpDumpFilePath
(String path) HTTPダンプの出力先ファイルパスを指定する。setHttpDumpRoot
(String path) HTTPダンプの出力先フォルダのパスを設定する。 また、HTTPダンプ機能が無効化されている場合は有効化される。setPort
(int port) このサーバが使用するポート番号を設定する。setServletContextPath
(String path) ベースURIを設定する。setTempDirectory
(String path) context用の一時ディレクトリパスを指定する。 本パスを指定した場合、jspのコンパイル後のクラスなどはこのディレクトリ配下に保存される。setWarBasePath
(String warBasePath) このサーバにデプロイするWARのパスを設定する。setWarBasePaths
(List<nablarch.fw.web.ResourceLocator> warBasePaths) このサーバにデプロイするWARのパスを複数設定する。 引数で渡されたリストの順にリソースが探索される。abstract HttpServer
start()
サーバを起動する。abstract HttpServer
このサーバをテストモードで起動する。Methods inherited from class nablarch.fw.HandlerQueueManager
addHandler, addHandler, addHandler, addHandler, addHandler, addHandlers, clearHandlers, getHandlerOf, getMethodBinder, setHandlerQueue, setMethodBinder
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface nablarch.fw.web.HttpRequestHandler
handle
-
Constructor Details
-
HttpServer
public HttpServer()サーバインスタンスを生成する。
-
-
Method Details
-
start
サーバを起動する。- Returns:
- このオブジェクト自体
-
startLocal
このサーバをテストモードで起動する。- Returns:
- このオブジェクト自体
-
join
サーバスレッドが終了するまでカレントスレッドをwaitさせる。- Returns:
- このオブジェクト自体
-
getHandlerQueue
この実装では、サーバが処理を委譲するフロントコントローラ内の ハンドラキューを返す。- Specified by:
getHandlerQueue
in classnablarch.fw.HandlerQueueManager<HttpServer>
-
getWebFrontController
protected nablarch.fw.web.servlet.WebFrontController getWebFrontController() -
getServletContextPath
本サーバにデプロイされるWARのコンテキストパスを返す。- Returns:
- コンテキストパス
-
setServletContextPath
ベースURIを設定する。本サーバにデプロイされるWARのコンテキストパスを設定する。 デフォルト値は"/"である。
- Parameters:
path
- コンテキストパス- Returns:
- このオブジェクト自体
-
getPort
public int getPort()このサーバが使用するポート番号を取得する。- Returns:
- ポート番号
-
setPort
このサーバが使用するポート番号を設定する。デフォルトのポート番号は7777である。
- Parameters:
port
- ポート番号- Returns:
- このオブジェクト自体
-
setWarBasePath
このサーバにデプロイするWARのパスを設定する。明示的に指定しなかった場合のデフォルト値は、 "classpath://nablarch/fw/web/servlet/docroot/"
- Parameters:
warBasePath
- このサーバにデプロイするWARのパス- Returns:
- このオブジェクト自体
-
setWarBasePaths
このサーバにデプロイするWARのパスを複数設定する。 引数で渡されたリストの順にリソースが探索される。明示的に指定しなかった場合のデフォルト値は、 "classpath://nablarch/fw/web/servlet/docroot/"
- Parameters:
warBasePaths
- このサーバにデプロイするWARのパス- Returns:
- このオブジェクト自体
-
getWarBasePath
public nablarch.fw.web.ResourceLocator getWarBasePath()このサーバにデプロイするWARのパスを返す。- Returns:
- このサーバにデプロイするWARのパス
-
getWarBasePaths
-
setHttpDumpEnabled
HTTPダンプ機能の有効化/無効化を設定する。デフォルトでは無効化されている。
- Parameters:
enabled
- HTTPダンプを有効化する場合はtrue、無効化する場合はfalseを設定する。- Returns:
- このオブジェクト自体
- See Also:
-
isHttpDumpEnabled
public boolean isHttpDumpEnabled()HTTPダンプ機能が有効化されているか?- Returns:
- HTTPダンプ機能が有効であればtrueを返す。
-
setHttpDumpRoot
HTTPダンプの出力先フォルダのパスを設定する。 また、HTTPダンプ機能が無効化されている場合は有効化される。デフォルトでは、カレントパス直下の"http_dump"ディレクトリになる。 ダンプ出力時に当該のディレクトリが存在しなかった場合は自動的に作成される。
- Parameters:
path
- HTTPダンプの出力先フォルダ- Returns:
- このオブジェクト自体
-
getHttpDumpRoot
HTTPダンプの出力先フォルダを返す。- Returns:
- HTTPダンプの出力先フォルダ
-
setHttpDumpFilePath
HTTPダンプの出力先ファイルパスを指定する。- Parameters:
path
- 出力先ファイルパス- Returns:
- このオブジェクト自体
-
getHttpDumpFile
HTTPダンプの出力先ファイルを取得する。- Returns:
- 出力先ファイル
-
setTempDirectory
context用の一時ディレクトリパスを指定する。 本パスを指定した場合、jspのコンパイル後のクラスなどはこのディレクトリ配下に保存される。- Parameters:
path
- context用の一時ディレクトリパス- Returns:
- このオブジェクト自体
-
getTempDirectory
-
setDumpVariableItem
public void setDumpVariableItem(boolean dumpVariableItem) ダンプHTMLへの可変項目の出力可否を設定する。- Parameters:
dumpVariableItem
- dumpVariableItem ダンプHTMLへの可変項目の出力可否
-
dumpHttpMessage
protected void dumpHttpMessage(nablarch.fw.web.HttpRequest req, nablarch.fw.web.HttpResponse res) HTTPレスポンスボディをローカルファイルに出力する。- Parameters:
req
- HTTPリクエストオブジェクトres
- HTTPレスポンスオブジェクト
-
rewriteUriPath
HTML中のURI型の参照先を、ダンプHTML用に書き換える。- Parameters:
html
- HTML文字列req
- HttpRequest- Returns:
- 編集後文字列
-