美文网首页
SSM框架的(CRUD)_修改_修改完成25

SSM框架的(CRUD)_修改_修改完成25

作者: 念念碎平安夜 | 来源:发表于2020-01-10 10:31 被阅读0次

    一、在web.xml配置过滤器

        <filter>
            <filter-name>HttpPutFormContentFilter</filter-name>
            <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>HttpPutFormContentFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    

    二、控制器代码

        /**
         * 如果直接发送ajax=PUT形式的请求
         * 封装的数据
         * Employee 
         * [empId=1014, empName=null, gender=null, email=null, dId=null]
         * 
         * 问题:
         * 请求体中有数据;
         * 但是Employee对象封装不上;
         * update tbl_emp  where emp_id = 1014;
         * 
         * 原因:
         * Tomcat:
         *      1、将请求体中的数据,封装一个map。
         *      2、request.getParameter("empName")就会从这个map中取值。
         *      3、SpringMVC封装POJO对象的时候。
         *              会把POJO中每个属性的值,request.getParamter("email");
         * AJAX发送PUT请求引发的血案:
         * PUT请求,请求体中的数据,request.getParameter("empName")拿不到
         *      Tomcat一看是PUT不会封装请求体中的数据为map,只有POST形式的请求才封装请求体为map
         * org.apache.catalina.connector.Request--parseParameters() (3111);
         * protected String parseBodyMethods = "POST";
         * if( !getConnector().isParseBodyMethod(getMethod()) ) {
                    success = true;
                    return;
                }
                解决方案;
         * 我们要能支持直接发送PUT之类的请求还要封装请求体中的数据
         * 1、配置上HttpPutFormContentFilter;
         * 2、他的作用;将请求体中的数据解析包装成一个map。
         * 3、request被重新包装,request.getParameter()被重写,就会从自己封装的map中取数据
         * 员工更新方法
         * @param employee
         * @return
         */
        @ResponseBody
        @RequestMapping(value="/emp/{empId}",method=RequestMethod.PUT)
        public Msg saveEmp(Employee employee){
            employeeService.updateEmp(employee);
            return Msg.success();
        }
    

    相关文章

      网友评论

          本文标题:SSM框架的(CRUD)_修改_修改完成25

          本文链接:https://www.haomeiwen.com/subject/wpskactx.html