[英]What is the purpose of javax.servlet.jsp-api
我正在学习如何制作一个servlet 3.1兼容的webapp,它将在JBoss wildfly 10上运行。我使用maven作为依赖项,我不确定以下依赖项的确切做法,以及它们是否包含在/不包含在servlet中容器:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
我已经做了一些谷歌搜索,希望验证或完成以下信息:
<scope>provided</scope>
。 但是,为什么我需要包含这个罐子? 删除后哪些类或文件会出错? <scope>provided</scope>
? <c:xxx>
和其他基本标记。 标记提供的依赖项将使其可用于编译时和测试类路径,但不能用于运行时类路径 - 正如您所说,容器将在运行时提供这些API的实现。
如果您正在开发Web应用程序,则不太可能不使用Servlet API(HttpServletRequest,HttpServletResponse,Filter等)中的类。 虽然许多框架抽象掉了大部分Servlet API,但仍然可能需要使用这些底层API。
是的,添加范围。 但是,如果您通过扩展say,javax.servlet.jsp.tagext.TagSupport创建自定义JSP标记,那么您只需要在编译时类路径中使用它(尽管标记文件提供了一种更现代的方法来创建自定义标记) 。
是的,是的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.