Java Web项目中无效数据怎样处理?

news2024/11/20 1:41:32

最近在做一个java web项目(自己随便想的),遇到一个这个的需求,就是从后台数据库根据用户id数据查询用户信息给前端用作个人主页展示吧!,但是后台数据库中用户信息中是有密码字段(虽然进行了加密处理)的,对于这个密码数据,很明显在这个需求上是不需要,为此个人觉得这是一个无效数据,如果把这个数据也传给前端,万一被人破解了加密数据呢?(这只是举个例子而已,虽然觉得这样也毫无意义,但是别人可不是这样认为的)。

Java Web项目中无效数据怎样处理?

        • 1. 举个例子
        • 2. 总结

1. 举个例子

我的解决方法是在mapper.xml映射文件中不传回密码字段即可,如下:

<resultMap id="userMap2" type="User">
   <id column="u_id" property="uId"/>
    <result column="u_account_name" property="uAccountName"/>
    <result column="u_email" property="uEmail"/>
    <result column="u_name" property="uName"/>
</resultMap>

<select id="selectById" resultMap="userMap2">
    select u_id, u_account_name, u_email, u_name
     from user where u_id = #{uId}
 </select>

后台返回给前端数据:
请添加图片描述

这个uPassword字段为空。
这样做显得这个链接的后台sql查询语句中的确查询了u_password这个字段,但是映射上没有给而已,从而返回结果中uPassword这个字段,但是结果为null。个人觉得也可以再写一个实体类,这个实体类缺少uPassword这个变量,映射文件基本差不多,这样返回结果中就没有这个uPassword字段了。当然,第1种方式再进行处理一下,也行。

package com.example.demo.entity;

import lombok.Data;
import lombok.ToString;

@Data
@ToString
public class User2 {
    private Integer uId;
    private String uAccountName;
    private String uEmail;
    private String uName;
}

映射文件

<resultMap id="userMap3" type="User2">
    <id column="u_id" property="uId"/>
    <result column="u_account_name" property="uAccountName"/>
    <result column="u_email" property="uEmail"/>
    <result column="u_name" property="uName"/>
</resultMap>

<select id="selectById2" resultMap="userMap3">
   select u_id, u_account_name, u_email, u_name
    from user where u_id = #{uId}
</select>

请添加图片描述
在第1中方式的基础上进行处理,直接利用JSONArray包的方法进行处理,返回结果(字符串)也行.
请添加图片描述
【注】:输出结果中第一个为map对象,可以看到uPassword字段值为null,但是转为json数据之后,把值为null的键过滤掉了,从而结果没有这个字段uPassword。

package com.example.demo.utils;


import com.alibaba.fastjson2.JSONArray;
import java.util.HashMap;

public class MessgaeUtils {
    // 将map对象转换成json对象
    public static String getObjStr(HashMap<String,Object> map){
        return JSONArray.toJSONString(map);
    }
}

发现使用这个方法,可以对map对象中值为null进行过滤处理。
请添加图片描述

2. 总结

上面只是举个例子,像查询用户信息的接口个人觉得uPassword个人觉得都不应该返回给前端的(过去个人刚学习的时候,把这个数据返回给了前端,现在想起来感觉很好笑,当时这个数据还没有加密处理,也就是明文,别人懂一些这个知识的,很容易就把我的账号或者其他人的账号盗取了),也有其他很多数据,也不需要传回给前端(比如一个管理系统中,查询用户年龄大于多少的用户信息,不需要把用户头像存储路径返回给前端,应为作为后台管理系统的前端在这里的需求是看用户数据,至于用户头像并不怎么关注,而对于个人主页而言,用户头像存储路径则最好返回给前端,除非没有这个字段,这样显得美观一些吧!后台管理的界面看重的是数据,而网页界面可以更看重美观与功能便捷吧!),但是这些无效数据返回前端,一旦总的数据数据很大,那么必然会影响到界面的响应速度的,所以处理好这些无效数据是很有必要的。当然,这毕竟是我的个人见解,欢迎各位大佬评论指正哈!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/542893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个玩游戏的失足青年,转行做编程到教育的挣扎过程(3/4)

有一个人&#xff0c;从小的心愿是当一名飞行员&#xff0c;终于有一天他当上了飞行员。 但是&#xff0c;他第一次飞行时&#xff0c;飞机就出事了。 好在他能够跳伞。但是&#xff0c;降落却是坏的&#xff0c;打不开...... 突然&#xff0c;他看见了在正下方的地上&#xff…

声音生成——将Autoencoder修改成Variant Autoencoder在mnist训练

文章目录 概述VariantAutoencoder.py文件实现关闭eager execution修改bottlenectk组件修改loss损失函数VariantAutoencoder.py实现的全部代码 train.py文件实现load_mnist模块train模块完整代码执行效果 总结Analysis代码 概述 之前的一篇文章中&#xff0c;介绍了如何实现aut…

if

[rootes3 data]# cat ifaction.sh #!/bin/bash#********************************************************************read -p "请输入身高(m为单位): " HIGH if [[ ! "$HIGH" ~ ^[0-2](\.[0-9]{,2})?$ ]];then echo "输入错误的身高!" exit…

面试字节,简历做了点手脚,第三方背调公司查出来了,被撤销offer!

简历做了手脚被查出来&#xff0c;怎么办&#xff1f; 一位面试字节的程序员哀叹&#xff1a; 运气差&#xff0c;在简历上做了点手脚&#xff0c;被第三方背调查出来了&#xff0c;只能等着被通知撤销offer&#xff01; 有人说&#xff0c;现在背调查的可严格了&#xff0c;字…

Robust 2.0:支持Android R8的升级版热修复框架

