【问题标题】:JasperException: Absolute uri cannot be resolvedJasperException:无法解析绝对 uri
【发布时间】:2016-01-27 10:23:50
【问题描述】:

当我尝试为我的 web.xml 使用 XML 架构而不是弃用的 DOCTYPE 声明时,我得到了以下 JasperException:

HTTP Status 500 - 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

如果我使用这个 web.xml,应用程序编译:

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>
</web-app>

但是,如果我使用这个 web.xml,我会得到 JasperException:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
    <display-name>CourseManagementJDBC</display-name>\
</web-app>

知道为什么只有弃用的格式可以工作吗?

注意:这是一个Maven项目,已经正确声明了JSTL依赖,以及JSP中的标签库:

pom.xml:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

他们都是正确的;什么给了?

【问题讨论】:

  • 访问jsp页面时是编译时还是运行时报错?
  • 在编译时。它成功编译的唯一方法是在 web.xml 中使用旧的、已弃用的 DOCTYPE 声明。 xml。我只是不知道为什么。

标签: java xml maven


【解决方案1】:

我终于找到了解决方案。默认情况下,出于某种原因(我想知道为什么),Maven 会生成一个动态 Web 模块作为 2.3 版。 DTD 当然是 Servlet 2.3 的标准,可能无法解析或评估我的基于 XML 的 web.xml 文件。

我仍然不是 100% 清楚为什么将 web.xml 更改为 XSD 会导致关于 JSTL 的 JasperException,尽管我认为这与 JSTL 在 Servlet 2.3 之后的某个时间点与 JSP 集成有关 - 某人如果可能,请更正或详细说明。

看到这个:https://stackoverflow.com/a/4928309/2879303

现在解决方法:

  1. 右键单击您的 Maven 项目并选择 Properties

  2. 导航到 Project Facets 并取消选中 Dynamic Web Module。申请 变化。

  3. 从版本下拉框中,选择最新版本(截至 写作,这是3.1)。重新选择动态网络模块。应用更改。

  4. 右键单击您的 Maven 项目并选择 Maven -> 更新 项目

  5. 您的项目现在应该能够正确解释web.xml 带有 XSD 声明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 2014-09-03
    相关资源
    最近更新 更多