项目构建
总体参考:
http://www.java2blog.com/2015/09/how-to-create-dynamic-web-project-using.html
https://*.com/questions/10888068/java-dynamic-web-project-with-maven-and-eclipse
遇到maven报错但是只有项目前有错误符号
点击右键update maven project
创建maven 动态网页工程
但是没有src\main\java和src\main\resources
然后在Java build path里切换下jre环境
工程里就有了
出现cannpt change dynamic web model to 2.5
原因在于web.xml里配置的是
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"
有关dynamic web module和 tomcat关系
http://www.cnblogs.com/beijingstruggle/p/5461146.html
下面转载自上面的博客
写的很好!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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 头信息
参考:
http://blog.csdn.net/z69183787/article/details/36008097
4、Servlet和Tomcat的基础知识
参考:
http://blog.csdn.net/pirateleo/article/details/8574973
5、Servlet 3特性:异步Servlet
参考:
http://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编写的
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
change dynamic web module问题解决:
https://*.com/questions/18122336/cannot-change-version-of-project-facet-dynamic-web-module-to-3-0/20146436
右键项目名-properties-project facets-dynamic web module-右键check version-选择版本号
或者将前面打钩去掉-更改web.xml配置然后maven-update project