做的功能如下所示:
一、基于restful页面数据交互(后台接口开发)
SpringMvcConfig:
ServletContainersInitConfig:
controller包下含有bean注解的对象:
BookController:(REST风格)
package com.itheima.controller;
import com.itheima.domain.Book;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@RestController // 合二为一:@Controller和@ResponseBody注解
@RequestMapping(value = "/books") // 简化的访问资源路径注解
public class BookController {
@PostMapping // Restful风格访问的路径简化method(忘记的话看前面笔记)
public String save(@RequestBody Book book){ // @RequestBody: json数据的转换注解
System.out.println("book save ====>" +book);
return "{'module':'book save success'}"; // 响应给前端的成功标识
}
@GetMapping
public List getAll(){
Book book =new Book();
book.setType("计算机");
book.setName("SpringMvc入门课程");
book.setDescription("小试牛刀");
Book book1 = new Book();
book1.setName("计算机");
book1.setName("SpringMvc实践课程");
book1.setDescription("一代宗师");
// 把查询出来的数据封装到List集合中返回给前端
List bookList = new ArrayList();
bookList.add(book);
bookList.add(book1);
return bookList;
}
}
前端访问后端保存功能路径如下所示:
前端访问后端查询所有功能路径如下所示:
二、基于restful页面数据交互(前端页面访问处理)我们开启服务器进行访问前端页面的时候:思考会出现什么问题
我们可以看出,当访问前端页面的时候,前端会404,并且后端会出现[WARNING]警告提示
思考:为什么会出现这种情况呢?
就是因为这个方法把客户端所有的请求都归属到springmvc管理了,而前端访问请求路径:
我们知道这种请求是get方式的请求(在URL地址栏中明着写的都是get请求方式),所以当访问前端路径的时候,下面的这个方法就把该路径交给springmvc进行处理了,而springmvc认为这是一个简单的get请求路径,所以找不到路径就报404了
因此解决方法如下所示:
配置一个过滤对象(并注解成bean形式):
我们开启服务器再次进行访问前端页面的时候:会发现能访问到前端页面了
=========================================================================
books.html:
SpringMVC案例
图书管理
查询
新建
编辑
删除
取消
确定



