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>