2014-10-16 39 views
0

我想創建並使用Jetty 9.2將代碼(服務器初始化)請求提供給JSP。這主要用於預熱/預編譯,但也有其他原因。我沒有持續的請求(這是在啓動時發生的),我想避免使用網絡實際發送請求的解決方法。Embedded Jetty 9:如何創建從頭開始傳遞給RequestDispatcher的請求?

問題我現在面臨的權利是在碼頭的Dispatcher.java以下行(83)失敗,一個空指針異常:

Request baseRequest=(request instanceof Request)?((Request)request):HttpChannel.getCurrentHttpChannel().getRequest(); 

那麼,如何正確地一個飼料請求的代碼創建的請求到嵌入式碼頭?請求幫助。

回答

0

調度程序需要有效的請求。由於調度的調用需要來自請求的大量信息(例如方法,頭文件,內容編碼,什麼樣的響應編碼是有效的,URI,上下文路徑,會話,cookie,安全上下文,委託人等等)。該名單很長)

+0

是的,它的確如此。麻煩的是,無論我有多合理,它似乎都需要一些似乎是ThreadLocal的東西,只有當請求進入時纔會設置ThreadLocal。必須有足夠高的請求來提供請求,比RequestDispatcher可能更高... – Learner 2014-10-16 18:30:40