次のものと一緒にWebアプリケーションを起動することは可能ですか?
1) war ファイルなし:
http://stephenh.github.io/2009/01/10/war-less-dev-with-jetty.html http://www.jamesward.com/2011/08/23/war-less-Java-web -アプリ
2) web.xml なし (つまり、Servlet-3.0)
3) 組み込み Web コンテナー (Tomcat や Jetty など) から
次のものと一緒にWebアプリケーションを起動することは可能ですか?
1) war ファイルなし:
http://stephenh.github.io/2009/01/10/war-less-dev-with-jetty.html http://www.jamesward.com/2011/08/23/war-less-Java-web -アプリ
2) web.xml なし (つまり、Servlet-3.0)
3) 組み込み Web コンテナー (Tomcat や Jetty など) から
どうやってそれをやったか(SpringMVC + Jettyを埋め込み、web.xmlなしwarファイルなし):
Spring を使用して、, で@WebAppConfigurationブートストラップしますWebApplicationContextMockServletContext
次に、new DispatcherServlet(WebApplicationContext)Jetty の ServletContextHandler/ServletHolder メカニズムを介して登録するだけです。簡単!
WAR や XML を必要としない組み込みサーバーを Jetty で実現することは可能です。注釈付きクラスの場所を指定して、追加のクラス パスを追加するだけです。
このメソッドは、名前を付けることができるメインから呼び出す必要がありますServer.java。
private static void startServer() throws Exception {
final org.eclipse.jetty.server.Server server = new org.eclipse.jetty.server.Server(7070);
final WebAppContext context = new WebAppContext("/", "/");
context.setConfigurations(new Configuration[] { new AnnotationConfiguration(), new WebInfConfiguration() });
context.setExtraClasspath("build/classes/main/com/example/servlet");
server.setHandler(context);
server.start();
server.join();
}
私のsrc構造は次のとおりです。
-main
-java
-com.example
-json
-servlet
-filter
-util
Server.java
Tomcat で同様のソリューションを見たいと思います。
Java SE API のみを使用した Java の単純な HTTP サーバーについては、 BalusCの回答を参照してください。この例では、クラスを使用しています。com.sun.net.httpserver.HttpServer