@controller不能被识别

记得controller的类不能起名为Controller,否则不能被识别!!!!!

转载于:https://www.cnblogs.com/w123w/p/10740191.html

@Controller 和 @RestController 都是 Spring MVC 框架中的注解,用于标记 Java 类作为控制器,但它们在处理HTTP请求和返回响应的方式上有所不同。 1. **@Controller**: - 它主要用于传统意义上的控制层(Controller),主要用于处理HTTP请求并调用业务逻辑。当你使用 `@RequestMapping` 注解处理HTTP方法(GET、POST等)时,`@Controller` 的类和方法会被Spring MVC识别为可以处理HTTP请求的地方。 - 控制器通常会调用服务层或领域对象进行业务逻辑处理,然后将结果转换为视图模型(Model)以便传递给视图进行渲染,最后通过`ModelAndView` 或直接返回`Model`对象与`ViewName`。 2. **@RestController**: - 这是一个 `@Controller` 的扩展,它的主要特点是它默认返回JSON格式的响应,而不是传统的HTML视图。这意味着 `@RestController` 的方法通常不包含视图相关的代码,而是直接操作数据并返回`ResponseEntity` 或 `Object`。 - 当方法需要返回HTTP响应时,它可以直接返回一个对象,如`@GetMapping` 返回一个 `Map` 或 `Object`,Spring MVC 会自动序列化这个对象为JSON并设置HTTP头信息。这样,`@RestController` 适用于Web API和RESTful应用,适合于客户端为JavaScript或移动应用的场景。 相关问题: 1. 何时会在Web应用中选择使用@Controller而非@RestController? 2. 在使用`@RestController`时,如何处理HTTP错误码或异常情况? 3. 如果希望`@RestController`返回HTML页面,如何配置?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值