私のMavenリポジトリでgroupIDがjavax.servlet
の場合、私はこれらの2つのサーブレット用の成果物を持っています。シンプルなサーブレットアプリケーションを作成するためにはどちらを使うべきですか?これらの2つの成果物の違いは何ですか?javax.servlet-api.jarとservlet-api.jarの相違点
12
A
答えて
5
あなたのプロジェクトに
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
を追加する必要があります。必要なバージョンは異なる場合があります。サーブレットコンテナによって異なります。 Tomcat。
<scope>provided</scope>
実行時には不要なため、サーブレットコンテナにはすでに含まれています。
4
javax.servlet-api.jar多くの開発者は、誤ってservlet-api.jarをWEB-INF/libフォルダに含めます。これにより、JARファイルをデプロイするときにTomcatや他のアプリケーションサーバーが問題として認識するため、例外が発生しなくなりました。ただし、コンテナはjavax/servlet/Servlet.classを含むJARファイルを無視します。
4
javax.servlet-apiバージョン3.0.1には、servlet-apiバージョン2.5以下(バージョン2.4)に注釈が含まれていない異なる注釈クラスが含まれている注釈フォルダがあります。
注釈はメタデータを表します。アノテーションを使用する場合、デプロイメント記述子、つまりweb.xmlは必須ではありません。たとえば、サーブレットファイルに@WebServlet("/hello")
のような注釈を使用すると、web.xmlファイルでサーブレットのマッピングについて言及する必要はありません。
便利な注釈には次のものがあります
@HandlesTypes
@HttpConstraint
@HttpMethodConstraint
@MultipartConfig
@ServletSecurity
@WebFilter
@WebInitParam
@WebListener
@WebServlet
は、あなたが持っているアーティファクトの名前は何ですか? – dds
私はjavax.servlet-apiとservlet-apiを持っています。どちらがどちらですか? – fuzzy28