2016年&#xff0c;我们对美团Android热更新方案Robust的技术原理做了详细介绍。近几年&#xff0c;Google 推出了新的代码优化混淆工具R8&#xff0c;Android 热修复补丁制作依赖二次构建包和线上包对比&#xff0c;需要对Proguard切换到R8提前进行适配和改造&#xff0c;本文…

鄞州银行:符合中小银行质量提升的数据治理方案

案例简介 在数字化转型的驱动和数据治理“严监管”的推动下&#xff0c;为解决金融机构数据治理体系不健全、数据质量低下等问题&#xff0c;利用数据治理成熟度评估模型进行问题分析定位&#xff0c;重点围绕数据规划、组织机制、标准建设以及数据类平台建设等方面进行数据质…

springboot+jsp网上药品商城销售管理系统

本设计需要实现一套方便药品管理者轻松便捷的处理药品运营工作的药品销售管理系统。设计并实现了特殊药品管理系统。系统选用B/S模式&#xff0c;应用java开发语言&#xff0c; MySQL为后台数据库。系统主要包括主页、个人中心、用户管理、药品类别管理、药品信息管理、系统管理…

Boy,Slowly...

很多朋友问我为啥写的少了。我说很多东西都是常识&#xff0c;老生常谈无数遍了&#xff0c;不想不断重复写了。常识性的东西&#xff0c;不断强调是对的&#xff0c;但是不断重复写&#xff0c;这就不对了。 &#xff08;1&#xff09;朴素 早上看一位朋友发了一条王兴过去老生…

使用Python复制某文件夹下子文件夹名为数据文件夹下的所有以DD开头的文件夹到桌面...

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 楼阁玲珑五云起&#xff0c;其中绰约多仙子。 大家好&#xff0c;我是皮皮。 一、前言 前几天在Python最强王者群【魏哥】问了一个Python自动化办公处理…

macOS Ventura 13.4 (22F66) 正式版发布,ISO、IPSW、PKG 下载

本站下载的 macOS Ventura 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Windows 和 Linux 中创建可引导介质。 请访问原文链接&#xff1a…

在 Python 中使用 OpenCV 构建 Color Catcher 游戏

介绍 你是否曾经想在 Python 中使用 OpenCV 创建自己的游戏&#xff1f; 今天我们将构建一个名为 Color Catcher 的游戏&#xff0c;该游戏挑战玩家使用手部跟踪机制接住从屏幕顶部掉落的彩球。 设置游戏窗口 构建游戏的第一步是使用 OpenCV 设置游戏窗口。我们将定义窗口大小、…

Swift静态代码检测工程实践

本文字数&#xff1a;22817字 预计阅读时间&#xff1a;58分钟 引言 随着App功能不断增加&#xff0c;工程代码量也随之快速增加&#xff0c;依靠人工CodeReview来保证项目的质量&#xff0c;越来越不现实&#xff0c;这时就有必要借助于自动化的代码审查工具&#xff0c;进行程…

【运维知识进阶篇】集群架构-Nginx七层负载均衡详解

为什么要使用负载均衡 当我们的Web服务器直接面向用户&#xff0c;往往要承载大量并发请求&#xff0c;单台服务器难以负荷&#xff0c;我使用多台Web服务器组成集群&#xff0c;前端使用Nginx负载均衡&#xff0c;将请求分散的打到我们的后端服务器集群中&#xff0c;实现负载…

音频品鉴与歌唱评价——音频内容理解实践

歌唱评价是K歌系统中核心技术之一。近年来&#xff0c;歌唱评价领域也发生着多元化和深度化的变革。本次LiveVideoStackCon 2022 北京站邀请到腾讯音乐天琴实验室高级研究员——江益靓&#xff0c;为大家介绍全民K歌的多维度评价技术和深度歌唱评价技术的实践&#xff0c;以及优…

Linux系统编程学习 NO.3 ——基础指令的学习

* 通配符 通匹配任意字符&#xff08;包括空字符&#xff09;&#xff0c;用于匹配任意长度的字符串。包括空字符。加入你要匹配任何以.txt后缀的文件&#xff0c;只需要在*通配符后加上.txt后缀即可。 样例演示 ls *.后缀名 ls xxx* 找到匹配的字符串man指令(重要) Linux的…

理论力学专题:张量分析

张量方法的引入 自然法则与坐标无关&#xff0c;坐标系的引入方便分析&#xff0c;但也掩盖了物理本质指标符号哑标和自由标 Einstein求和约定&#xff1a;凡在某一项内&#xff0c;重复一次且仅重复一次的指标&#xff0c;表示对该指标在它的取值范围内求和&#xff0c;并称这…

【C++ 入坑指南】(10)函数

文章目录 简介定义实例函数的分文件编写 简介 函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数&#xff0c;即主函数 main() &#xff0c;所有简单的程序都可以定义其他额外的函数。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定…

分享3个深度学习练手的小案例

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

0ctf_2017_babyheap-fastbin_dup_into_stack

参考&#xff1a; [1]https://uaf.io/exploitation/2017/03/19/0ctf-Quals-2017-BabyHeap2017.html [2]https://blog.csdn.net/qq_43935969/article/details/115877748 [3]https://bbs.kanxue.com/thread-223461.htm 题目下载参考[1] 说明下如何调试堆&#xff0c;在payload中…

chatgpt赋能Python-python3_7如何下载

Python3.7如何下载&#xff1f;详细步骤分享&#xff01; Python是一门当今最热门、最常用、最易学的编程语言之一&#xff0c;且拥有庞大的社区和强大的库支持。在这篇文章中&#xff0c;我们将会详细介绍如何下载Python3.7版本&#xff0c;让大家能够轻松上手Python编程。 …