对于SpringMVC整合过程中注解没有起作用的情况,处理方法如下:
- 确认是否开启注解扫描
在 SpringMVC 的配置文件中,需要先配置注解扫描,才能让 SpringMVC 自动识别使用了注解的类和方法。配置示例如下:
<context:component-scan base-package="com.example.controller" />
其中,base-package
属性的值为注解所在的包路径。
- 确认依赖是否完整
如果注解扫描已经配置,但是注解仍然没有被识别,那么需要确认项目的依赖是否完整。一般来说,使用 SpringMVC 框架需要引入以下依赖:
<!-- SpringMVC框架核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring框架核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- servlet-api包,用于处理HTTP请求和响应 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api.version}</version>
<scope>provided</scope>
</dependency>
其中, spring.version
和 servlet-api.version
需要根据实际项目中使用的版本进行调整。
示例1:
现有一个Controller,代码如下:
@Controller
@RequestMapping("/test")
public class TestController {
@RequestMapping("/hello")
public String hello() {
return "hello";
}
}
当访问 /test/hello
页面时,发现页面出现 404 错误。解决方法如下:
- 确认是否开启注解扫描。在 SpringMVC 的配置文件中增加如下配置:
<context:component-scan base-package="com.example.controller" />
- 确认依赖是否完整。在项目的 pom.xml 文件中添加如下依赖:
<!-- SpringMVC框架核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Spring框架核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- servlet-api包,用于处理HTTP请求和响应 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api.version}</version>
<scope>provided</scope>
</dependency>
示例2:
现有一个Controller,代码如下:
@Controller
public class TestController {
@RequestMapping("/hello")
public String hello() {
return "hello";
}
}
当访问 /hello
页面时,发现页面出现 404 错误。解决方法如下:
-
修改
@RequestMapping
的值为"/"
,即@RequestMapping("/")
。 -
修改 SpringMVC 的配置文件,增加对根路径的映射,代码如下:
<mvc:view-controller path="/" view-name="index"/>
其中,view-name
属性的值为根路径所对应的视图名称。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringMVC整合,出现注解没有起作用的情况处理 - Python技术站