I wrote a web application with Eclipse Tomcat and it works on my local Tomcat 7, when I tried to publish it online on a Tomcat 7, I had the following error:
SEVERE: Servlet.service() for servlet [obliquid.servlet.Index] in context with path [/cp] threw exception [The absolute uri:
http://java.sun.com/jsp/jstl/corecannot be resolved in either web.xml or the jar files deployed with this application]
Tomcat 7 has “Spec versions: Servlet 3.0, JSP 2.2, EL 2.2”, so JSTL is not included?
When I tried to upload standard.jar and jstl.jar I had the following error:
org.apache.jasper.JasperException: /jsp/index.jsp (line: 3, column: 62) Unable to read TLD “META-INF/c.tld” from JAR file “jndi:/localhost/cp/WEB-INF/lib/standard.jar”: org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
I did some googling, but I couldn’t sort it out, some said it could be caused by conflicting versions of the jars. Maybe I should not include those jars and use a different JSTL url? Mine is for JSTL 1.1 I think, is there a new URL for JSTL 1.2?
What should I do to solve the problem and make this application run?
Tomcat has never included JSTL.
You should put the jstl and standard jars in
WEB-INF/lib(you’ve done that), and make sure you have the permissions to read them (chmod)Your URI is correct and it should work (works here)