日期:2014-05-16  浏览次数:20474 次

对tomcat,jstl的一个记录

在做spring3的项目的时候总是只能使用在tomcat6中,在tomcat5中jstl都不会被解析(我在lib也包含了jstl的jar),后来经过查找资料发现问题所在。

我在spring3的项目中的web.xml中的 声明头是这样的。

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
?? ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?? ?xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
?? ?http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

也就是说 servlet 的版本使用的是2.5版本。

Servlet/JSP Spec Apache Tomcat version Actual release revision
2.5/2.1 6.0.x 6.0.26
2.4/2.0 5.5.x 5.5.29
2.3/1.2 4.1.x (archived) 4.1.40 (archived)
2.2/1.1 3.3.x (archived) 3.3.2 (archived)

这个部分是tomcat.apache.org上看到的。

所以,只要改改版本jstl在tomcat5中就正常了。

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/javaee"
?? ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?? ?xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
?? ?http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd">

这样就改成了2.4了。

别忘记重新发布一下项目看结果。