1.相关控制类
package com.hwy.controller;
import com.hwy.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/rest")
public class RestController {
//查询
@GetMapping("/user/{id}")
public String get(@PathVariable("id") String id){
System.out.println("查询"+id);
return "/index.jsp";
}
//修改
@PutMapping("/user/{id}")
public String update(User user){
System.out.println("修改"+user);
return "/index.jsp";
}
//删除
@DeleteMapping("/user/{id}")
public String delete(@PathVariable("id") String id){
System.out.println("删除"+id);
return "redirect:/index.jsp";
}
//新增
@PostMapping("/user")
public String add(User user){
System.out.println("新增"+user);
return "redirect:/index.jsp";
}
}
-
用户Rest风格CRUD
-
form表单提交PUT和DELETE出现问题:会将PUT和DELETE作GET提交,因为HTML现在无法支持PUT和DELETE:
-
解决方案:
-
1.需要添加HiddenHttpMethodFilter过滤器
-
2.在表单中添加一个隐藏域 value就是对应的请求方式
-
3.将form的表单设置POST
-
tomcat7以上的版本对request.method更加严格:只支持 GET/POST
-
解决方案:
-
1.使用tomcat7
-
2.不用转发,使用重定向
-
3.自定义一个过滤器
2.jsp类
<%--
Created by IntelliJ IDEA.
User: MSI-NB
Date: 2021/12/9
Time: 19:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<% request.setAttribute("basepath",request.getContextPath());%>
Title
3.XML
hiddenHttpMethod
org.springframework.web.filter.HiddenHttpMethodFilter
hiddenHttpMethod
springmvc
静态资源的处理
springmvc.xml中配置



