Tomcat版本選擇
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和 並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。並且Tomcat的版本選擇尤其重要,目前Tomcat最新版本為10.0.8.但是最新版本10對比tomcat9發生了很重要的變化
Tomcat 10以后的用戶應該知道,作為將Java EE轉移到Eclipse Foundation的一部分,從Java EE轉移到Jakarta EE的結果是,所有實現的api的主要包已經從javax變成jakarta。
影響了JSP標准標簽庫(JSTL)的正常使用(JSTL太老了,它是通過舊的Servlet和jsp的包名找對應的方法的,但是新版的tomcat10的包包名改了它就找不到了),建議將Tomcat版本降為9使用javax的jar包。版本並不是越新越好,老版本如果能穩定就不要用最新版本。
Maven倉庫依賴
Maven的核心思想:約定大於配置
地址:https://mvnrepository.com/
下面是Tomcat9在web開發中常用的Maven依賴
1 <dependencies> 2 <!--Servlet依賴--> 3 <dependency> 4 <groupId>javax.servlet</groupId> 5 <artifactId>javax.servlet-api</artifactId> 6 <version>3.1.0</version> 7 <scope>provided</scope> 8 </dependency> 9 10 <!--Jsp依賴--> 11 <dependency> 12 <groupId>javax.servlet.jsp</groupId> 13 <artifactId>javax.servlet.jsp-api</artifactId> 14 <version>2.2.1</version> 15 <scope>provided</scope> 16 </dependency> 17 <!--JSTL表達式依賴--> 18 <dependency> 19 <groupId>javax.servlet.jsp.jstl</groupId> 20 <artifactId>javax.servlet.jsp.jstl-api</artifactId> 21 <version>1.2.1</version> 22 </dependency> 23 24 <!--standard標簽庫--> 25 <dependency> 26 <groupId>taglibs</groupId> 27 <artifactId>standard</artifactId> 28 <version>1.1.2</version> 29 </dependency> 30 31 <dependency> 32 <!--Mysql驅動包--> 33 <groupId>mysql</groupId> 34 <artifactId>mysql-connector-java</artifactId> 35 <version>8.0.25</version> 36 </dependency> 37 38 <dependency> 39 <!--無需main方法測試--> 40 <groupId>junit</groupId> 41 <artifactId>junit</artifactId> 42 <version>4.11</version> 43 <scope>test</scope> 44 </dependency> 45 46 </dependencies>
Tomcat10在web開發中常用的Maven依賴(JSTL標簽庫的使用可能出問題)
<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>4.0.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>jakarta.servlet.jsp</groupId> <artifactId>jakarta.servlet.jsp-api</artifactId> <version>2.3.6</version> <scope>provided</scope> </dependency> <dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency>