ssm+vue宠物领养系统源码和论文

news2024/12/23 10:06:26

ssm+vue宠物领养系统源码和论文103

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

摘  要

本课题是根据用户的需要以及网络的优势建立的一个宠物领养系统,来满足用宠物领养的需求。

本宠物领养系统应用JSP技术,Java语言,MYSQL数据库存储数据,基于B/S结构开发。在网站的整个开发过程中,首先对系统进行了需求分析,设计出系统的主要功能模块,其次对网站进行总体规划和详细设计,最后对宠物领养系统进行了系统测试,包括测试概述,测试方法,测试方案等,并对测试结果进行了分析和总结,进而得出系统的不足及需要改进的地方,为以后的系统维护和扩展提供了方便。

本系统布局合理、色彩搭配和谐、框架结构设计清晰,具有操作简单,界面清晰,管理方便,功能完善等优势,有很高的使用价值。

关键词:JSP技术,宠物领养,MYSQL数据库,B/S结构

    1. 课题背景

在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。它将促进整个社会的发展。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。

在现在的社会生活中,人们的生活品质不断的提高,物质的需求也相应的得到了满足。但是也有一些人在物质上的满足并不能填满心里的孤寂。当一个人在外拼搏,就算在工作氛围中有很多人的陪伴,但是回家也可能会是一个冷冷清清的环境。所以这时候如果有了一个宠物的陪伴,心里的孤寂也会得到很大的慰藉,饲养宠物可以给我们带来快乐,也让我们的心灵得到慰藉。这让用户宠物领养的需求日益在增加,但是人们在领养宠物方面却缺乏一个很好的平台,针对这一情况,开发了本宠物领养系统,为用户通过一个全新的宠物领养的平台,提高效率。

 

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ChongwuxiuEntity;
import com.entity.view.ChongwuxiuView;

import com.service.ChongwuxiuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 宠物秀
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-29 18:02:25
 */
@RestController
@RequestMapping("/chongwuxiu")
public class ChongwuxiuController {
    @Autowired
    private ChongwuxiuService chongwuxiuService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ChongwuxiuEntity chongwuxiu, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("shouyangren")) {
			chongwuxiu.setShouyanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ChongwuxiuEntity> ew = new EntityWrapper<ChongwuxiuEntity>();
		PageUtils page = chongwuxiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chongwuxiu), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ChongwuxiuEntity chongwuxiu, HttpServletRequest request){
        EntityWrapper<ChongwuxiuEntity> ew = new EntityWrapper<ChongwuxiuEntity>();
		PageUtils page = chongwuxiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chongwuxiu), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ChongwuxiuEntity chongwuxiu){
       	EntityWrapper<ChongwuxiuEntity> ew = new EntityWrapper<ChongwuxiuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( chongwuxiu, "chongwuxiu")); 
        return R.ok().put("data", chongwuxiuService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ChongwuxiuEntity chongwuxiu){
        EntityWrapper< ChongwuxiuEntity> ew = new EntityWrapper< ChongwuxiuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( chongwuxiu, "chongwuxiu")); 
		ChongwuxiuView chongwuxiuView =  chongwuxiuService.selectView(ew);
		return R.ok("查询宠物秀成功").put("data", chongwuxiuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ChongwuxiuEntity chongwuxiu = chongwuxiuService.selectById(id);
		chongwuxiu.setClicktime(new Date());
		chongwuxiuService.updateById(chongwuxiu);
        return R.ok().put("data", chongwuxiu);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ChongwuxiuEntity chongwuxiu = chongwuxiuService.selectById(id);
		chongwuxiu.setClicktime(new Date());
		chongwuxiuService.updateById(chongwuxiu);
        return R.ok().put("data", chongwuxiu);
    }
    


    /**
     * 赞或踩
     */
    @RequestMapping("/thumbsup/{id}")
    public R thumbsup(@PathVariable("id") String id,String type){
        ChongwuxiuEntity chongwuxiu = chongwuxiuService.selectById(id);
        if(type.equals("1")) {
        	chongwuxiu.setThumbsupnum(chongwuxiu.getThumbsupnum()+1);
        } else {
        	chongwuxiu.setCrazilynum(chongwuxiu.getCrazilynum()+1);
        }
        chongwuxiuService.updateById(chongwuxiu);
        return R.ok();
    }

    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ChongwuxiuEntity chongwuxiu, HttpServletRequest request){
    	chongwuxiu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chongwuxiu);

        chongwuxiuService.insert(chongwuxiu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ChongwuxiuEntity chongwuxiu, HttpServletRequest request){
    	chongwuxiu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chongwuxiu);

        chongwuxiuService.insert(chongwuxiu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ChongwuxiuEntity chongwuxiu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(chongwuxiu);
        chongwuxiuService.updateById(chongwuxiu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        chongwuxiuService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<ChongwuxiuEntity> wrapper = new EntityWrapper<ChongwuxiuEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("shouyangren")) {
			wrapper.eq("shouyanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = chongwuxiuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
	/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,ChongwuxiuEntity chongwuxiu, HttpServletRequest request,String pre){
        EntityWrapper<ChongwuxiuEntity> ew = new EntityWrapper<ChongwuxiuEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicktime");
        
        params.put("order", "desc");
		PageUtils page = chongwuxiuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chongwuxiu), params), params));
        return R.ok().put("data", page);
    }


}
package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.DaichushenshenqingEntity;
import com.entity.view.DaichushenshenqingView;

