Tomcat10的servlet依赖问题

项目场景:

项目场景:简单的SSM架构CRM项目,属于一个练习项目,由于视频上使用的较旧的技术,所以在自己做的时候全部替换为新的内容。
开发环境:
1. JAVA:21.0.2
2. Maven:3.9.6
3. Spring:6.1.6
4. 数据库:MariaDB11.0
5. MyBatis:3.5.16
6. IDE:eclipse


问题描述

在编写了Controller方法后(方法接收参数HttpServletRequest),当前端访问Controller时,会报错,报错信息如下:

518, 2024 9:30:42 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: 在路径为[/crm-core]的上下文中,Servlet[dispatcher]Servlet.service()引发了具有根本原因的异常[Reque
st processing failed: java.lang.IllegalArgumentException: Name for argument of t
ype [java.lang.String] not specified, and parameter name information not availab
le via reflection. Ensure that the compiler uses the '-parameters' flag.]
java.lang.IllegalArgumentException: Name for argument of type [java.lang.String]
 not specified, and parameter name information not available via reflection. Ens
ure that the compiler uses the '-parameters' flag.
	at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentRe
solver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:187)
	at org.springframework.web.method.a
### 下载适用于 Tomcat 10 的 JSTL 依赖库 对于 Tomcat 10 及以上版本,由于其与之前的版本存在差异,在选择和配置 JSTL 库时需要注意一些特定事项。 #### 版本兼容性注意事项 Tomcat 10 使用 Jakarta EE 9 规范,这意味着 Servlet 和其他 Java EE 技术已经迁移到 `jakarta.*` 命名空间下。因此,当为 Tomcat 10 安装 JSTL 时,应确保所使用的 JSTL 实现也遵循这一命名空间的变化[^1]。 #### 获取最新版 JSTL 可以从 Maven 中央仓库或其他官方资源获取最新的 JSTL API 和实现 jar 文件。当前推荐的方式是从 Eclipse Foundation 或者通过 Maven 构建工具来管理这些依赖项。如果手动下载,则需确认下载链接指向的是支持 Jakarta EE 9 的版本[^5]。 #### 手动安装步骤概述 为了使应用程序能够在 Tomcat 10 上正常运行并利用 JSTL 功能,通常的做法是在项目的 WEB-INF/lib 目录中放置必要的 JAR 文件: - **API**: jakarta.servlet.jsp.jstl-api-x.x.x.jar (注意这里的包名为 jakarta 而不是 javax) - **Implementation**: jakarta.servlet.jsp.jstl-impl-x.x.x.jar 请注意,具体版本号取决于可用的最新稳定发布版本以及项目需求[^3]。 ```xml <!-- Example of adding dependencies via Maven --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> <version>2.0.0</version> </dependency> ``` 上述 XML 片段展示了如何在 pom.xml 文件中声明这两个依赖关系(假设使用 Apache Maven 进行构建)。这将自动处理正确版本的选择,并将其添加到 classpath 中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

凉拌糖醋鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值