IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 2021-10-07 JSON数据转换 -> 正文阅读

[Java知识库]2021-10-07 JSON数据转换

什么是 Json

JSON(JvaScript Object Notation)(官网网站:JSON)是 一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。它基于 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使 JSON 成为理想的数据交换语言。

所用架包:

? ? ? ? ? ? ? ? 三个开源包:
?? ??? ??? ??? ?jackson-annotations-2.8.8.jar
?? ??? ??? ??? ?jackson-core-2.8.8.jar
?? ??? ??? ??? ?jackson-databind-2.8.8.jar

? ? ? ? ? ? ? ? 以下为基础包:

????????????????commons-logging-1.2.jar
?? ??? ??? ??? ?spring-aop-4.3.6.RELEASE.jar
?? ??? ??? ??? ?spring-beans-4.3.6.RELEASE.jar
?? ??? ??? ??? ?spring-context-4.3.6.RELEASE.jar
?? ??? ??? ??? ?spring-core-4.3.6.RELEASE.jar
?? ??? ??? ??? ?spring-expression-4.3.6.RELEASE.jar
?? ??? ??? ??? ?spring-web-4.3.6.RELEASE.jar
?? ??? ??? ??? ?spring-webmvc-4.3.6.RELEASE.jar

案例步骤

第一步:创建Web项目,chapter14,并导入相关架包

第二步:再WEB-INF下,创建并配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
   version="3.1" metadata-complete="true">
   	<!-- 配置Spring MVC 前端控制器 -->
   	<servlet>
   		<!-- 配置前端过滤器 -->
   		<servlet-name>springmvc</servlet-name>
   		<servlet-class>
   			org.springframework.web.servlet.DispatcherServlet
   		</servlet-class>
   		<!-- 初始化时加载配置文件 -->
   		<init-param>
   			<param-name>contextConfigLocation</param-name>
   			<!-- Spring MVC配置文件的地址 -->
   			<param-value>classpath:springmvc-config.xml</param-value>
   		</init-param>
   		<!-- 表示容器在启动时立即加载Servlet -->
   		<load-on-startup>1</load-on-startup>
   	</servlet>
   	
   	<!-- 拦截器,这里表示拦截所有请求,并交由DispatcherServlet处理-->
   	<servlet-mapping>  
    <servlet-name>springmvc</servlet-name>  
    <url-pattern>/</url-pattern>  
	</servlet-mapping> 
	
	<!-- 配置Spring提供的编码过滤器 -->
	<!-- 编码过滤器解决了前端页面传入中文数据出现的乱码问题, -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>
			org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
	<filter-name>CharacterEncodingFilter</filter-name>
	<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

第三步:再src下创建并配置springmvc-config.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.3.xsd 
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd 
       ">
        <!-- 定义注解扫描器,指定需要扫描的包 -->
        <context:component-scan base-package="com.itheima.controller"></context:component-scan>
        
              	<!--  -->
      	<!-- 配置注解驱动 -->
      	<mvc:annotation-driven ></mvc:annotation-driven>
      	<!-- 配置静态资源访问映射,此配置中的文件被spring mvc映射访问 -->
  		<mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
        
        <!-- 定义视图解析器 -->
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      		<!-- 设置前缀 -->
      		<property name="prefix" value="/WEB-INF/jsp/"></property>
      		<!-- 设置后缀 -->
      		<property name="suffix" value=".jsp"></property>
      	</bean>

</beans>

第四步:用到的静态资源,在WebContent下创建,js文件夹,并导入jquery-1.11.3.min.js

第五步:在springmvc-config.xml中配置静态资源

<mvc:resources location="/js/" mapping="/js/**"></mvc:resources>

第六步:在src下,创建com.itheima.controller包,并创建User.java

package com.itheima.po;

public class User {
	private String username;
	private String password;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Override
	public String toString() {
		return "User [username=" + username + ", password=" + password + "]";
	}
	
	

}

第七步:在WebContent下创建index.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>测试JSON交互</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
	function testJson() {
		//获取用户名和密码
		var username=$("#username").val();
		var password=$("#password").val();
		$.ajax({
			url:"${pageContext.request.contextPath}/testJson",
			type:"post",
				//date表示发送的数据
			data:JSON.stringify({username:username,password:password}),
			contentType:"application/json;charset=UTF-8",
				//定义回调相应的数据格式为JSON字符串,该属性可以省略
			dataType:"json",
				//成功响应的结果
			success:function(data){
				if(data!=null){
					alert("宁输入的用户名:"+data.username+"密码为:"+data.password)}
				}
				})
	}

</script>

</head>
<body>
	<form>
		用户名:<input type="text" name="username" id="username"/>
		密码:<input type="password"  name="password" id="password"/>
		<input type="button" value="测试Json交互" onclick="testJson()"/>
	</form>
</body>
</html>

?第八步:在src下,创建com.itheima.controller包,并创建UserController控制器

package com.itheima.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.itheima.po.User;

@Controller
public class UserController {
	
	@RequestMapping("/testJson")
	//返回数据时,由于浏览器不认识我没自己创建的User对象,所以需要@ResponseBody转换成json数据
	@ResponseBody
	/*
	 * 因为jsp页面发送过来的是JSON格式的数据,所以这里需要@ResponseBody转换成java对象,即我们创建的对象
	 *注:前端传来的数据名称和后端的数据名称要相同,才可正确匹配到数据
	 */
	public User testJson(@RequestBody User user) {
		//输出接受的JSON格式数据
		System.out.println(user);
		//返回JSON格式的响应
		return user;
	}
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:39:38  更:2021-10-08 11:42:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:20:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码