私は実際のWebプロジェクトに取り組んでいません。大学では、Java Web開発にサーブレットとSpringの両方を使用しました。両方のプロジェクトで、web.xmlファイルは既に構成されており、わずかな変更のみを行っていました。 Webアプリをゼロから作成しました。Eclipseで新しいサーブレットクラスを作成し、web.xmlを自動的に作成しませんでした。その後、グーグルで調べて、web.xmlが実際に必要ないことをいくつかのリソースから読みました。いくつかの文があるので、web.xmlの代わりに注釈を使用しても問題ないかどうかわかりません。web.xmlを構成する必要がない場合は、私は本当に喜んでいます。ビジネスロジックにもっと集中する。
前もって感謝します!
最新のj2ee仕様をサポートするコンテナがある場合、web.xml
ファイルは必要ありません。 Here は、アノテーションを使用する単純なサーブレットの例へのリンクです。 here Spring MVCでも同じことがわかります。私はあなたの便宜のためにここに例を投稿します
public class MyWebApplicationInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext container) {
ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet());
registration.setLoadOnStartup(1);
registration.addMapping("/example/*");
}
}
ここ は、使用可能な他の注釈(@ ServletFilter、@ WebServletContextListener)の使用方法を示す別のリンクです。仕様フォーム here をダウンロードして、j2eeを介して利用可能なアノテーションのより詳細なビューを取得できます。
サーブレット3以降、web.xmlは必要ありません。 Tomcat 7または8(より良い選択)のようなものを使いたいでしょう。生のサーブレットの場合 これは良い出発点です 。
最新のSpringを使用する場合は、Grails 3が最適です。これらの問題をすべて回避し、GrailsはWeb開発用の非常に生産的なフレームワークです。これは、Ruby on Rails SpringとHibernateの上に構築されています。
この時点で、必要なフレームワークを使用しない限り、セットアップするためにweb.xmlを記述する必要はありません。 spring mvcについては知りませんが、Grailsではそれを行う必要はなく、既に使用しているもののほとんどを使用します。
別の方法(Spring 3.1+)-
WebApplicationInitializer
という名前のAbstractDispatcherServletInitializer
の抽象基本クラス実装により、サーブレットマッピングとDispatcherServlet構成の場所を指定するメソッドをオーバーライドするだけで、DispatcherServletの登録がさらに簡単になります-
public class MyWebAppInitializer extends AbstractDispatcherServletInitializer {
@Override
protected WebApplicationContext createRootApplicationContext() {
return null;
}
@Override
protected WebApplicationContext createServletApplicationContext() {
XmlWebApplicationContext cxt = new XmlWebApplicationContext();
cxt.setConfigLocation("/WEB-INF/spring/dispatcher-config.xml");
return cxt;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
Web.xmlが必要かどうかは、アプリケーションで主張するサーブレット仕様に依存します。 spec 3.0を使用してアプリを構築する場合、アノテーションを使用してサーブレットを宣言し、web.xmlファイルを必要とせずにコンテナにデプロイできます。これは JSR-315 の一部として行われました。
ここで、デプロイメント記述子ファイル(web.xml)を使用しないWebアプリケーションの例を見つけました。ここで考慮する唯一のポイントは、これが最新のTomcatバージョン> = 7.0で機能することです
訪問 http://Java-demos.blogspot.com/2014/01/servlet-web-application-without-webxml.html
Spring Bootを使用します。これは、コンテナとすべての定型的な構成を管理します。 Initializr を使用して、すぐに起動できるスケルトンを生成できます。
いいえ、サーブレットバージョンweb.xml
およびservlet based application
を使用している場合、以前のバージョンのTomcatでは実行されないため、>3.0
のTomcat 7
は不要です。
注釈はメタデータを表します。注釈を使用する場合、デプロイメント記述子(web.xmlファイル)は必要ありません。ご覧ください ここ 使用可能なすべての注釈。