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后端的代码比较自由。

  • 相关阅读:
    微信小程序
    svn
    当滑动条滑动到某一位置触发js
    css固定页面
    css三级菜单
    h5时钟
    DOM节点
    应用r.js来优化你的前端
    浅谈javascript中的作用域
    javascript 中的 arguments,callee.caller,apply,call 区别
  • 原文地址:https://www.cnblogs.com/michaelShao/p/8952158.html
Copyright © 2011-2022 走看看