¿Qué son los tarros obligatorios JSTL?

Soy nuevo y empiezo a aprender Java. Desde eljstl etiqueta, sé mucho sobre jstl.

Utilizo IDE (eclispe mars) para crear un proyecto web dinámico agregando una página jsp simple, luego exporto la guerra a la carpeta webapps del tomcat7. Hago algunas pruebas de la dependencia de jstl jarras obligatorias.

Mis archivos principales del proyecto son:

web.xml: 

  <web-app xmlns:xsi="http:....... version="3.0">   //use servlet 3.0

index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jstl Tag Lib</title>
</head>
<body>
<h2>2+2=${2+2}</h2> //this line works, el is a part of jsp.

//below lines work fine if there are proper jstl jars.
<c:set var="salary" scope="session" value="${2000*2}" />
salary:<c:out value="${salary}" />
</body>
</html>

En la carpeta WEB-INF / lib /, tengo 3 tipos de frascos, todos los 3 grupos funcionan bien.

1) solo contiene:

jstl-1.2.jar

¿Qué organización lo entrega? apache tomcat?

2) solo contiene:

javax.servlet.jsp.jstl-api-1.2.1.jar
javax.servlet.jsp.jstl-1.2.4.jar

Aquí, tengo una pregunta: ¿Cuáles son las dos jarras de diferencia?

3) solo contiene:

taglibs-standard-impl-1.2.5.jar
taglibs-standard-compat-1.2.5.jar
taglibs-standard-jstlel-1.2.5.jar
taglibs-standard-spec-1.2.5.jar

Thoes jars descarga dehttp://tomcat.apache.org/download-taglibs.cgi Aquí, tengo una pregunta: ¿Cuáles son las tres jarras de diferencia? Como no sé la diferencia, dejo caer los tres frascos en la carpeta lib, pero encuentro que taglibs-standard-impl. *. Jar es obligatorio cuando se ejecuta el tiempo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta