4

次のものと一緒に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 など) から

4

4 に答える 4

2

どうやってそれをやったか(SpringMVC + Jettyを埋め込み、web.xmlなしwarファイルなし):

Spring を使用して、, で@WebAppConfigurationブートストラップしますWebApplicationContextMockServletContext

次に、new DispatcherServlet(WebApplicationContext)Jetty の ServletContextHandler/ServletHolder メカニズムを介して登録するだけです。簡単!

于 2013-04-24T04:02:54.947 に答える
1

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 で同様のソリューションを見たいと思います。

于 2017-04-01T15:07:02.380 に答える
0

Java SE API のみを使用した Java の単純な HTTP サーバーについては、 BalusCの回答を参照してください。この例では、クラスを使用しています。com.sun.net.httpserver.HttpServer

于 2013-04-09T06:03:40.757 に答える