SSM框架@responBody和requestBody简单用法

1、首先对fastjson进行包导入并且在Spring配置文件中进行配置

<mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

2、举例:

在后台代码中

    @RequestMapping("/check")
    @ResponseBody
    public String checkLogin(@RequestBody User user,HttpServletRequest request) throws UnsupportedEncodingException, NoSuchAlgorithmException {
        System.out.println(user.toString());
        if(user!=null){

                return "login_succ";
            }else{
        
                return "login_fail";
            }
    }

在jsp页面中


 var ds = {};
 ds.username=user;
 ds.password=pwd;
$.ajax({
    type:"POST",
    url:"/login/check",
    contentType : 'application/json',
    data:JSON.stringify(ds),
    success:function (data) {
        if(data=="login_succ"){
           window.location.href="/user/home";
        }else{
            $("#login_error").css("visibility","visible");
        }
    },
    error : function(data){
        alert(data.status);
    }
});

上述中

JSON.stringify()方法不可缺

contentType:'application/json' 不可缺

@RequestBody不可缺


这就是javaBean 获取方式,如果缺了上面的其中一种,那就用request.getParameter接受吧,如果参数过多那就得写许多request.getXXX 方法。

原文地址:https://www.cnblogs.com/liclBlog/p/15349578.html