无法在嵌入式 Jetty 服务器中加载 JSTL taglib
2022-09-03 12:21:19
我正在编写一个在嵌入式 Jetty 实例中运行的 Web 应用程序。
当我尝试执行 JSTL 语句时,我收到以下异常:
org.apache.jasper.JasperException: /index.jsp(1,63) PWC6188: Absolute uri: http://java.sun.com/jsp/jstl/core 无法在 web.xml 或与此应用程序一起部署的 jar 文件中解析
我在类路径上有以下jar
- 蚂蚁-1.6.5.jar
- 蚂蚁-1.7.1.jar
- 蚂蚁发射器-1.7.1.jar
- 酷睿-3.1.1.jar
- 码头-6.1.22.jar
- 码头-利用-6.1.22.jar
- jsp-2.1-6.1.14.jar
- jsp-api-2.1.jar
- jstl-1.2.jar
- servlet-api-2.5-20081211.jar
- servlet-api-2.5-6.1.14.jar
- 标准-1.1.2.jar
我的网页.xml看起来像这样:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee h77p://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>test</display-name>
</web-app>
我的代码如下所示:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<h2>Hello World!</h2>
<%= new java.util.Date() %><br/>
${1+2}<br/>
<c:out var="${5+9}"/><br/>
</body>
</html>
我启动了我的嵌入式Jetty服务器,如下所示:
Server server = new Server(80);
WebAppContext context = new WebAppContext("pig-1.0-SNAPSHOT.war","/");
server.addHandler(context);
server.start();
在过去的两天里,我尝试了jar文件,web.xml配置和标签库声明的各种组合,但无济于事。
如何在完全支持JSTL的情况下启动并运行嵌入式Jetty服务器?