在Maven工程中引入JSTL标签库

最近找了个视频学习SSM整合的练习,在引入JSTL的时候卡了我小半天,就是导包后不报错运行时候就报错。报的错就是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。找了一些资料,说的不是很清楚,倒不是说人家说的不对,而是没说清具体该怎样做。比如哪个文件该放在哪里(就因为这个我瞎调了好几个小时)。
  这里放一张错误的图片,看看是不是似曾相识:
资源报错

1.导包

在pom.xml中添加jstl1.2.jar的依赖。
引入jstl

<!-- jstl -->
<dependency>
	<groupId>jstl</groupId>
	<artifactId>jstl</artifactId>
	<version>1.2</version>
</dependency>

导包这里我直接到的jstl1.2版本的。因为在jstl1.2中直接就有standard.jar。为啥这么说,因为我把jstl1.2.jar下了下来,解压看了一下,发现standard.jar已经在jstl1.2.jar中,这里给大家分享一下。先看一下下面这张图。我们来看一下standard文件夹的位置。
这里写图片描述
  接下来以standard1.1.2.jar为例,我们看一下。为什么看这个版本,因为它的版本与jstl1.1.2.jar版本是对应着的。而且要使用这个版本就要把这两个jar包都引进项目中。我们看一下下面的对比图就知道咋回事了。
  jstl1.1.2.jar的包结构:
jstl1.1.2.jar
  jstl1.2.jar的包结构:
这里写图片描述
  所以jstl1.1.2需要这样引入:

<!-- jstl -->
<dependency>
	<groupId>jstl</groupId>
	<artifactId>jstl</artifactId>
	<version>1.1.2</version>
</dependency>
<dependency>
	<groupId>taglibs</groupId>
	<artifactId>standard</artifactId>
	<version>1.1.2</version>
</dependency>

导入结果跟jstl1.2.jar基本就一样了,只不过1.2是一个jar。1.1.2是两个jar。
这里写图片描述

2.解压jar包,将后缀为.tld的文件,放到自己项目的WEB-INF文件夹下

使用jstl1.1.2.jar的就直接解压standard-1.1.2.jar,然后进到解压出来文件的META-INF文件夹中:
这里写图片描述
  使用jstl1.2.jar的,直接解压它就行,然后进到解压出来文件的META-INF文件夹中:
这里写图片描述
  
  这里以c标签为例,直接复制c.tld,放到项目的WEB-INF文件夹中(用到啥了就复制进去就行了),基本就是这个样子:
这里写图片描述
  到这一步,我的项目就可以运行起来了,而且也不用配置web.xml。

3.配置web.xml(没深究,反正不配也好使)

配置如下,可以参考菜鸟教程。可能我用的少,没感觉出来有啥用,因为在上一步我的例子就能运行了。

<jsp-config>
	<taglib>
		<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
		<taglib-location>/WEB-INF/c.tld</taglib-location>
	</taglib>
</jsp-config>
总结

总感觉肯定有新的配置方式,因为这个jar实在是太老了,但没找到靠谱的。

为了帮助你解决在Eclipse中手动导入JSTL和JDBC依赖的问题,这里推荐一份宝贵的资源:《Eclipse Maven 导入 jar 包的万能解决方案》。这篇文章提供了无需修改pom.xml的解决方法,帮助你通过外部获取jar包并利用Maven命令行工具导入到本地仓库中。 参考资源链接:[Eclipse Maven 导入 jar 包的万能解决方案](https://wenku.csdn.net/doc/f36sa27zy9) 在Eclipse中手动导入Maven依赖的过程具体步骤如下: 1. 首先,从可靠的源获取JSTL和JDBC的jar包。例如,你可以从Maven中央仓库下载相应的jar文件。 2. 在你的电脑上找到一个方便的位置放置这些jar包。建议在Maven的bin目录同级创建一个文件夹,比如命名为`external-jars`。 3. 打开命令行工具,切换到Maven的bin目录下。执行以下Maven命令来安装jar包到本地仓库: ``` mvn install:install-file -DgroupId=javax.servlet -DartifactId=jstl -Dversion=1.2 -Dpackaging=jar -Dfile=../external-jars/jstl-1.2.jar mvn install:install-file -DgroupId=com.mysql -DartifactId=mysql-connector-java -Dversion=8.0.19 -Dpackaging=jar -Dfile=../external-jars/mysql-connector-java-8.0.19.jar ``` 注意替换上述命令中的路径和版本信息,以匹配你所下载的jar包的实际路径和版本。 4. 安装完成后,在Eclipse中更新本地仓库索引。通过`Window` -> `Show View` -> `Other` -> `Maven` -> `Maven Repositories`打开本地仓库视图,右键点击`Local Repositories`选择`Rebuild Index`。 5. 接下来,在Eclipse项目的pom.xml中添加对应依赖,即使你之前没有通过pom.xml管理这些依赖,这样做也可以确保项目在不同环境下的一致性和可维护性。添加依赖的代码如下: ```xml <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> ``` 6. 最后,在项目上点击右键,选择`Maven` -> `Update Project`来更新Eclipse中的项目设置。 通过以上步骤,你就可以在不修改pom.xml的情况下,手动在Eclipse中导入JSTL和JDBC依赖。但请记住,长期依赖这种手动操作可能会增加项目管理的复杂性,不利于团队协作和版本控制。所以建议在可能的情况下,还是通过pom.xml来管理项目依赖,以实现自动化和标准化。对于深入学习如何在Eclipse中使用Maven管理和导入依赖,建议查阅《Eclipse Maven 导入 jar 包的万能解决方案》一文,文中不仅提供了导入依赖的具体方法,还介绍了如何通过Maven命令行工具处理依赖问题,是你的学习资源宝库。 参考资源链接:[Eclipse Maven 导入 jar 包的万能解决方案](https://wenku.csdn.net/doc/f36sa27zy9)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值