項目建構
總體參考:
http://www.java2blog.com/2015/09/how-to-create-dynamic-web-project-using.html
https://stackoverflow.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環境
工程裡就有了
或者
https://stackoverflow.com/questions/18790106/eclipsemaven-src-main-java-not-visible-in-src-folder-in-package-explorer
點選
Java build path-order and export
将maven dependencies和jre system library選上
出現cannot 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"
如何穩定的改變呢?
參考
https://stackoverflow.com/questions/25551213/cannot-change-version-of-project-facet-dynamic-web-module-to-2-5
這個答案說原因是在于在project facets裡dynamic web model 已經選上不能變了,就算maven update也隻能增加module而不能改變module,是以先不選擇dynamic web model
然後再maven update 就好了
有關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://stackoverflow.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
轉載于:https://www.cnblogs.com/hong2016/p/7307458.html