springboot封装JsonUtil,CookieUtil工具类代码实例

yizhihongxing

下面开始讲解"Spring Boot封装JsonUtil,CookieUtil工具类代码实例"的攻略,主要包含以下几步:

1. 创建工具类文件

在src/main/java目录下创建一个名为utils的包,然后在该包下创建两个工具类文件:JsonUtil和CookieUtil。

1.1 JsonUtil

JsonUtil用于将Java对象与Json数据相互转换,示例代码如下:

package com.example.demo.utils;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;

public class JsonUtil {
    private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);

    private static final ObjectMapper objectMapper = new ObjectMapper();

    public static String toJsonString(Object object) {
        try {
            return objectMapper.writeValueAsString(object);
        } catch (JsonProcessingException e) {
            logger.error("Object to JSON String error:", e);
            return null;
        }
    }

    public static <T> T toObject(String jsonString, Class<T> clazz) {
        try {
            return objectMapper.readValue(jsonString, clazz);
        } catch (IOException e) {
            logger.error("JSON String to Object error:", e);
            return null;
        }
    }
}

1.2 CookieUtil

CookieUtil用于操作Cookie,示例代码如下:

package com.example.demo.utils;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CookieUtil {
    public static void addCookie(HttpServletResponse response, String name, String value, int maxAge) {
        Cookie cookie = new Cookie(name, value);
        cookie.setMaxAge(maxAge);
        cookie.setPath("/");
        response.addCookie(cookie);
    }

    public static Cookie getCookie(HttpServletRequest request, String name) {
        Cookie[] cookies = request.getCookies();
        if (cookies != null && cookies.length > 0) {
            for (Cookie cookie : cookies) {
                if (cookie.getName().equals(name)) {
                    return cookie;
                }
            }
        }
        return null;
    }

    public static void removeCookie(HttpServletResponse response, HttpServletRequest request, String name) {
        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                if (cookie.getName().equals(name)) {
                    cookie.setMaxAge(0);
                    cookie.setPath("/");
                    response.addCookie(cookie);
                }
            }
        }
    }
}

2. 使用工具类

在工程中需要用到工具类的地方,只需要import相应的类即可使用,例如:

2.1 使用JsonUtil转换对象与Json字符串

package com.example.demo.service;

import com.example.demo.entity.User;
import com.example.demo.utils.JsonUtil;

public class UserService {
    public void test() {
        User user = new User();
        user.setId(1);
        user.setUsername("Tom");
        user.setPassword("123456");
        String jsonString = JsonUtil.toJsonString(user); // 将对象转换为Json字符串
        System.out.println(jsonString);
        User user1 = JsonUtil.toObject(jsonString, User.class); // 将Json字符串转换为对象
        System.out.println(user1.getUsername());
    }
}

2.2 使用CookieUtil操作Cookie

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.utils.CookieUtil;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UserController {
    public void login(HttpServletRequest request, HttpServletResponse response, User user) {
        // 登录成功后将用户信息存入Cookie,时长为30分钟
        CookieUtil.addCookie(response, "user", JsonUtil.toJsonString(user), 30 * 60);
    }

    public User getUser(HttpServletRequest request) {
        // 从Cookie中读取用户信息
        Cookie cookie = CookieUtil.getCookie(request, "user");
        if (cookie != null) {
            String userJson = cookie.getValue();
            return JsonUtil.toObject(userJson, User.class);
        }
        return null;
    }

    public void logout(HttpServletRequest request, HttpServletResponse response) {
        // 从Cookie中删除用户信息
        CookieUtil.removeCookie(response, request, "user");
    }
}