import com.service.DaichushenshenqingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 待初审申请
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-29 18:02:25
 */
@RestController
@RequestMapping("/daichushenshenqing")
public class DaichushenshenqingController {
    @Autowired
    private DaichushenshenqingService daichushenshenqingService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,DaichushenshenqingEntity daichushenshenqing, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("songyangren")) {
			daichushenshenqing.setSongyanghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("shouyangren")) {
			daichushenshenqing.setShouyanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<DaichushenshenqingEntity> ew = new EntityWrapper<DaichushenshenqingEntity>();
		PageUtils page = daichushenshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, daichushenshenqing), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,DaichushenshenqingEntity daichushenshenqing, HttpServletRequest request){
        EntityWrapper<DaichushenshenqingEntity> ew = new EntityWrapper<DaichushenshenqingEntity>();
		PageUtils page = daichushenshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, daichushenshenqing), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( DaichushenshenqingEntity daichushenshenqing){
       	EntityWrapper<DaichushenshenqingEntity> ew = new EntityWrapper<DaichushenshenqingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( daichushenshenqing, "daichushenshenqing")); 
        return R.ok().put("data", daichushenshenqingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(DaichushenshenqingEntity daichushenshenqing){
        EntityWrapper< DaichushenshenqingEntity> ew = new EntityWrapper< DaichushenshenqingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( daichushenshenqing, "daichushenshenqing")); 
		DaichushenshenqingView daichushenshenqingView =  daichushenshenqingService.selectView(ew);
		return R.ok("查询待初审申请成功").put("data", daichushenshenqingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        DaichushenshenqingEntity daichushenshenqing = daichushenshenqingService.selectById(id);
        return R.ok().put("data", daichushenshenqing);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        DaichushenshenqingEntity daichushenshenqing = daichushenshenqingService.selectById(id);
        return R.ok().put("data", daichushenshenqing);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody DaichushenshenqingEntity daichushenshenqing, HttpServletRequest request){
    	daichushenshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(daichushenshenqing);

        daichushenshenqingService.insert(daichushenshenqing);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody DaichushenshenqingEntity daichushenshenqing, HttpServletRequest request){
    	daichushenshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(daichushenshenqing);

        daichushenshenqingService.insert(daichushenshenqing);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody DaichushenshenqingEntity daichushenshenqing, HttpServletRequest request){
        //ValidatorUtils.validateEntity(daichushenshenqing);
        daichushenshenqingService.updateById(daichushenshenqing);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        daichushenshenqingService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<DaichushenshenqingEntity> wrapper = new EntityWrapper<DaichushenshenqingEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("songyangren")) {
			wrapper.eq("songyanghao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("shouyangren")) {
			wrapper.eq("shouyanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = daichushenshenqingService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

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

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

相关文章

抖音短视频账号矩阵seo分发系统--开发源代

1.抖音矩阵号/抖音短视频SEO矩阵系统开发及开发者思路分享: 短视频获客系统开发原型支持短视频智能批量剪辑、短视频多账号管理定时发布&#xff0c;短视频排名查询及优化&#xff0c;智能客服私信回复等&#xff0c;那么短视频seo系统开发时需要开发哪些功能呢&#xff1f;今天…

全能图片转文字:多功能图片转换工具

全能图片转文字是一款功能丰富的图片转文字软件&#xff0c;通过OCR文字识别技术能够轻松识别图片中的文字信息&#xff0c;并快速提取转换成文本格式。除了支持图片转文字&#xff0c;全能图片转文字还可以完成音频转文字、视频转文字、截图转文字等操作&#xff0c;轻松满足日…

时序预测 | MATLAB实现基于PSO-BiGRU、BiGRU时间序列预测对比

时序预测 | MATLAB实现基于PSO-BiGRU、BiGRU时间序列预测对比 目录 时序预测 | MATLAB实现基于PSO-BiGRU、BiGRU时间序列预测对比效果一览基本描述程序设计参考资料 效果一览 基本描述 1.时序预测 | MATLAB实现基于PSO-BiGRU、BiGRU时间序列预测&#xff1b; 2.单变量时间序列数…

春秋云镜 CVE-2018-20604

春秋云镜 CVE-2018-20604 lfdycms任意文件读取 靶标介绍 雷风影视CMS是一款采用PHP基于THINKPHP3.2.3框架开发&#xff0c;适合各类视频、影视网站的影视内容管理程序&#xff0c;该CMS存在缺陷&#xff0c;可以通过 admin.php?s/Template/edit/path/web………*…*1.txt 的方…

【ES系列】(一)简介与安装

首发博客地址 首发博客地址[1] 系列文章地址[2] 为什么要学习 ES? 强大的全文搜索和检索功能&#xff1a;Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;使用倒排索引和分布式计算等技术&#xff0c;提供了强大的全文搜索和检索功能。学习 ES 可以掌握如何构建复…

STM32实现FFT,求取幅度频谱

STM32实现FFT&#xff0c;求取幅度频谱 FFT不太对劲的理解 FFT的原理比较复杂&#xff0c;因为32使用FFT不用去管算法是如何运作的&#xff0c;我在这里就进行简单的介绍了。 因为是简单介绍&#xff0c;就只介绍下幅度频谱图&#xff0c;不考虑相位频谱图。 ​ FFT可以将一个…

管理类联考——逻辑——形式逻辑——汇总篇——知识点突破——综合推理

角度——重难点 综合推理条件优先级口诀 事实问题优先看&#xff0c;数量不定先计算。 半事实条件可分类&#xff0c;重复元素是关键。 题干如果多假言&#xff0c;就要优先做串联。 题干只有一假言&#xff0c;否后或者找矛盾。 特殊条件优先看&#xff0c;其他条件放后边。

Mybatis 插入、修改、删除

前面几篇我们介绍了使用Mybatis查询数据&#xff0c;并且也了解了如何在Mybatis中使用JDK的日志系统打印日志&#xff1b;本篇我们继续介绍如何使用Mybatis完成数据的插入、修改和删除。 如果您对查询数据和Mybatis集成JDK日志系统不太了解&#xff0c;建议您先进行了解后再阅…

DP读书:鲲鹏处理器 架构与编程(十四)ACPI与软件架构具体调优

一分钟速通ACPI和鲲鹏软件移植 操作系统内核鲲鹏软件移植鲲鹏软件移植流程 编译工具选择编译参数移植案例源码修改案例鲲鹏分析扫描工具 Dependency Advisor鲲鹏代码迁移工具 Porting Advisor 鲲鹏软件性能调优鲲鹏软件性能调优流程CPU与内存子系统性能调优网络子系统性能调优磁…

es6·await/async案例笔记

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>await/async案例笔记</title> </head> …

CXL 内存交织(Memory Interleaving)

&#x1f525;点击查看精选 CXL 系列文章&#x1f525; &#x1f525;点击进入【芯片设计验证】社区&#xff0c;查看更多精彩内容&#x1f525; &#x1f4e2; 声明&#xff1a; &#x1f96d; 作者主页&#xff1a;【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#xff0c…

php在mysql创建数组字段的高效解决方案

案例说明 1.项目展示 将血糖的数值&#xff0c;按照下面表格的分类进行展示。 2.前端录入 将分类名称设置为单选项&#xff0c;血糖数值按照单选项的属性归属到对应的位置。 案例分析及操作步骤 1.在上面场景下&#xff0c;如何建立mysql数字字段&#xff1f; 如果每个…

10个免费PPT下载资源网站分享

PPT超级市场https://pptsupermarket.com/ PPT超级市场是一个完全免费的PPT模板下载网站&#xff0c;不需要注册登录&#xff0c;点击下载就能直接使用。 叮当设计https://www.dingdangsheji.com/ 叮当设计是一个完全免费的PPT模板下载网站&#xff0c;每一套PPT的质量都很高。除…

FileZilla使用密钥文件连接FSTP

文件-》站点管理-》新站点 右侧协议选择SFTP 填写主机和端口号 登录类型选择&#xff1a;密钥文件 填写用户名 选择密钥文件即可 注&#xff1a; 这里密钥文件默认只能选择.ppk&#xff1a; 如果你的密钥文件不是这个格式&#xff08;默认ssh生成的就不是&#xff09;&…

ZooKeeper数据模型/znode节点深入

1、Znode的数据模型 1.1 Znode是什么&#xff1f; Znode维护了一个stat结构&#xff0c;这个stat包含数据变化的版本号、访问控制列表变化、还有时间戳。版本号和时间戳一起&#xff0c;可让Zookeeper验证缓存和协调更新。每次znode的数据发生了变化&#xff0c;版本号就增加。…

CSS中如何实现元素的渐变背景(Gradient Background)效果?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CSS 渐变背景效果⭐ 线性渐变背景⭐ 径向渐变背景⭐ 添加到元素的样式⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…

说说广播流与普通流

分析&回答 user actions 可以看作是事件流&#xff08;普通流&#xff09;patterns 为广播流,把全量数据加载到不同的计算节点。 广播流 Broadcast是一份存储在TaskManager内存中的只读的缓存数据在执行job的过程中需要反复使用的数据&#xff0c;为了达到数据共享&am…

智能安全科技,Vatee万腾为您服务

在智能科技的引领下&#xff0c;Vatee万腾将为您点亮投资之路&#xff0c;助您在金融市场中抓住机遇&#xff0c;实现财务目标。作为一家融合科技与投资的先锋平台&#xff0c;Vatee万腾致力于为投资者提供智能化的投资方案和支持。 Vatee万腾以其先进的智能科技为基础&#xf…

「网络」1.不知的浏览器缓存精品答案

前言&#xff1a;你真的懂浏览器缓存吗 文章目录 强缓存协商缓存协商缓存可以基于两种头部来实现。小结 &#x1f680; 作者简介&#xff1a;作为某云服务提供商的后端开发人员&#xff0c;我将在这里与大家简要分享一些实用的开发小技巧。在我的职业生涯中积累了丰富的经验&am…

企业级智能PDF及文档处理SDK GdPicture.NET 14.2 Crack

企业级智能PDF及文档处理SDK GdPicture.NET 提供了一组非常先进的 API&#xff0c;这些 API 利用了人工智能、机器学习和模糊逻辑算法等尖端技术。经过超过 15 年的持续研究和对创新的专注&#xff0c;我们的 SDK 已成为市场上针对PDF、OCR、条形码、文档成像和各种格式最全面的…