4
respuestas

[Duda] Uri absoluta http://java.sun.com/jsp/jstl/core] no puede resolverse o en web.xml o el los archivos jar desplegados con esta aplicación

Que tal. Al ejecutar el servidor Tomcat 10.1 en el entorno de Java 11 aparece el error que describe el asunto de este topico: "Uri absoluta http://java.sun.com/jsp/jstl/core] no puede resolverse o en web.xml o el los archivos jar desplegados con esta aplicación". Pero no se a que responde el error, ya he probado cambiando la version de los archvos jar de jstl pero nada ha cambiado. Cualquier ayuda seara bienvenida. Gracias!.

4 respuestas

¡Hola Estudiante!

El error que estás experimentando se debe a que la versión de JSTL que estás utilizando no es compatible con Tomcat 10.1 y Java 11. Te sugiero que descargues la última versión de JSTL compatible con Tomcat 10.1 y Java 11 y la agregues a tu proyecto. También asegúrate de que la versión de JSTL que estás utilizando esté declarada correctamente en el archivo web.xml de tu aplicación.

Aquí te dejo un ejemplo de cómo declarar la versión de JSTL en el archivo web.xml:

<jsp-config>
    <taglib>
        <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
        <taglib-location>/WEB-INF/lib/jstl-1.2.jar</taglib-location>
    </taglib>
</jsp-config>

Asegúrate de que la ubicación del archivo JSTL sea correcta y que la versión coincida con la que estás utilizando en tu proyecto.

Espero que esta información te sea útil. ¡Buena suerte con tu proyecto!

Gracias por tu respuesta. Voy a probar eso. Tengo otras dudas con topicos similares y que aun no me ha sabido responder por el foro por eso y dado que estas en tema, aprovecho esta ocasion para consultarte lo siguiente: En el siguiente codigo la primera linea queda en color negro y Eclipse no reconoce la taglib. Ya he probado de todo: he cerrado la pestaña, la he vuelto a abrir, he reiniciado Eclipse, he actualizado eclipse, he comprobado las configuraciones de ambiente del servidor Tomcat y las he cambiado una y otra vez. Quiza les sea de utilidad para ayudarme saber que la version de Java que tengo instalado es la 11 y la version de Tomcat es la 10.1, mientras que en la carpeta WEB.INF/lib tengo los jars "jakarta.servlet.jsp.jstl-2.0.0.jar", "jakarta.servlet.jsp.jstl-api-2.0.0.jar" y "javax.servlet.jar".

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:url value="/nuevaEmpresa">

<form action="/gerenciador/nuevaEmpresa" method="post">

    Nombre Empresa: <input type="text" name="nombre"/>

    <input type="submit"/>

</form>



</body>
</html>

Solucionar esto es para mi muy importante ya que me impide avanzar con las practicas.

Con relacion a la carpeta WEB.INF/lib donde tengo los jars "jakarta.servlet.jsp.jstl-2.0.0.jar", "jakarta.servlet.jsp.jstl-api-2.0.0.jar" y "javax.servlet.jar" aprovecho para consultar tambien si este utimo jar es necesario instalarlo y por que razon, ya que en el video correspondiente del curso no se indica que se debe instalar mientras que en la seccion de discord correspondiente en "preguntas frecuentes" por el contrario se aconseja instalar esta libreria mas no se dice nada respecto de los otros dos jars.

¡Muchas gracias!

Saludos!

Respondiendo a tu ultima pregunta. ya renombraste el archivo HTML a JSP ??

Saludos.

Hola, alumno,

El problema que estás experimentando es porque la URI de la taglib que estás intentando usar está obsoleta. La URI "http://java.sun.com/jsp/jstl/core" pertenece a la versión 1.2 de la JSTL (JavaServer Pages Standard Tag Library), que fue desarrollada por Sun Microsystems y ha sido descontinuada.

En su lugar, debes usar la nueva URI correspondiente a la versión 2.0 de la JSTL, que es compatible con Tomcat 10.1 y versiones posteriores. La nueva URI es "http://xmlns.jcp.org/jsp/jstl/core".

Por lo tanto, la primera línea de tu código debería ser:

<%@ taglib uri="http://xmlns.jcp.org/jsp/jstl/core" prefix="c"%>

Con respecto a la carpeta WEB-INF/lib y los archivos .jar que tienes allí, la librería javax.servlet.jar es necesaria ya que contiene las clases de la API de servlets de Java, que son requeridas para compilar y ejecutar aplicaciones web. En cuanto a los otros dos archivos .jar (jakarta.servlet.jsp.jstl-2.0.0.jar y jakarta.servlet.jsp.jstl-api-2.0.0.jar), son necesarios para utilizar la versión 2.0 de la JSTL en tu proyecto.

Espero que esta información te sea de ayuda y solucione tus problemas con Eclipse y Tomcat. ¡Suerte con tus prácticas!