推荐答案
在 Spring MVC 中,定义一个 Controller 通常使用 @Controller
注解。以下是一个简单的示例:
-- -------------------- ---- ------- ------ ------------------------------------------ ------ --------------------------------------------------- ------ ------------------------------------------------------- ----------- --------------------------- ------ ----- ----------------- - --------------------- ------ ------ ---------- - ------ -------- -- ------ - -
在这个示例中:
@Controller
注解用于标记该类为一个 Spring MVC 控制器。@RequestMapping("/example")
注解用于指定该控制器的根路径。@GetMapping("/hello")
注解用于处理 HTTP GET 请求,并映射到/example/hello
路径。sayHello()
方法返回一个字符串"hello"
,表示视图名称,Spring MVC 会根据配置的视图解析器找到对应的视图文件(如hello.jsp
或hello.html
)。
本题详细解读
1. @Controller
注解
@Controller
是 Spring MVC 中用于标记一个类为控制器的注解。它通常与 @RequestMapping
注解一起使用,用于处理 HTTP 请求并返回视图或数据。
2. @RequestMapping
注解
@RequestMapping
注解用于将 HTTP 请求映射到控制器的处理方法上。它可以用于类级别和方法级别。在类级别使用时,它定义了该控制器的根路径;在方法级别使用时,它定义了具体的请求路径。
3. @GetMapping
注解
@GetMapping
是 @RequestMapping
的简化版本,专门用于处理 HTTP GET 请求。它等同于 @RequestMapping(method = RequestMethod.GET)
。
4. 返回视图名称
在 Spring MVC 中,控制器方法通常返回一个字符串,表示视图名称。Spring MVC 会根据配置的视图解析器(如 InternalResourceViewResolver
)找到对应的视图文件并渲染。
5. 其他常用注解
@PostMapping
:用于处理 HTTP POST 请求。@PutMapping
:用于处理 HTTP PUT 请求。@DeleteMapping
:用于处理 HTTP DELETE 请求。@PathVariable
:用于从 URL 中提取变量。@RequestParam
:用于从请求参数中提取值。
通过这些注解,开发者可以轻松地定义和处理各种 HTTP 请求,并返回相应的视图或数据。