栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC学习笔记(八)—— RESTFul案例-实现增删改查

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC学习笔记(八)—— RESTFul案例-实现增删改查

08、RESTFul案例 8.1、准备工作

和传统 CRUD 一样,实现对员工信息的增删改查。

1、新建module --> springMVC-rest

2、配置xml文件

【web.xml】



    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceResponseEncoding
            true
        
    
    
        CharacterEncodingFilter
        /*
    

    
    
        HiddenHttpMethodFilter
        org.springframework.web.filter.HiddenHttpMethodFilter
    
    
        HiddenHttpMethodFilter
        /*
    

    
    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:springMVC.xml
        
        1
    
    
        DispatcherServlet
        /*
    

【springMVC.xml】




    
    


    
    
        
        
        
            
                
                    
                        
                        
                        
                        
                        
                        
                    
                
            
        
    

3、准备实体类

【Employee.java】

public class Employee {
    private Integer id;
    private String lastName;
    private String email;
    private Integer gender;//1:male 0:female

    public Employee() {
    }

    public Employee(Integer id, String lastName, String email, Integer gender) {
        this.id = id;
        this.lastName = lastName;
        this.email = email;
        this.gender = gender;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }
}

4、准备dao模拟数据

【EmployeeDAO.java】

@Repository
public class EmployeeDAO {
    private static Map employees = null;

    static {
        employees = new HashMap();
        employees.put(1001,new Employee(1001,"E-AA","aa@163.com",1));
        employees.put(1002,new Employee(1002,"E-BB","bb@163.com",1));
        employees.put(1003,new Employee(1003,"E-CC","cc@163.com",0));
        employees.put(1004,new Employee(1004,"E-DD","dd@163.com",0));
        employees.put(1005,new Employee(1005,"E-EE","ee@163.com",1));
    }

    private static Integer initId = 1006;

    public void save(Employee employee) {
        if (employee.getId() == null) {
            employee.setId(initId++);
        }
        employees.put(employee.getId(), employee);
    }

    public Collection getAll() {
        return employees.values();
    }

    public Employee get(Integer id) {
        return employees.get(id);
    }

    public void delete(Integer id) {
        employees.remove(id);
    }
}
8.2、功能清单
功能URL地址请求方式
访问首页/GET
查询全部数据/employeeGET
删除/employee/2DELETE
跳转到添加数据页面/toAddGET
执行保存/employeePOST
跳转到更新数据页面/employee/2GET
执行更新/employeePUT
8.3、功能实现 8.3.1、访问页面

1、配置view-controller

【springMVC.xml】






2、创建页面

【index.html】




    
    首页


首页

查看员工信息
8.3.2、查询所有员工数据

1、控制器方法

【EmployeeController.java】

@Controller
public class EmployeeController {

    @Autowired
    public EmployeeDAO employeeDAO;

    //@GetMapping("/employee")
    @RequestMapping(value = "employee", method = RequestMethod.GET)
    public String getAllEmployee(Model model){
        Collection employeeList = employeeDAO.getAll();
        model.addAttribute("employeeList", employeeList);

        return "employee_list";
    }
}

【employee_list.html】




    
    Employee_Info


    
Employee Info
id lastName email gender options
delete  update
3.3.3、删除

1、创建处理delete请求方式的表单



2、删除超链接绑定点击事件

(1)引入vue.js


(2)删除超链接

delete 

(3)通过vue处理点击事件


3、执行删除

【EmployeeController.java】

@Controller
public class EmployeeController {

    @Autowired
    public EmployeeDAO employeeDAO;

    @RequestMapping(value = "/employee/{id}",method = RequestMethod.DELETE)
    public String deleteEmployee(@PathVariable("id") Integer id) {
        System.out.println(id);
        employeeDAO.delete(id);
        return "redirect:/employee";
    }
}

4、开放对静态资源的访问

【springMVC.xml】



3.3.4、添加

1、配置view-controller

【springMVC.xml】


2、创建添加页面

【employee_add.html】




    
    add employee


    
lastName:
email:
gender:male female

3、执行添加

【EmployeeController.java】

@Controller
public class EmployeeController {

    @Autowired
    public EmployeeDAO employeeDAO;

    @RequestMapping(value = "/employee",method = RequestMethod.POST)
    public String addEmployee(Employee employee) {
        employeeDAO.save(employee);
        return "redirect:/employee";
    }
}
3.3.5、修改

1、修改超链接

update

2、跳转到修改页面

【EmployeeController.java】

@RequestMapping(value = "/employee/{id}",method = RequestMethod.GET)
public String getEmployeeById(@PathVariable("id") Integer id, Model model) {
    Employee employee = employeeDAO.get(id);
    model.addAttribute("employee", employee);
    return "employee_update";
}

3、创建修改页面

【employee_update.html】




    
    update employee


    
lastName:
email:
gender:male female

4、执行更新

【EmployeeController.java】

@Controller
public class EmployeeController {

    @Autowired
    public EmployeeDAO employeeDAO;

    @RequestMapping(value = "/employee", method = RequestMethod.PUT)
    public String updateEmployee(Employee employee) {
        employeeDAO.save(employee);
        return "redirect:/employee";
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号