javax.servlet-api.jar与servlet-api之间的区别.jar

2022-09-01 17:37:47

在我的 maven repository 中的 groupId 下,我有这两个单独的 servlet 工件。我很困惑我应该使用哪一个来构建一个简单的servlet应用程序?这两个工件之间有什么区别?javax.servlet


答案 1

javax.servlet-api 版本 3.0.1 具有注释文件夹,其中包含不同的注释类,其中 servlet-api 版本 2.5 或更低版本(即版本 2.4)不包含注释。

批注表示元数据。如果使用注释,则不需要部署描述符,即 web.xml。例如,如果您在 servlet 文件中使用注释,则无需在 web.xml 文件中提及 servlet 映射。@WebServlet("/hello")

一些有用的注释是:

@HandlesTypes
@HttpConstraint 
@HttpMethodConstraint
@MultipartConfig
@ServletSecurity
@WebFilter
@WebInitParam
@WebListener
@WebServlet

答案 2

您需要添加

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
</dependency>

添加到您的项目。您需要的版本可能会有所不同 - 这取决于您的 servlet 容器,例如 Tomcat。

<scope>provided</scope>因为你在运行时不需要它,它已经在你的 servlet 容器中了。


推荐