不管是狂神还是尚硅谷的课,根据他们的代码写出来还是404,就检查一下依赖吧
这是我正常运行的依赖
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.1</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.3</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>javax.servlet.jsp.jstl-api</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.8.2</version> <scope>test</scope> </dependency> </dependencies>
可能会出的一些问题,用了最新的6.1.6.然后兼容问题要将 javax.servlet
API 替换为 jakarta.servlet
API。但是这么搞就不能按照课间走了,包报404的,
这两个版本的差异性,自己去搜吧,新版本用法希望有大佬科普一下,
还有就是可能存在的路径错误,显示了具体的路径,比如说WEB-INF/jsptest.jsp,就是前缀没加/
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.1.6</version>
</dependency>
已经包含了 javax.servlet-api
依赖,并且使用的是 Spring Framework 6.1.6,这里存在一个关键的兼容性问题。Spring Framework 6.0 及更高版本不再支持 Java EE 的 javax
命名空间,而是转向支持 Jakarta EE 的 jakarta
命名空间。因此,你需要将 javax.servlet
API 替换为 jakarta.servlet
API。
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>