Maven配置JSP和JSTL的依赖

添加jstl依赖时:

tomcat中已有jsp-api和servlet-api,但maven下载jstl时也会把它所依赖的这两个包下载下来,所以就有了包冲突,因此在maven的pom.xml中需要排除这两个包的下载 ,否则会报错Missing artifact javax.servlet.jsp.jstl:jstl:jar:1.2。

添加tomcat:

tomcat 的支持.tomcat 支持必须加,不加的情况下,默认采用tomcat方式启动, 但是访问不到jsp页面 (报404错误)

 <!-- jstl依赖 -->
      <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet.jsp</groupId>
                    <artifactId>jsp-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jstl-impl</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet.jsp</groupId>
                    <artifactId>jsp-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet.jsp.jstl</groupId>
                    <artifactId>jstl-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
      <!-- servlet 依赖. -->
       <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>javax.servlet-api</artifactId>
           <scope>provided</scope>
       </dependency>
       
       <!-- tomcat 的支持-->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-tomcat</artifactId>
           <scope>provided</scope>
       </dependency>
       <!-- JSP的支持-->
       <dependency>
           <groupId>org.apache.tomcat.embed</groupId>
           <artifactId>tomcat-embed-jasper</artifactId>
           <scope>provided</scope>
       </dependency>
### 配置 Maven 项目中的 JSTL 为了确保在 Maven 项目中正确配置 JSTL,需要遵循特定的依赖管理策略。Tomcat 已经包含了 `jsp-api` `servlet-api` 的实现,因此当通过 Maven 下载 JSTL 及其依赖项时,应当排除这些重复的 API 包以防止冲突。 #### 正确的 POM 文件配置如下: ```xml <dependencies> <!-- JSTL Dependency --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- Standard Implementation of JSTL (Optional, depending on the container) --> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <!-- Servlet and JSP APIs provided by Tomcat should be excluded to avoid conflicts --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> </dependencies> ``` 上述 XML 片段展示了如何声明 JSTL 以及标准库实施作为项目的依赖关系,并指定了 `provided` 范围来处理由应用服务器提供的 servlet jsp api[^1][^2]。 此外,在页面中使用 JSTL 标签前需确认已正确定义了标签库指令,例如: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> ``` 此行代码用于引入核心标签库以便于后续操作数据流、迭代集合等内容[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿毕业分享网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值