博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC学习笔记之---RESTful风格
阅读量:4692 次
发布时间:2019-06-09

本文共 5713 字,大约阅读时间需要 19 分钟。

RESTful风格

(一)什么是RESTful

(1)RESTful不是一套标准,只是一套开发方式,构架思想

(2)url更加简洁

(3)有利于不同系统之间的资源共享

(二)概述

RESTful具体来讲就是HTTP协议的四种形式,四种基本操作

GET:获取资源

POST:新建资源

PUT:修改资源

DELETE:删除资源

(三)实例

(1)功能

1.数据的增删改查

2.controller层的应用

3.HTTP四种基本操作的应用

(2)代码实现

1.pom.xml

junit
junit
4.11
org.springframework
spring-webmvc
5.1.3.RELEASE
javax.servlet
jstl
1.2

 

2.web.xml

Archetype Created Web Application
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
SpringMVC
/
hiddenHttpMethodFilter
org.springframework.web.filter.HiddenHttpMethodFilter
hiddenHttpMethodFilter
/*

 

3.springmvc.xml

 

4.User.java

package entiry;public class User {    private int id;    private String name;    private String password;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return "User{" +                "id=" + id +                ", name='" + name + '\'' +                ", password='" + password + '\'' +                '}';    }}

 

5.UserDao.java

package dao;import entiry.User;import org.springframework.stereotype.Repository;import java.util.Collection;import java.util.HashMap;import java.util.Map;@Repositorypublic class UserDao {    private Map
map=new HashMap
(); /** * 增加 * @param user */ public void add(User user){ map.put(user.getId(),user); } /** * 查询所有 * @return */ public Collection
selectAll(){ return map.values(); } /** * 通过id查询 * @param id * @return */ public User select(int id){ return map.get(id); } /** * 修改 * @param user */ public void update(User user){ map.put(user.getId(),user); } /** * 删除 * @param id */ public void delete(int id){ map.remove(id); }}

 

6.UserController.java

package controller;import dao.UserDao;import entiry.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class UserController {    @Autowired    private UserDao userDao;    @PostMapping("/add")    public String add(User user){       userDao.add(user);       //重定向到selectAll       return "redirect:/selectAll";    }    @GetMapping("/selectAll")    public ModelAndView selectAll(){        ModelAndView modelAndView=new ModelAndView();        modelAndView.addObject("users",userDao.selectAll());        modelAndView.setViewName("select");        for(User user:userDao.selectAll()){            System.out.println(user);        }        return modelAndView;    }    @GetMapping("/select/{id}")    public ModelAndView select(@PathVariable(value="id") int id){        ModelAndView modelAndView=new ModelAndView();        modelAndView.setViewName("update");        modelAndView.addObject("user",userDao.select(id));        return modelAndView;    }    @PutMapping("/update")    public String update(User user){        userDao.update(user);        return "redirect:/selectAll";    }    @DeleteMapping("/delete/{id}")    public String delete(@PathVariable(value="id")int id){        userDao.delete(id);        return "redirect:/selectAll";    }}

 

7.add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    Title
id:
用户名:
密码:

 

8.select.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@page isELIgnored="false" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>    Title
id 用户名 密码
${user.id} ${user.name} ${user.password}

 

9.update.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    Title
id
用户名
密码

 

转载于:https://www.cnblogs.com/dyddzhp/p/11327716.html

你可能感兴趣的文章
file的getPath getAbsolutePath和getCanonicalPath的不同
查看>>
课时4—切入切出动画
查看>>
eclipse 编辑 python 中文乱码的解决方案
查看>>
Python 爬虫的集中简单方式
查看>>
数据库MySQL/mariadb知识点——触发器
查看>>
Ubuntu做Tomcat服务:insserv: warning: script 'tomcat' missing LSB tags and overrides
查看>>
Binary Agents
查看>>
入门Webpack,看这篇就够了
查看>>
短信拦截马”黑色产业链与溯源取证研究
查看>>
Mac Xdebug安装时遇到了Zend Engine API 不一致的问题
查看>>
最小公倍数
查看>>
asp.net如何定时执行任务
查看>>
在github上实现页面托管预览功能
查看>>
css选择器
查看>>
prim
查看>>
给陌生人写一封信
查看>>
noip2013花匠
查看>>
[CF]Equalize Them All
查看>>
React Ant design table表单与pagination分页配置
查看>>
重大发现: windows下C++ UI库 UI神器-SOUI(转载)
查看>>