eclipse中新建Dynamic web project时选择2.5和3.0的区别(里面涉及servlet和tomcat的问题)

375 阅读2分钟

1、Dynamic web project时选择2.5和3.0是指servlet的版本,是2.5的还是3.0的

servlet3.0以后支持异步

2、dynamic web module和对应的TOMCAT 版本

 dynamic web module 2.4  对应Tomcat 5.5
 dynamic web module 2.5  对应Tomcat 6.0
 dynamic web module 3.0 对应Tomcat 7.0

具体可以参考如下博文:

 http://blog.sina.com.cn/s/blog_529aacbd01014cc8.html

3、不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
参考:
blog.csdn.net/z69183787/a…

web.xml v2.3

<?xml version="1.0" encoding="ISO-8859-1"?>  
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  

<web-app>  

</web-app>

web.xml v2.4

<?xml version="1.0" encoding="UTF-8"?>  
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  

</web-app>

web.xml v2.5

<?xml version="1.0" encoding="UTF-8"?>  

<web-app 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"  

version="2.5">  

</web-app> 

web.xml v3.0

<?xml version="1.0" encoding="UTF-8"?>  

<web-app  
        version="3.0"  
        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_3_0.xsd">  

</web-app> 

web-fragment.xml

<web-fragment 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-fragment_3_0.xsd" version="3.0">  

</web-fragment> 

4、Servlet和Tomcat的基础知识
参考:
blog.csdn.net/pirateleo/a…

5、Servlet 3特性:异步Servlet
参考:
www.importnew.com/8864.html

6、tomcat里边的servlet.jar对应哪个版本的java API?
这里写图片描述

追问:
这张表我看到了,但是看不太明白,里边的那个servlet/jsp 的版本是怎么回事呀?servlet-api.jar 里边的.class文件不是javaee 的servlet包里边的类的实现吗?
追答:
servlet/jsp当然有自己的版本。每次重大的升级,都会意味着版本的升级。 可能你现在多半在纠结servlet-api和javaee的关系。下面举个例子: MyEclipse 8新建webProject后,
MyEclipse自动在项目中引用了Java EE 5 Libraries,里面包括了 javaee.jar,jsf-impl.jar,jsf-api.jar,jstl-1.2.jar这四个包,其中javaee.jar包中包括了编写servlet的类,
在项目中新建一个servlet。 用MyEclipse的发布功能把项目发布到Tomcat后,其中的 jsf-impl.jar,jsf-api.jar,jstl-1.2.jar 这三个包也一同发布到了应用的lib目录中,
javaee.jar却并没有一同发布到lib中。Tomcat启动应用正常,可是应该报错找不到HttpServlet才对啊。 原来在Tomcat安装目录下的lib里有一个servlet-api.jar,
在这个包里也包括了编写servlet的类,所以Tomcat启动应用并没有因为找不到HttpServlet而报错。
追问:
嗯,您说的这些我明白,基本上也解决了我的疑问,谢谢,我还想再问下,上面你给的那个图最后一列中的 “Minimum java version” 指的是javaee 的版本,还是javase的版本?我认为是javaee的版本,对吗?
追答:
javaSE. 你要知道tomcat也是用java编写的