当前位置: 首页 > news >正文

JavaWeb开发-05-SpringBootWeb请求响应

 

一.请求

1.Postman


2.简单参数

package com.wjh.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;/**   测试请求参数接受*/
@RestController
public class RequestController {//    //原始方式
//    @RequestMapping ("/simpleParam")
//    public String simpleParam(HttpServletRequest request){
//        //获取请求参数
//        String name = request.getParameter("name");
//        String ageStr = request.getParameter("age");
//
//        int age = Integer.parseInt(ageStr);
//        System.out.println(name + ":" + age + ":");
//
//        return "OK!";
//    }//springboot 方式@RequestMapping ("/simpleParam")public String simpleParam( String name,Integer age){System.out.println(name + ":" + age + ":");return "OK!";}
}

 

 

 GET请求:

 

 

 POST请求:

 

 

 

package com.wjh.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;/**   测试请求参数接受*/
@RestController
public class RequestController {//    //原始方式
//    @RequestMapping ("/simpleParam")
//    public String simpleParam(HttpServletRequest request){
//        //获取请求参数
//        String name = request.getParameter("name");
//        String ageStr = request.getParameter("age");
//
//        int age = Integer.parseInt(ageStr);
//        System.out.println(name + ":" + age + ":");
//
//        return "OK!";
//    }//springboot 方式
//    @RequestMapping ("/simpleParam")
//    public String simpleParam( String name,Integer age){
//        System.out.println(name + ":" + age + ":");
//        return "OK!";
//    }@RequestMapping ("/simpleParam")public String simpleParam(@RequestParam(name = "name") String username, Integer age){System.out.println(username + ":" + age + ":");return "OK!";}
}

 

 

 

3.实体参数

 创建一个User类:

package com.wjh.pojo;public class User {private String name;private Integer age;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +'}';}
}

 

创建一个Address类

package com.wjh.pojo;public class Address {private String province;    //省private String city;    //市public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}@Overridepublic String toString() {return "Address{" +"province='" + province + '\'' +", city='" + city + '\'' +'}';}
}

package com.wjh.controller;import com.wjh.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;/**   测试请求参数接受*/
@RestController
public class RequestController {//    //原始方式
//    @RequestMapping ("/simpleParam")
//    public String simpleParam(HttpServletRequest request){
//        //获取请求参数
//        String name = request.getParameter("name");
//        String ageStr = request.getParameter("age");
//
//        int age = Integer.parseInt(ageStr);
//        System.out.println(name + ":" + age + ":");
//
//        return "OK!";
//    }//springboot 方式
//    @RequestMapping ("/simpleParam")
//    public String simpleParam( String name,Integer age){
//        System.out.println(name + ":" + age + ":");
//        return "OK!";
//    }//    @RequestMapping ("/simpleParam")
//    public String simpleParam(@RequestParam(name = "name", required = false) String username, Integer age){
//        System.out.println(username + ":" + age + ":");
//        return "OK!";
//    }//2.实体参http://localhost:8080/simpleParam数@RequestMapping("/simplePojo")public String simplePojo(User user){System.out.println(user);System.out.println("姓名:" + user.getName());System.out.println("年龄:" + user.getAge());System.out.println("省份:" + user.getAddress().getProvince());System.out.println("城市:" + user.getAddress().getCity());return "YES OK!";}
}

 


 

4.数组集合参数

//3.数组集合参数@RequestMapping("/arrayParam")public String arrayParam(String[] hobby){System.out.println(hobby);System.out.println(Arrays.toString(hobby));return "YES OK!";}

//集合参数@RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "YES OK!";}


5.日期参数

 


6.Json参数

//6.json参数@RequestMapping("/jsonParam")//@DateTimeFormat -> 指定时间传递的参数格式public String jsonParam(@RequestBody User user){System.out.println(user);return "YES OK!";}
{"name": "小黑子","age": 18,"address": {"province": "江西","city": "南昌"}
}


7.路径参数

 

 

 

 