以上就是使用Spring Boot封装JsonUtil、CookieUtil工具类的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot封装JsonUtil,CookieUtil工具类代码实例 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • SpringMVC表单标签知识点详解

    SpringMVC表单标签知识点详解 SpringMVC 表单标签是一组用于处理表单数据的标签,它们可以帮助我们更方便地处理表单数据。本文将详细讲解 SpringMVC 表单标签的知识点,并提供两个示例说明。 SpringMVC 表单标签 SpringMVC 表单标签包括以下标签: <form:form>:用于创建表单。 <form:inp…

    Java 2023年5月18日
    00
  • SpringBoot服务开启后通过端口访问无反应的解决

    当使用SpringBoot开发Web服务时,有可能会出现服务开启后通过端口访问无反应的情况。这种情况通常是由于SpringBoot应用程序对于端口没有正确绑定造成的。以下是详细讲解如何解决这种情况的完整攻略: 1. 确认端口是否被占用 首先,需要检查所使用的端口是否被其他进程占用。可以使用以下命令检查端口占用情况: netstat -ano | findst…

    Java 2023年6月16日
    00
  • Android监听事件

    监听事件 ​ 监听事件机制由事件源,事件和事件监听器三类对象组成,事件源一般就是activity中的UI控件。 下面引用别人整理的图来更加形象的表达这些关系。 ​ 事件监听机制的意义就是让事件源的行为委托给事件监听器,让监听器控制事件的发生。 ​ 1.实现监听事件的方法 通过内部类实现 通过匿名内部类实现(大部分都是这样用) 通过事件源所在类实现 也可以直接…

    Java 2023年4月27日
    00
  • Java开发中最让人头疼的十个bug

    关于“Java开发中最让人头疼的十个 bug”的攻略,我会以下方式进行详细讲解: 一、前言 Java 是一种具有广泛应用的编程语言,然而,在 Java 开发过程中,也会出现一些 bug。接下来我们会详细讲解 Java 开发中最让人头疼的十个 bug 及其解决方法。 二、 Java 开发中最让人头疼的十个 bug 1. 空指针异常 在 Java 中,空指针异常…

    Java 2023年5月26日
    00
  • 浅析AJAX乱码及错误解决方案

    下面给出浅析AJAX乱码及错误解决方案的完整攻略。 理解AJAX乱码产生的原因 在使用AJAX过程中,当后台数据返回为非UTF-8编码格式时,中文字符就会出现乱码。这种情况出现是因为浏览器默认将AJAX的编码格式设置为“ISO-8859-1”,而在后台返回数据未使用UTF-8编码格式的时候,字符就会出现乱码。 AJAX乱码解决方案 1.在后台数据处理时修改编…

    Java 2023年6月15日
    00
  • 图书管理系统java版

    “图书管理系统java版”完整攻略 1. 简介 “图书管理系统java版”是一个用Java语言开发的图书管理系统,旨在提供一个方便管理图书信息的工具,可实现添加、删除、修改、查询等功能。 2. 环境搭建 在开始使用“图书管理系统java版”之前,需要先搭建Java环境和数据库环境。具体步骤如下: 下载安装Java开发工具包(JDK),建议使用最新版本。 下载…

    Java 2023年5月20日
    00
  • SpringMVC适配器模式作用范围介绍

    SpringMVC适配器模式作用范围介绍 在SpringMVC中,适配器模式是一个非常重要的设计模式,它可以帮助我们将不同类型的请求映射到不同的处理器方法上。本文将介绍适配器模式的作用范围,并提供两个示例说明。 适配器模式的作用范围 适配器模式的作用范围主要包括以下几个方面: 请求类型:适配器模式可以将不同类型的请求(如GET、POST、PUT、DELETE…

    Java 2023年5月17日
    00
  • SpringBoot快速入门及起步依赖解析(实例详解)

    SpringBoot快速入门及起步依赖解析 SpringBoot是一个快速构建基于Spring的应用程序的框架。在本文中,我们将为您介绍如何快速入门以及如何使用起步依赖项。 快速入门 在使用SpringBoot之前,我们需要首先配置Maven或者Gradle来构建我们的应用程序。这里我们以Maven为例。 创建一个maven项目 使用Maven创建一个新项目…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部