springMVC json

     现在,在网页开发中,AJAX局部更新必不可少,在springMVC中为开发者提供了一种简洁的实现不同数据格式交互的机制(JSON,xml),springMVC主要利用类型转换器(mrssageConverters)将前台信息转换成开发者需要的格式。然后在相应的Controller方法接收参数前添加@requestBody注解,进行数据转换,或者在方法的返回值类型处添加@ResponseBody注解,将返回信息转换为相关格式的数据。

1.导包

  jackson-core-asl.jar

  jackson-mapper-asl.jar

2.编写Controller方法

    @Controller
    public class JsonController {

     @RequestMapping(value="json.action")

     @ResponseBody
     public  String jsonController(@RequestBody String data){
             System.out.println(data);
            return data;
     }
    }

3.编写jsp文件

<textarea id="jsonArea" placeholder="请输入json文本" style="width: 300px; height: 200px;"></textarea><br />
<button onclick="submitMsg()">提交</button><br>
<div id="area"></div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
function submitMsg(){
         var value = $("#jsonArea").val();
         $.ajax({
              type:"post",
              url:"json.action",
              contentType:"application/json;charset=utf-8",
              data:value,
              success:function(data){
              alert(data);
              $("#area").html(data);
             }
         });
     }
</script>

在这里因为使用了jq框架,所以需要连接jq包,在这里需要注意一点的是:因为我们平常开发的时候,我们的配置文件都不会直接放在src路径下,而是会新创一个config文件夹存放配置文件,在web.xml中初始化配置文件,也就是在web.xml中servlet标签中添加了

<init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:springmvc.xml</param-value>
</init-param>

会连接不上css,或者jq,或者图片文件,此时,我们需要在web.xml文件中添加

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>


<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>

就可以连接到js或者css文件,图片同理。

最后还有一个就是因为spring默认使用的一个编码是ISO-8859-1,所以json响应网页的时候,网页接收到json字符串会出现中文乱码,在springMVC的配置文件中添加

<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="utf-8"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>

即可解决乱码问题

猜你喜欢

转载自www.cnblogs.com/lihaitao33/p/8971233.html
今日推荐