package com.wjh.controller;import com.wjh.pojo.User;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;/**   测试请求参数接受*/
@RestController
public class RequestController {//    //原始方式
//    @RequestMapping ("/simpleParam")
//    public String simpleParam(HttpServletRequest request){
//        //获取请求参数
//        String name = request.getParameter("name");
//        String ageStr = request.getParameter("age");
//
//        int age = Integer.parseInt(ageStr);
//        System.out.println(name + ":" + age + ":");
//
//        return "OK!";
//    }//springboot 方式@RequestMapping ("/simpleParam")public String simpleParam( String name,Integer age){System.out.println(name + ":" + age + ":");return "OK!";}@RequestMapping ("/simpleParamF")public String simpleParamF(@RequestParam(name = "name", required = false) String username, Integer age){System.out.println(username + ":" + age + ":");return "OK!";}//2.实体参http://localhost:8080/simpleParam数@RequestMapping("/simplePojo")public String simplePojo(User user){System.out.println(user);System.out.println("姓名:" + user.getName());System.out.println("年龄:" + user.getAge());System.out.println("省份:" + user.getAddress().getProvince());System.out.println("城市:" + user.getAddress().getCity());return "YES OK!";}//3.数组参数@RequestMapping("/arrayParam")public String arrayParam(String[] hobby){System.out.println(hobby);System.out.println(Arrays.toString(hobby));return "YES OK!";}//4.集合参数@RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "YES OK!";}//5.日期时间参数//http://localhost:8080/dateParam?updateTime=2023-09-18 09:12:30@RequestMapping("/dateParam")//@DateTimeFormat -> 指定时间传递的参数格式public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){System.out.println(updateTime);return "YES OK!";}//6.json参数@RequestMapping("/jsonParam")//@DateTimeFormat -> 指定时间传递的参数格式public String jsonParam(@RequestBody User user){System.out.println(user);return "YES OK!";}//7.路径参数@RequestMapping("/path/{id}")//@DateTimeFormat -> 指定时间传递的参数格式public String pathParam(@PathVariable Integer id){System.out.println(id);return "YES OK!";}//8.路径参数//@DateTimeFormat -> 指定时间传递的参数格式@RequestMapping("/path/{id}/{name}")public String pathParam2(@PathVariable Integer id, @PathVariable String name){System.out.println(id);System.out.println(name);return "YES OK!";}}


二.响应

package com.wjh.controller;import com.wjh.pojo.Address;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList;
import java.util.List;/*测试响应数据*/
@RestController
public class ResponseController {@RequestMapping("/hello")public String hello(){System.out.println("Hello word!");return "Hello word!";}@RequestMapping("/getAddress")public Address getAddress(){Address address = new Address();address.setProvince("江西");address.setCity("南昌");System.out.println(address.getProvince() + "\n" + address.getCity());return address;}@RequestMapping("/listAddress")public List<Address> listAddress(){List<Address> list = new ArrayList<>();Address address = new Address();address.setProvince("江西");address.setCity("南昌");Address address2 = new Address();address2.setProvince("广东");address2.setCity("深圳");list.add(address);list.add(address2);for (Address lists: list) {System.out.println(lists);}return list;}}

 

package com.wjh.pojo;/*** 统一响应结果封装类*/
public class Result {private Integer code ;//1 成功 , 0 失败private String msg; //提示信息private Object data; //数据 datapublic Result() {}public Result(Integer code, String msg, Object data) {this.code = code;this.msg = msg;this.data = data;}public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}public static Result success(Object data){return new Result(1, "success", data);}public static Result success(){return new Result(1, "success", null);}public static Result error(String msg){return new Result(0, msg, null);}@Overridepublic String toString() {return "Result{" +"code=" + code +", msg='" + msg + '\'' +", data=" + data +'}';}
}

 

结果是一样的,提高了实用性

Springboot项目的静态资源(html,css,js等前端资源)默认存放目录为:

                        classpath:/static 、 classpath:/public、 classpath:/resources

package com.wjh.utils;import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;public class XmlParserUtils {public static <T> List<T> parse(String file , Class<T> targetClass)  {ArrayList<T> list = new ArrayList<T>(); //封装解析出来的数据try {//1.获取一个解析器对象SAXReader saxReader = new SAXReader();//2.利用解析器把xml文件加载到内存中,并返回一个文档对象Document document = saxReader.read(new File(file));//3.获取到根标签Element rootElement = document.getRootElement();//4.通过根标签来获取 user 标签List<Element> elements = rootElement.elements("emp");//5.遍历集合,得到每一个 user 标签for (Element element : elements) {//获取 name 属性String name = element.element("name").getText();//获取 age 属性String age = element.element("age").getText();//获取 image 属性String image = element.element("image").getText();//获取 gender 属性String gender = element.element("gender").getText();//获取 job 属性String job = element.element("job").getText();//组装数据Constructor<T> constructor = targetClass.getDeclaredConstructor(String.class, Integer.class, String.class, String.class, String.class);constructor.setAccessible(true);T object = constructor.newInstance(name, Integer.parseInt(age), image, gender, job);list.add(object);}} catch (Exception e) {e.printStackTrace();}return list;}}

package com.wjh.pojo;public class Emp {private String name;private Integer age;private String image;private String gender;private String job;public Emp() {}public Emp(String name, Integer age, String image, String gender, String job) {this.name = name;this.age = age;this.image = image;this.gender = gender;this.job = job;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getImage() {return image;}public void setImage(String image) {this.image = image;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getJob() {return job;}public void setJob(String job) {this.job = job;}@Overridepublic String toString() {return "Emp{" +"name='" + name + '\'' +", age=" + age +", image='" + image + '\'' +", gender='" + gender + '\'' +", job='" + job + '\'' +'}';}
}

package com.wjh.controller;import com.wjh.pojo.Emp;
import com.wjh.pojo.Result;
import com.wjh.utils.XmlParserUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
public class EmoController {@RequestMapping("/listEmp")public Result list(){//1.加载并解析emp.xml文件//String file = "D:\\JavaWeb2023\\java_web_project\\springboot-web-req-resp\\src\\main\\resources\\emp.xml";String file = this.getClass().getClassLoader().getResource("emp.xml").getFile();System.out.println(file);List<Emp> empList =  XmlParserUtils.parse(file, Emp.class);//2.对数据进行转换处理 -gender, jobempList.stream().forEach(emp -> {//处理gander 1: 男, 2: 女String gander = emp.getGender();if("1".equals(gander)){emp.setGender("男");}else if("2".equals(gander)){emp.setGender("女");}//处理job - 1:讲师, 2:班主任, 3:就业指导String job = emp.getJob();if("1".equals(job)){emp.setJob("讲师");}else if("2".equals(job)){emp.setJob("班主任");}else if("3".equals(job)){emp.setJob("就业指导");}});//3.响应数据return Result.success(empList);}
}

 

 


三.分层解耦

1.三层架构

 

package com.wjh.controller;import com.wjh.pojo.Emp;
import com.wjh.pojo.Result;
import com.wjh.service.EmpService;
import com.wjh.service.impl.EmpServiceA;
import com.wjh.utils.XmlParserUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
public class EmoController {private EmpService empService = new EmpServiceA();@RequestMapping("/listEmp")public Result list() {//1.调用service,获取数据List<Emp> empList = empService.listEmp();//3.响应数据return Result.success(empList);}
}//    //1.加载并解析emp.xml文件
//
//    //String file = "D:\\JavaWeb2023\\java_web_project\\springboot-web-req-resp\\src\\main\\resources\\emp.xml";
//    String file = this.getClass().getClassLoader().getResource("emp.xml").getFile();
//        System.out.println(file);
//    List<Emp> empList =  XmlParserUtils.parse(file, Emp.class);
//
//    //2.对数据进行转换处理 -gender, job
//        empList.stream().forEach(emp -> {
//        //处理gander 1: 男, 2: 女
//        String gander = emp.getGender();
//        if("1".equals(gander)){
//            emp.setGender("男");
//        }else if("2".equals(gander)){
//            emp.setGender("女");
//        }
//
//        //处理job - 1:讲师, 2:班主任, 3:就业指导
//        String job = emp.getJob();
//        if("1".equals(job)){
//            emp.setJob("讲师");
//        }else if("2".equals(job)){
//            emp.setJob("班主任");
//        }else if("3".equals(job)){
//            emp.setJob("就业指导");
//        }
//
//    });

package com.wjh.Dao.impl;import com.wjh.Dao.EmpDao;
import com.wjh.pojo.Emp;
import com.wjh.utils.XmlParserUtils;import java.util.List;public class EmoDaoA implements EmpDao {@Overridepublic List<Emp> listEmp() {String file = this.getClass().getClassLoader().getResource("emp.xml").getFile();System.out.println(file);List<Emp> empList =  XmlParserUtils.parse(file, Emp.class);return empList;}
}

 

package com.wjh.Dao;import com.wjh.pojo.Emp;import java.util.List;public interface EmpDao {//获取员工列表数据public List<Emp> listEmp();
}

package com.wjh.pojo;public class Emp {private String name;private Integer age;private String image;private String gender;private String job;public Emp() {}public Emp(String name, Integer age, String image, String gender, String job) {this.name = name;this.age = age;this.image = image;this.gender = gender;this.job = job;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getImage() {return image;}public void setImage(String image) {this.image = image;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getJob() {return job;}public void setJob(String job) {this.job = job;}@Overridepublic String toString() {return "Emp{" +"name='" + name + '\'' +", age=" + age +", image='" + image + '\'' +", gender='" + gender + '\'' +", job='" + job + '\'' +'}';}
}

package com.wjh.service.impl;import com.wjh.Dao.EmpDao;
import com.wjh.Dao.impl.EmoDaoA;
import com.wjh.pojo.Emp;
import com.wjh.service.EmpService;import java.util.List;public class EmpServiceA implements EmpService {private EmpDao empDao = new EmoDaoA();@Overridepublic List<Emp> listEmp() {//1.调用dao,获取数据List<Emp> empList = empDao.listEmp();//2.对数据进行转换处理 -gender, jobempList.stream().forEach(emp -> {//处理gander 1: 男, 2: 女String gander = emp.getGender();if("1".equals(gander)){emp.setGender("男");}else if("2".equals(gander)){emp.setGender("女");}//处理job - 1:讲师, 2:班主任, 3:就业指导String job = emp.getJob();if("1".equals(job)){emp.setJob("讲师");}else if("2".equals(job)){emp.setJob("班主任");}else if("3".equals(job)){emp.setJob("就业指导");}});return empList;}
}

 

package com.wjh.service;import com.wjh.pojo.Emp;import java.util.List;public interface EmpService {//获取员工列表public List<Emp> listEmp();}


2.分层解耦

控制反转:

        Inversion Of Control,简称IOC。对象的创建控制权由程序自身转移到外部(容器),这种思想称为控制反转。


依赖注入:

        Dependency Injection,简称DI。容器为应用程序提供运行时,所依赖的资源,称之为依赖注入。


Bean对象:

        IOC容器中创建、管理的对象,称之为bean


3.IOC & DI入门

 

 @Component     //将当前类交给IOC容器管理,成为IOC容器中的bean

@Autowired         //运行时,IOC容器会提供该类型的bean对象,并复制给改变量 - 依赖注入

 

 

 

 

4.IOC详解

 

5.DI详解

@Primary        -->         在又多个相同bean情况下,想用的实现方法上加这个注解


@Qualifier       -->         @Qualifier("A") 或者@Qualifier ("B")


@Resource     -->         不属于springboot,属于JDK当中的,加在private EmpDao empDao 上

相关文章:

JavaWeb开发-05-SpringBootWeb请求响应

一.请求 1.Postman 2.简单参数 ​ package com.wjh.controller;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;/** 测试请求参数接受*/ R…...

Ubuntu下载

参考文档&#xff1a; 镜像文件&#xff1a;VMware下安装ubuntu 16.04&#xff08;全步骤&#xff09;_vmwaubuntu-16.04.4-desktop-amd64.iso_ST0new的博客-CSDN博客 vmware tools使用安装&#xff1a;VMware——VMware Tools的介绍及安装方法_William.csj的博客-CSDN博客 …...

Vue 的组件加载顺序和渲染顺序

1、结论先行 组件的加载顺序是自上而下的&#xff0c;也就是先加载父组件&#xff0c;再递归地加载其所有的子组件。 而组件渲染顺序是按照深度优先遍历的方式&#xff0c;也就是先渲染最深层的子组件&#xff0c;再依次向上渲染其父组件。 2、案例 下面是一个简单的示例代…...

leetcode Top100(17)矩阵置零

给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&#xff1a; 输入&…...

论文精读(2)—基于稀疏奖励强化学习的机械臂运动规划算法设计与实现(内含实现机器人控制的方法)

目录 1.作者提出的问题及解决方向 2.延深-用如何用强化学习对机器人进行控制 2.1思路 2.2DQN和DDPG在机器人控制中的应用 3.解决方案 3.1思路 3.2实验 3.3创新点 4.展望 1.作者提出的问题及解决方向 目的&#xff1a;使机械臂在非结构化环境下实现端到端的自主学习控制…...

快速安装keepalive

快速安装keepalive #安装 yum install keepalived -y# 查看版本&#xff1a; rpm -q -a keepalived#修改配置文件 vim /etc/keepalived.conf虚拟 ip :随意选一个&#xff0c;不被占用的ip即可。...

nginx实现反向代理实例

1 前言 1.1 演示内容 在服务器上访问nginx端口然后跳转到tomcat服务器 1.2 前提条件 前提条件&#xff1a;利用docker安装好nginx、tomcat、jdk8&#xff08;tomcat运行需要jdk环境&#xff09; 只演示docker安装tomcat&#xff1a; 默认拉取最新版tomcat docker pull t…...

使用Freemarker填充模板导出复杂Excel,其实很简单哒!

文章目录 1. 需求分析2. 对象生成3. 列表插值4. 另存xml格式化5. ftl修改6. 程序转化7. 犯的错误8. 总结 1. 需求分析 类似这样的一个表格 我们需要从数据库中查询对应的数据&#xff0c;将其汇总进该表格&#xff0c;并且可能还需要复制表格项&#xff0c;我这个案例中没有&a…...

windows环境下安装logstash同步数据,注册系统服务

windows环境下安装logstash同步数据&#xff0c;注册系统服务 此方法适用于Windows环境&#xff0c;同一个配置文件配置多个管道&#xff0c;并且配置系统服务&#xff0c;防止程序被杀进程 一、安装logstash &#xff08;1&#xff09;下载压缩包&#xff0c;解压后修改con…...

java服务内存说明及配置详解

java进程内存 JVM内存分布图: 【java进程内存】【堆外内存】 【jvm堆内存】 【堆外内存】 【Metaspace】 【Direct Memory】【JNI Memory】【code_cache】 … 堆外内存泄漏的排查在于【本地内存&#xff08;Native Memory&#xff09;】【Direct Memory】【JNI Memory】 一般…...

Mybatis-MyBatis的缓存

Mybatis-MyBatis的缓存 一、MyBatis的一级缓存二、MyBatis的二级缓存二级缓存的相关配置 三、MyBatis缓存查询的顺序 一、MyBatis的一级缓存 一级缓存是SqlSession级别的&#xff0c;通过同一个SqlSession查询的数据会被缓存&#xff0c;下次查询相同的数据&#xff0c;就 会从…...

计算机组成原理之硬件的基本组成,深入介绍两大计算机结构体系,从底层出发认识计算机。

大家好&#xff0c;欢迎阅读《计算机组成原理》的系列文章&#xff0c;本系列文章主要的内容是从零学习计算机组成原理&#xff0c;内容通俗易懂&#xff0c;大家好好学习吧&#xff01;&#xff01;&#xff01; 更多的优质内容&#xff0c;请点击以下链接查看哦~~ ↓ ↓ ↓ …...

二十五、MySQL事务的四大特性和常见的并发事务问题

1、事务的四大特性 2、常见的并发事务问题 &#xff08;1&#xff09;并发事务问题分类&#xff1a; &#xff08;2&#xff09;脏读&#xff1a; 一个事务正在对一条记录做修改&#xff0c;在这个事务完成并提交前&#xff0c;这条记录的数据就处于不一致的状态&#xff1b;…...

辨析常见的医学数据分析(相关性分析回归分析)

目录 1 常见的三种分类结果&#xff1f; 2 什么是相关性分析&#xff1f; 相关性分析的结果怎么看&#xff1f; 3 什么是回归分析&#xff1f; 1&#xff09;前提 2&#xff09;常见的回归模型 4 对于存在对照组实验的医学病例如何分析&#xff1f; 1&#xff09;卡方检验…...

SpringBoot项目中只执行一次的任务写法

SpringBoot项目中只执行一次的任务写法 有时候我们需要进行初始化工作&#xff0c;就说明只要进行一次的工作&#xff0c;那么&#xff0c;在Springboot项目中如何做到任务只进行一次呢 利用定时任务 在Spring Boot项目中&#xff0c;你可以使用Spring框架提供的Scheduled注解…...

TCK、TMS、TDI、TDO的含义

这四个信号是JTAG&#xff08;Joint Test Action Group&#xff09;界面的一部分。JTAG是一种用于测试和验证集成电路和印刷电路板的技术&#xff0c;也用于进行设备编程和调试。这四个信号分别是&#xff1a; TCK (Test Clock)&#xff1a; 意义&#xff1a;测试时钟&#xff…...

R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据...

全文链接&#xff1a;http://tecdat.cn/?p24456 如果你正在进行统计分析&#xff1a;想要加一些先验信息&#xff0c;最终你想要的是预测。所以你决定使用贝叶斯&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 但是&#xff0c;你没有共轭先验。你…...

【PowerShell】PowerShell的Core版本的额外配置

在PowerShell 7.1 安装完成后,默认情况下打开PowerShell 会直接进入到系统内置的PowerShell,如果希望通过远程连接或者PowerShell Web Access 进入到PowerShell 7环境的界面,就需要进行环境的再配置才能实现PowerShell 7.1 的环境连接。需要为外部的环境提供连接的话需要按照…...

数据结构----链式栈

目录 前言 链式栈 操作方式 1.存储结构 2.初始化 3.创建节点 4.判断是否满栈 5.判断是否空栈 6.入栈 7.出栈 8.获取栈顶元素 9.遍历栈 10.清空栈 完整代码 前言 前面我们学习过了数组栈的相关方法&#xff0c;&#xff08;链接&#xff1a;线性表-----栈&#xff08;栈…...

实在智能携手40+央企,探索财务大模型及数智化实践与应用

“这次培训给我一个最大的感触就是&#xff0c;过去以为AI智能化、大模型技术是很高深的事情。但现在&#xff0c;我们通过RPA等数字化工具&#xff0c;自主根据自己的工作岗位&#xff0c;完成业务自动化流程的开发和设计。AI技术没有想象中的那么难入门。” 这是一位参加了“…...

upload-labs文件上传1-5关

第一关 编写一句话木马1.php&#xff0c;编写完成后将后缀名修改为png 将1.png上传&#xff0c;上传时使用bp抓包 抓包后将后缀名修改为png 连接蚁剑 第二关 上传1.php&#xff0c;显示文件类型不正确 使用bp抓包发送重发器&#xff0c;修改文件后缀名后点击发送&#xff0c;…...

git的基本使用

查看当前分支 git branch //查看本地分支 git branch -a // 查看本地和远程的分支切分支 git checkout -b 分支的名字从当前分支切换到其他分支 拉取远程分支到本地 拉取远程develop分支代码到本地develop分支 git checkout -b develop origin/developgit merge B分支合并…...

Mac台式电脑内存清理方法教程

对于一些小白用户&#xff0c;如果觉得以上的清理方法比较复杂却又想要更好的优化Mac电脑内存&#xff0c;专业的系统清理软件是一个不错的选择。比起花几个小时时间浏览文件夹、删除临时文件、缓存和卸载残留。Cleanmymac X&#xff0c;只需单击几下即可完成所有内存清理工作&…...

FL Studio怎么破解?2023年最新FL Studio 21图文安装激活教程?FL 21中文版下载 v21.1.1.3750 汉化 版

fl studio21中文解锁特别破解版是一款功能强大的编曲软件&#xff0c;也就是众所熟知的水果软件。它可以编曲、剪辑、录音、混音&#xff0c;让您的计算机成为全功能录音室。除此之外&#xff0c;这款软件功能非常强大&#xff0c;为用户提供了许多音频处理工具&#xff0c;包含…...

Zookeeper高级_四字命令

之前使用stat命令来验证ZooKeeper服务器是否启动成功&#xff0c;这里的stat命令就是ZooKeeper 中最为典型的命令之一。ZooKeeper中有很多类似的命令&#xff0c;它们的长度通常都是4个英文字母&#xff0c;因此我们称之为“四字命令”。 添加配置 vim zoo.cfg 4lw.commands…...

/usr/bin/ld: cannot find -lmysqlcllient

文章目录 1. question: /usr/bin/ld: cannot find -lmysqlcllient2. solution 1. question: /usr/bin/ld: cannot find -lmysqlcllient 2. solution 在 使用编译命令 -lmysqlclient时&#xff0c;如果提示这个信息。 先确认一下 有没有安装mysql-devel 执行如下命令 yum inst…...

折线图geom_line()参数选项

往期折线图教程 图形复现| 使用R语言绘制折线图折线图指定位置标记折线图形状更改 | 绘制动态折线图跟着NC学作图 | 使用python绘制折线图 前言 我们折线的专栏推出一段时间&#xff0c;但是由于个人的原因&#xff0c;一直未进行更新。那么今天&#xff0c;我们也参考《R语…...

百度SEO优化基本原理(掌握SEO基础,提高网站排名)

随着互联网的迅速发展&#xff0c;越来越多的企业开始意识到网站优化的重要性&#xff0c;其中百度SEO优化是企业不可忽视的一项工作。本文将介绍百度SEO优化的基本概念、步骤、原理、解决方法和提升网站标题优化的方法。蘑菇号-www.mooogu.cn 百度SEO优化是指针对百度搜索引擎…...

2023 ICPC 网络赛 第一场 部分题解 (待完善)

D Transitivity 题解: 根据题意可以推出结论: 如果存在连通块,那么这个连通块要满足条件,必然是满连通块. 一共有两种情况 1. 存在一个连通块不是满连通块 设cnt表示连通块的节点个数, num表示连通块边的个数 一个连通块的贡献 cnt*(cnt-1)/2 - num; 那么最终答案 连…...

Hadoop的HDFS高可用方案

一、Hadoop高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用&#xff0c;两者的实现基本类似&#xff0c;但 HDFSNameNode 对数据存储及其一致性的要求比 YARN ResourceManger 高得多&#xff0c;所以它的实现也更加复杂 1、HDFS系统高可用简介…...

可以做头像的网站/西藏自治区seo 标题 关键词优化

alert([0,0,0].toString() [0,0,0].toString()); //true alert([0,0,0].toString()[0,0,0].toString());//true用JavaScript比较两个数组是否相等...

网站建设制作公司哪家/女教师遭网课入侵直播录屏曝光i

一、环境准备node v10.13.0whistle二、新建工程1、创建项目新建文件夹&#xff0c;并设置一个项目名称执行npm init&#xff0c;其中name需要符合whistle.your-plugin-name规范增加.gitignore&#xff0c;并添加忽略package-lock.json2、增加TypeScript项目目录下执行npm insta…...

ipad网站开发/如何引流与推广

最近想要同步CSDN和微信公众号的内容&#xff0c;各位看客们可以两边都关注一下&#xff0c;方便获取最新的信息。请扫描下面的的二维码添加关注&#xff0c;谢谢支持。 上一篇已经简单的介绍了时序&#xff0c;本文将会以一个ADC实例简单粗暴的进行分析&#xff1b; 现有一块A…...

东莞市建设质量监督网站/重庆网站seo多少钱

前言 覆盖jar里面的方法 bean 方式一 目标&#xff1a;bean 方式&#xff1a;新建一个接口实现类&#xff0c;实现目标方法所对应的接口&#xff0c;然后重写需要改动的方法&#xff0c;最后拿着这个新的实现类去执行逻辑 普通的类 方式一 目标&#xff1a;普通的类 方式…...

织梦cms 网站计数/东莞搜索引擎推广

ftrace 简介 ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为&#xff0c;以便进行故障调试或性能分析。 最早 ftrace 是一个 function tracer&#xff0c;仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework&#xff0c;采用 plugin 的方式支持开发人…...

做红包网站/东莞网站优化

让人眼花缭乱的 HTML5 和 JavaScript 效果使用 CSS3 可以实现的五种很酷很炫的效果九个让人难以置信的HTML5和JavaScript实验推荐18个基于 HTML 5 Canvas 开发的图表库29款基于 HTML5 Canvas 开发的网页游戏各大主流浏览器对 CSS3 和 HTML5 的支持越来越完善&#xff0c;曾经让…...