【发布时间】:2016-08-23 08:53:23
【问题描述】:
我正在学习如何制作一个符合 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>
我已经进行了一些谷歌搜索,并希望验证或完成以下信息:
- servlet api是servlet容器提供的,所以我可以在Maven中添加
<scope>provided</scope>。但是,为什么我需要包含这个 jar?当我删除它时,哪些类或文件会出现错误? - 我不确定 javax.servlet.jsp-api 的作用。如果我不包含它,我的 hello world 示例似乎运行得很好。这是做什么的?我是否需要添加
<scope>provided</scope>? - JSTL 不是由任何 servlet 容器提供的,因此必须显式添加。这个 jar 确保
<c:xxx>和其他基本标记在我的 jsp 中得到正确处理。
【问题讨论】:
标签: java maven jsp servlets wildfly