上午在别人机器上做演示,写好 Servlet居然访问不了。后来回想叻下,觉得应该是Tomcat版本不一致的问题,我用的是Tomcat 7.0建的Project,他们大多数都是用的6.0的版本。回来又仔细测试叻下,发现果然是用到叻6.0版本不支持的特性。为叻省去在web.xml里指定URL的麻烦,我一般都是直接在Servlet里导入javax.servlet.annotation.*然后直接@WebServlet( "XX" )完事,结果拿到别人的机子上死活读不出来,看来实际开发的话这个麻烦还是省不了的。下面是Apache官方网站给出的不同版本的Tomcat所对应的Servlet/JSP规范和JDK版本:
Servlet/JSP Spec |
Apache Tomcat version |
Actual release revision |
Minimum Java Version |
3.0/2.2 |
7.0.x |
7.0.12 |
1.6 |
2.5/2.1 |
6.0.x |
6.0.32 |
1.5 |
2.4/2.0 |
5.5.x |
5.5.33 |
1.4 |
2.3/1.2 |
4.1.x (archived) |
4.1.40 (archived) |
1.3 |
2.2/1.1 |
3.3.x (archived) |
3.3.2 (archived) |
1.1 |
Apache官方对各版本的解释:http://tomcat.apache.org/whichversion.html
另外如果在桌面计算机上部署不同版本的Tomcat的话,CATALINA_HOME的值只能对应其中一个版本,就是说你要切换版本的话必须每次都要要去手动修改这个值然后重启服务器。