三分钟搞定分布式结构服务部署发布,JSON详解

contextConfigLocation

classpath:springmvc-servlet.xml

1

SpringMVC

/

2、配置springmvc-servlet.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:context=“http://www.springframework.org/schema/context”

xmlns:mvc=“http://www.springframework.org/schema/mvc”

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

https://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/mvc

https://www.springframework.org/schema/mvc/spring-mvc.xsd">

<context:component-scan base-package=“com.sqx.controller”/>

<mvc:default-servlet-handler />

<mvc:annotation-driven />

<bean class=“org.springframework.web.servlet.view.InternalResourceViewResolver”

id=“internalResourceViewResolver”>

3、配置pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns=“http://maven.apache.org/POM/4.0.0”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

Json和Ajax笔记

org.example

1.0-SNAPSHOT

4.0.0

Json篇

org.springframework

spring-webmvc

5.2.0.RELEASE

com.fasterxml.jackson.core

jackson-databind

2.10.0

src/main/java

**/*.properties

**/*.xml

false

src/main/resources

**/*.properties

**/*.xml

false

Controller测试

@Controller

public class JsonController {

//一般情况下我们的请求会被视图解析器解析,返回结果,但是此处我们需要的时返回一个JSON格式的js对象

//市面上很多第三方jar包可以实现,jackson、FastJson(阿里巴巴)

//@ResponseBody 可以直接将服务器响应的对象转换为json格式返回!

@RequestMapping(“/json1”)

@ResponseBody

public String json1() throws JsonProcessingException {

System.out.println(“成功进入请求”);

//需要一个Json的对象映射器,使用它可以直接将java对象转换为json格式的字符串

ObjectMapper objectMapper = new ObjectMapper() ;

User user = new User(“松崎乡”, 20, “男”);

String str = objectMapper.writeValueAsString(user);

return str ;

}

}

@Controller + @ResponseBody == @RestController

**测试结果: **

1、JSON数据出现乱码问题

发现结果乱码了{“name”:“???”,“age”:20,“sex”:“?”},如何解决?

、

1、方法一

修改@RequestMapping即可

@RequestMapping(value=“/json2”,produces = “application/json;charset=utf-8”)

缺点:每次请求都需要设置,麻烦

2、方法二

乱码统一解决,在springmvc-servlet.xml中添加如下一段

mvc:annotation-driven

<mvc:message-converters register-defaults=“true”>

</mvc:message-converters>

</mvc:annotation-driven>

如果我们json是返回的数组或集合我们可以用https://www.sojson.com/解析JSON的格式

2、时间格式问题

默认我们的mapper会将时间Date解析为一个时间戳,我们需要为其设置时间格式

@RequestMapping(value=“/time4”)

@ResponseBody

public String json4() throws JsonProcessingException {

//需要一个Json的对象映射器,使用它可以直接将java对象转换为json格式的字符串

ObjectMapper objectMapper = new ObjectMapper() ;

objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false) ; //关闭时间戳

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd HH-mm-SS”);

objectMapper.setDateFormat(simpleDateFormat); // 为解析器设置时间规则

Date date = new Date(); //默认返回的是时间戳

String str = objectMapper.writeValueAsString(date);

return str ;

}

结果

三、编写工具类


我们发现代码复用太多,封装一个工具类

public class JsonUtils {

//使用默认时间戳

public static String getJson(Object obj){

//需要一个Json的对象映射器,使用它可以直接将java对象转换为json格式的字符串

ObjectMapper objectMapper = new ObjectMapper() ;

objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false) ; //关闭时间戳

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd HH-mm-SS”);

objectMapper.setDateFormat(simpleDateFormat); // 为解析器设置时间规则

String str = null;

try {

str = objectMapper.writeValueAsString(obj);

} catch (JsonProcessingException e) {

e.printStackTrace();

}

return str ;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

面试题文档来啦,内容很多,485页!

由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。

1111道Java工程师必问面试题

MyBatis 27题 + ZooKeeper 25题 + Dubbo 30题:

Elasticsearch 24 题 +Memcached + Redis 40题:

Spring 26 题+ 微服务 27题+ Linux 45题:

Java面试题合集:

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
部分内容展示。**

1111道Java工程师必问面试题

[外链图片转存中…(img-vArAYtLX-1713441585146)]

MyBatis 27题 + ZooKeeper 25题 + Dubbo 30题:

[外链图片转存中…(img-nQfENIFL-1713441585146)]

Elasticsearch 24 题 +Memcached + Redis 40题:

[外链图片转存中…(img-bBryakFy-1713441585147)]

Spring 26 题+ 微服务 27题+ Linux 45题:

[外链图片转存中…(img-DQ3EYIqs-1713441585147)]

Java面试题合集:

[外链图片转存中…(img-KIYMCvtI-1713441585147)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值