javax.servlet.jsp-api的用途是什么
我正在学习如何制作可在JBoss wildfly 10上运行的servlet
3.1兼容的webapp。我将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>
我已经进行了一些谷歌搜索,并希望验证或完成以下信息:
- servlet api由servlet容器提供,因此我可以
<scope>provided</scope>
在Maven中添加。但是,为什么我需要包括这个jar?删除哪些类或文件会有错误? - 我不确定javax.servlet.jsp-api做什么。如果不包含我的hello world示例,则该示例运行良好。这是做什么的?我是否需要添加
<scope>provided</scope>
? - Servlet容器不提供JSTL,因此必须显式添加。这个jar可以确保
<c:xxx>
在我的jsp中正确处理了和其他基本标签。
回答:
将提供的依赖项标记为将提供给编译时和测试类路径,而不是运行时类路径-就像您说的那样,容器将在运行时提供这些API的实现。
如果您正在开发Web应用程序,那么不使用Servlet API中的类(HttpServletRequest,HttpServletResponse,Filter等)的可能性就很小。尽管许多框架抽象了许多Servlet API,但仍可能需要您使用这些底层API。
是的,添加提供的范围。但是,只有在例如通过扩展javax.servlet.jsp.tagext.TagSupport创建自定义JSP标签时,才需要在编译时类路径中使用此标签(尽管标签文件提供了一种更现代的方式来创建自定义标签) 。
是的,是的。
以上是 javax.servlet.jsp-api的用途是什么 的全部内容, 来源链接: utcz.com/qa/436169.html