对于SpringMVC整合过程中注解没有起作用的情况,处理方法如下:
对于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整合,出现注解没有起作用的情况处理
基础教程推荐
- Java8 Instant 时间戳实例讲解 2023-07-01
- java – Hibernate,SQL和递归关联 2023-10-29
- SpringBoot整合Pulsar的实现示例 2023-02-10
- JSP简介 2023-12-07
- RocketMQ NameServer 核心源码解析 2023-05-19
- Java中Range函数的简单介绍 2023-03-15
- Java方法调用解析静态分派动态分派执行过程 2023-01-29
- Java语言中的文件数据流示例详解 2023-07-01
- 基于javaweb+jsp实现学生宿舍管理系统 2023-07-30
- 为Java / Spring / Tomcat Web应用程序淘汰MongoDB或Couch的Hibernate / Mysql 2023-10-29
