相关文章推荐
沉着的西红柿  ·  angular8 ...·  9 月前    · 
另类的路灯  ·  ora-00920 invalid ...·  1 年前    · 
捣蛋的铁链  ·  Spring ...·  1 年前    · 
腼腆的蛋挞  ·  Mybatis中oracle、mysql的l ...·  1 年前    · 

开篇吐槽,我去,今天本来打算在Spring MVC中用Maven添加一下JSTL的包,结果搞了一上午也是各种错误:

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

网上各种解决办法都是版本错误什么的,换个版本的Maven依赖,挂了代理都下不动,手动导了包又报了个ClassNotFound,WEB-INF下的lib也有对应的jar包,后来发现貌似是犯二了,没有导入 jstl-impl,又搜了一下,这哥们 正确配置Jstl的Maven依赖 给了正确的Maven依赖配置:

 <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>

其实现在看来原因是现有的项目中已经有了对jsp-api和javax.servlet-api的引用,再引入一个JSTL,JSTL也会引入自身一套的jsp-api和javax.servlet-api引用,所以需要在pom.xml中把jstl引用的jsp-api和javax.servlet-api给exclusion掉。

普通的javaee项目无非就需要3个jar包

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
	<groupId>javax.servlet.jsp</groupId>
	<artifactId>jsp-api</artifactId>
	<version>2.1</version>
	<scope>provided</scope>
</dependency>
<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>jstl</artifactId>
	<version>1.2</version>
</dependency>

这里面JSTL没有jstl-impl.jar,对运行也没什么影响。。至于网上说的比较多的standard.jar标准标签库在jstl1.2以后的高版本不再需要了。 开篇吐槽,我去,今天本来打算在Spring MVC中用Maven添加一下JSTL的包,结果搞了一上午也是各种错误:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files

解决在web.xml中添加filter后idea提示错误的问题 web-app爆红 web.xml中文件为以下,web-app就不会爆红,建议换成和Tomcat一样的webxml。 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc
<groupId>javax.servlet.jsp. jstl </groupId> <artifactId> jstl -api</artifactId> <version>1.2</version>
JSP 标准标签库(JSP Standard Tag Library, JSTL )是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问. 如果要使用 JSTL ,则必须将standard-1.2.5.jar和 jstl -1.2.5jar文件放到classpath中
这是已经准备好的 配置 文件 <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl --> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>t...
困扰了两天的问题,非常头疼,今天终于有了解决思路了,说到底,还是对 maven 不够了解吧。总是抱怨 maven 不好用,出现各种无厘头的问题,原来这些都是归于对它不够了解不够熟悉,它提供了很好的解决思路,只是我们通常都不知道。问题背景: 配置 jstl 依赖 惹的祸,<dependency>   <groupId>javax.servlet.jsp. jstl </groupId>   <artifactId>j
<groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.10</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.10</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.3.10</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.10</version> </dependency> <!-- MyBatis 依赖 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.6</version> </dependency> <!-- 数据源 依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.4.0</version> </dependency> <!-- Servlet API 依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <!-- JSP API 依赖 --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <!-- JSTL 依赖 --> <dependency> <groupId> jstl </groupId> <artifactId> jstl </artifactId> <version>1.2</version> </dependency> <!-- JSON 依赖 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.13.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.13.0</version> </dependency> <!-- 日志 依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.6</version> </dependency> 这是一个基础的 依赖 配置 ,根据具体项目需求可能还需要添加其他 依赖 。同时,需要根据实际情况对 依赖 版本进行调整。