Jetty 8 (8.1.18.v20150929) を Java (jdk1.7.0_67) アプリケーションに埋め込もうとしています。次のコードがあります。
public static final String HTTP_PATH = "/session";
public static final int HTTP_PORT = 9995;
// Open the HTTP server for listening to requests.
logger.info("Starting HTTP server, Port: " + HTTP_PORT + ", Path: "
+ "/session");
httpServer = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(HTTP_PORT);
connector.setHost("localhost");
httpServer.addConnector(connector);
TestHttpHandler handler = new TestHttpHandler(this);
ContextHandler ch = new ContextHandler();
ch.setContextPath(HTTP_PATH);
ch.setHandler(handler);
httpServer.setHandler(ch);
try {
httpServer.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
私のハンドラーはテストとしてかなり基本的です:
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
logger.debug("Handling");
}
アプリを実行し、CURL を使用して GET リクエストをhttp://localhost:9995/sessionに送信すると、200 ステータスが返されますが、デバッグ出力はありません。
http://localhost:9995/session2にアクセスすると、404 エラーが発生します。
オンラインで多くの例を読みましたが、何らかの理由でハンドラーを適切に動作させることができないようです。私は何か間違ったことをしていますか?ありがとう