zoukankan      html  css  js  c++  java
  • SpringBoot学习之@Controller和@RestController

    今天我们来研究一下@Controller和@RestController的用法

    @Controller

    1.Controller可以用来跳转页面,并且必须配合模板来使用。

    @Controller
    //@ResponseBody
    public class LoginController {
    
        @RequestMapping(value = "/login", method=RequestMethod.GET)
        public String login() {
            return "hello world!!";
        }
    }

    上面的代码如果直接在浏览器地址栏中输入:http://localhost:8080/login会出现下面得错误:

    出现这种情况的原因在于没有使用模版。即@Controller 用来响应页面,@Controller必须配合模版来使用。

    SpringBoot支持多种模板包括:

    1.FreeMarker

    2.Groovy

    3.Thymeleaf (Spring 官网使用这个)

    4.Velocity

    5.JSP (貌似Spring Boot官方不推荐,创建项目会在src/main/resources 下有个templates 目录,这里就是让我们放模版文件的,然后并没有生成诸如                                         SpringMVC 中的webapp目录)

    @RestController

    @RestController注解相当于@ResponseBody + @Controller合在一起的作用。

    如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。在@Restcontroller中,返回的应该是一个对象,即return一个user对象,这时,在没有页面的情况下,也能看到返回的是一个user对象对应的json字符串,而前端的作用是利用返回的json进行解析渲染页面,java后端的代码比较自由。

  • 相关阅读:
    面向报文(UDP)和面向字节流(TCP)的区别
    c++ 字符串和数字拼接
    OpenGL中着色器,渲染管线,光栅化
    阅读计划
    课堂测试
    多态与异常处理
    《大道至简》第七八章读后感
    继承与接口课堂作业
    《大道至简》第六章读后感
    随机数组
  • 原文地址:https://www.cnblogs.com/michaelShao/p/8952158.html
Copyright © 2011-2022 走看看