SpringBoot入门系列~SpringBoot注解使用

@Controller    SpringMvc中经常用到,主要是用来处理http请求

4.0重要的一个新的改进是@RestController注解,它继承自@Controller注解。4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet。
当你实现一个RESTful web services的时候,response将一直通过response body发送。为了简化开发,Spring 4.0提供了一个专门版本的controller

@RestController相当于ajax请求,省略了@responsebody这个注解

1、SpringBoot与前端交互:Freemarker 模板引擎

步骤:需要在pom.xml添加Freemarker依赖

<!-- 添加freemarker 模板引擎的支持 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

通过alt+/快捷键搜索即可添加依赖

2、创建Controller返回视图页面

package com.sun.spring.boot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

/**
 * 学生基本信息控制器
* @ClassName: StudentInfoController  
* @author sunt  
* @date 2017年11月7日 
* @version V1.0
 */
@RestController
@RequestMapping(value = "/stu")
public class StudentInfoController {

    /**
     * Spring注解说明
     * @Controller    处理http请求
     * 4.0重要的一个新的改进是@RestController注解,它继承自@Controller注解。4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet。
     * 当你实现一个RESTful web services的时候,response将一直通过response body发送。为了简化开发,Spring 4.0提供了一个专门版本的controller
     */
    
    /**
     * 模板页面的跳转
    * @Title: showStuInfo 
    * @author sunt  
    * @date 2017年11月7日
    * @return ModelAndView
     */
    @RequestMapping(value = "/stuInfo")
    public ModelAndView showStuInfo() {
        ModelAndView modelAndView = new ModelAndView();
        
        modelAndView.addObject("stuInfo", "展示学生基本信息");
        modelAndView.setViewName("stuInfo");
        return modelAndView;
    }
    
}

在模板文件夹下新建一个stuInfo.ftl模板文件

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生基本信息</title>
</head>
<body>
    <center>
        <h2>学生基本信息</h2>
        <span>${stuInfo}</span><br />
    </center>
</body>
</html>

3、请求后台直接响应数据到模板页面

4、测试发送ajax请求

后台代码:

/**
     * 测试ajax请求,通过@RestController响应数据到前端展示
    * @Title: showMsg 
    * @author sunt  
    * @date 2017年11月7日
    * @return String
     */
    @RequestMapping("/ajaxShowMsg")
    public String showMsg() {
        
        return "{'resCode' : 1, 'resMsg' : '数据加载成功!'}";
    }

前台引入jquery.js,发送ajax请求

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生基本信息</title>
<script type="text/javascript" src="../jquery-1.7.1.min.js"></script>
<script type="text/javascript">
    $(function() {
        $('#js-ajax-test').on('click', function() {
            $.ajax({
                url : './ajaxShowMsg',
                success : function(resData) {
                    alert('后台响应的数据:' + resData);
                }
            });
        });
    });
</script>
</head>
<body>
    <center>
        <h2>学生基本信息</h2>
        <span>${stuInfo}</span><br />
        <button id="js-ajax-test">测试ajax请求</button>
    </center>
</body>
</html>

响应数据:

源码下载地址:svn://gitee.com/SunnySVN/SpringBoot

posted @ 2017-11-07 17:15  sunny1009  阅读(200)  评论(0)    收藏  举报