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

SpringMvc的请求和响应

SpringMvc的数据响应

1.springmvc的数据相应方式

        (1)页面跳转

                直接返回字符串

                通过ModelAndView对象返回

        (2)回写数据

                直接返回字符串

                返回对象或集合

页面跳转

jsp页面


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false"%>
<html>
<head><title>Title</title>
</head>
<body><h1>success${username}</h1>
</body>
</html>

1.返回字符串形式        

        最出始的写法

 @RequestMapping("/quick")public String save(){System.out.println("Controller running ...");return "/jsp/success.jsp";}

 由于比较繁琐每次都要加上/jsp/  .jsp,于是直接返回字符串:此种方式将返回字符串与试图解析器的前后缀拼接后跳转

在springmvc.xml配置

<!--配置内部资源解释器--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/jsp/"></property><property name="suffix" value=".jsp"></property></bean>
  @RequestMapping("/quick")public String save(){System.out.println("Controller running ...");return "success";}

2.返回ModelAndView对象

自己手动创建ModelAndView对象,并且设置相应的值

@RequestMapping("/quick2")public ModelAndView save2(){/** model:模型 作用封装数据* view:视图 作用展示数据* */ModelAndView modelAndView = new ModelAndView();//设置模型数据modelAndView.addObject("username","wukd");//设置试图名称modelAndView.setViewName("success");return modelAndView;}

通过框架调用该方法时,传参时传ModelAndView对象

 @RequestMapping("/quick3")public ModelAndView save3(ModelAndView modelAndView){//设置模型数据modelAndView.addObject("username","wukd2");//设置试图名称modelAndView.setViewName("success");return modelAndView;}

 单独传入model对象

 @RequestMapping("/quick4")public String save4(Model model){model.addAttribute("username","你好!");return "success";}

3.向request域中存入对象

(1)通过springmvc框架注入的request对象setAttribute()方法设置

 @RequestMapping("/quick5")public String save(HttpServletRequest request){//将数据存储到request域中request.setAttribute("username","lisi");return "success";}

(2)通过ModelAndView的addObject()方法设置

  @RequestMapping(value = "/quick5")public ModelAndView save5(){ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("username","klc");modelAndView.setViewName("success");return modelAndView;}

回写数据

1.直接返回字符串

(1)通过springmvc框架注入的response.getWriter().print()回写数据,此时不需要试图跳转,业务方法返回值为void

 @RequestMapping("/quick6")public void save6(HttpServletResponse response) throws IOException {response.getWriter().print("kl");}

(2)将需要回写的字符串直接返回,但此时需要通过@ResponseBody注解告知SpringMvc框架,方法返回的字符串不是跳转是直接在http响应体中返回

 @ResponseBody//告知Springmvc框架该方法不进行页面视图跳转直接进行页面数据响应(以Http响应体)@RequestMapping(value = "/quick7")public String save7(HttpServletResponse response) throws IOException {return "hellonk";}

(3)在异步项目中,客户端与服务器端往往要进行json格式字符串交互,此时可以动手拼接json字符串返回

@ResponseBody()//告知Springmvc框架该方法不进行页面视图跳转直接进行页面数据响应(以Http响应体)@RequestMapping(value = "/quick8")public String save8(HttpServletResponse response) throws IOException {return "{\"username\":\"lisi\",\"age\":18}";}

上述方式手动拼接json格式字符串很麻烦,可以使用jackson进行转换,导入jackson坐标

 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.0</version></dependency>
 @ResponseBody()//告知Springmvc框架该方法不进行页面视图跳转直接进行页面数据响应(以Http响应体)@RequestMapping(value = "/quick9")public String save9(HttpServletResponse response) throws IOException {User user=new User();user.setAge(12);user.setUsername("fhds");//使用json的转换工具将对象转换为json的数据格式ObjectMapper objectMapper = new ObjectMapper();String s = objectMapper.writeValueAsString(user);return s;}

(4)通过springmvc帮助去我们对对象或集合进行json字符串的转换并回写,为处理器配置消息转换参数,指定使用jackson进行对象或集合的转换,在spring-mvc中进行如下配置:

<!--配置处理器映射器--><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"><property name="messageConverters"><list><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean></list></property></bean>
 @ResponseBody()//告知Springmvc框架该方法不进行页面视图跳转直接进行页面数据响应(以Http响应体)@RequestMapping(value = "/quick10")//期望springmvc自动将User转换成json格式public User save10(HttpServletResponse response) throws IOException {User user=new User();user.setAge(13);user.setUsername("fhds");return user;}

在方法上添加@ResponseBody就可返回json格式的字符串,但比较繁琐

可以用mvc的注解驱动代替

 <!--mvc的注解驱动 可以将对象转换为json格式--><mvc:annotation-driven conversion-service="conversionService"/>

在SpringMvc的各个组件中,处理器映射器、处理器适配器、试图解析器称为SpringMvc的三大组件 使用<mvc:annotation-driven>自动加载 RequestMappingHandlerMapping(处理映射器)和 RequestMappingHandlerAdapter( 处 理 适 配 器 ),可用在Spring-xml.xml配置文件中使用 <mvc:annotation-driven>替代注解处理器和适配器的配置。 同时使用<mvc:annotation-driven>默认底层就会集成jackson进行对象或集合的json格式字符串的转换。

springmvc请求数据

1.获得请求参数

服务器端获得请求参数,有时还需要进行数据的封装,springmvc可以接收如下类型的参数:

基本类型

pojo类型参数

数组类型参数

集合类型参数

2.获得基本类型参数

Controller中的业务方法的参数名称要与请求参数的name一致,参数值会自动映射匹配

@ResponseBody()@RequestMapping(value = "/quick11")public void save11(String username,int age) throws IOException {System.out.println(username);System.out.println(age);}

 

 

 3.获得POJO类型参数

controller中的业务方法的POJO参数的属性名与请求参数的name一致参数值会自动映射匹配

@ResponseBody()@RequestMapping(value = "/quick12")public void save12(User user) throws IOException {System.out.println(user);}

 

 4.获得数组类型的参数

@ResponseBody()@RequestMapping(value = "/quick13")public void save13(String []strs) throws IOException {//将数组转为集合System.out.println(Arrays.asList(strs));}

 

 5.获得集合类型的参数

获得集合类型的参数,要将集合参数封装到POJO中才可以

<%--Created by IntelliJ IDEA.User: dellDate: 2023/2/10Time: 13:17To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false"%>
<html>
<head><title>Title</title>
</head>
<body><form action="${pageContext.request.contextPath}/userController/quick14" method="post"><%--表明是第几个user对象的usernamr age--%><input type="text" placeholder="姓名" name="userList[0].username"><br/><input type="text" placeholder="年龄" name="userList[0].age"><br/><input type="submit" title="提交"/></form>
</body>
</html>
package com.lin.domain;import java.util.List;public class Vo {private List<User>userList;public List<User> getUserList() {return userList;}public void setUserList(List<User> userList) {this.userList = userList;}@Overridepublic String toString() {return "vo{" +"userList=" + userList +'}';}
}
 @ResponseBody()@RequestMapping(value = "/quick14")public void save14(Vo vo) throws IOException {System.out.println(vo);}

当使用ajax提交时,可以指定contextType为json形式,那么在方法参数位置使用

@ResponseBody可以直接接收集合数据而无需使用POJO进行包装

<%--Created by IntelliJ IDEA.User: dellDate: 2023/2/11Time: 12:19To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false"%>
<html>
<head><title>Title</title><%--导入jquery--%><script src="${pageContext.request.contextPath}/js/jquery-3.3.1.js"></script><script>var userList=new Array();userList.push({username:"张三",age:15});userList.push({username:"lisi",age:15});$.ajax({type:"POST",url:"${pageContext.request.contextPath}/userController/quick15",data:JSON.stringify(userList),contentType:"application/json;charset=utf-8"});</script>
</head>
<body></body>
</html>

注意:如果浏览器抓包工具发现,没有加载jquery文件,原因时springmvc的前端控制器DispatcherServlet的url-pattern配置的时/,代表所有的资源都进行过滤操作我们可以通过以下两种方式放行静态资源

        1.在spring-mvc.xml配置问件中指定的放行资源

        <!--开放资源的访问权限--><!--mapping 映射地址--><!--location 那个目录下的资源对外开放--><!--<mvc:resources mapping="/js/**" location="/js/"/>-->

        2.使用标签

        <!--springmvc如果帮你找不到资源就交给原始的的容器Tomcat--><mvc:default-servlet-handler/>

6.当post请求时,数据会出现乱码,我们可以设置一个过滤器来进行编码过滤

<!--配置全局过滤的filter 解决乱码--><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

7.参数绑定注解@requestParam

当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解显示绑定

 @ResponseBody()@RequestMapping(value = "/quick16")/** @RequestParam参数* value:与请求参数名称* required:在此指定的请求参数是否必须包括,默认值是true,提交时如果没有此参数报错* defaultValue:当没有前指定请求参数时,则使用指定的默认参数值* */public void save16(@RequestParam("name") String username) throws IOException {System.out.println(username);}

8.

Restful是一种软件架构风格设计风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务 器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。
Restful风格的请求是使用“url+请求方式”表示一次请求目的的,HTTP 协议里面四个表示操作方式的动词如下:
GET:用于获取资源
 POST:用于新建资源
 PUT:用于更新资源
 DELETE:用于删除资源
  @ResponseBody()@RequestMapping(value = "/quick17/{username}")public void save17(@PathVariable("username") String username) throws IOException {System.out.println(username);}

9.自定义类型转换器

自定义类型转换器的开发步骤:

        1.定义转换器实现Converter接口

package com.lin.converter;import org.springframework.core.convert.converter.Converter;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DataConvert implements Converter<String,Date> {@Overridepublic Date convert(String dateStr) {//将日期的字符串转换成日期对象SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");Date date=null;try {date = format.parse(dateStr);} catch (ParseException e) {e.printStackTrace();}return date;}
}

        2.在配置文件中声明转换器

 <!--声明转换器--><bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters"><list><bean class="com.lin.converter.DataConvert"/></list></property></bean>

        3.在<annotation-driver>中引用转换器

        <mvc:annotation-driven conversion-service="conversionService"/>

10.文件上传

       (1)文件上传客户端的三要素

                表单项type="file"

                表单的提交方式post

                表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data”

        (2)单文件上传的步骤

                导入fileupload和io坐标

                

 <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency></dependencies>

        配置文件上传解析器

 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="utf-8"></property><property name="maxUploadSize" value="6000000"></property></bean>

        编写文件上传代码

@ResponseBody()@RequestMapping(value = "/quick23")public void save23(String username, MultipartFile upload1,MultipartFile upload2) throws IOException {System.out.println(username);//获得上传文件名称String originalFilename1= upload1.getOriginalFilename();upload1.transferTo(new File("C:\\upload\\",originalFilename1));String originalFilename2= upload2.getOriginalFilename();upload1.transferTo(new File("C:\\upload\\",originalFilename2));}
多文件上传,只需要将页面修改为多个文件上传项,将方法参数MultipartFile类型修改为MultipartFile[]即可
<%--Created by IntelliJ IDEA.User: dellDate: 2023/2/12Time: 11:41To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false"%>
<html>
<head><title>Title</title>
</head>
<body><form action="${pageContext.request.contextPath}/userController/quick22" method="post" enctype="multipart/form-data">名称<input type="text" name="username"><br/>文件1<input type="file" name="upload"><br/>文件2<input type="file" name="upload"><br/><input type="submit" value="提交"></form><%--enctype:规定了form表单在发送到服务器时候编码方式,有如下的三个值。application/x-www-form-urlencoded:默认的编码方式。但在用文本的传输和MP3等大型文件的时候,使用这种编码就显得效率低下。multipart/form-data:指定传输数据为二进制类型,比如图片,mp3,文件text/plain:纯文本的传输。空格转换为"+"号,但不对特殊字符编码。--%><%--<form action="${pageContext.request.contextPath}/userController/quick22" method="post" enctype="multipart/form-data">名称<input type="text" name="username"><br/>文件1<input type="file" name="upload1"><br/>文件2<input type="file" name="upload2"><br/><input type="submit" value="提交"></form>--%>
</body>
</html>

多文件上传方式的实现

@ResponseBody()@RequestMapping(value = "/quick22")public void save22(String username, MultipartFile[] upload) throws IOException {System.out.println(username);//获得上传文件名称for (MultipartFile multipartFile:upload){String originalFilename = multipartFile.getOriginalFilename();multipartFile.transferTo(new File("C:\\upload\\",originalFilename));}}

相关文章:

SpringMvc的请求和响应

SpringMvc的数据响应 1.springmvc的数据相应方式 &#xff08;1&#xff09;页面跳转 直接返回字符串 通过ModelAndView对象返回 &#xff08;2&#xff09;回写数据 直接返回字符串 返回对象或集合 页面跳转 jsp页面 <% page contentType"text/html;charsetUTF-8&q…...

【Vue3】首页主体-面板组件封装

首页主体-面板组件封装 新鲜好物、人气推荐俩个模块的布局结构上非常类似&#xff0c;我们可以抽离出一个通用的面板组件来进行复用 目标&#xff1a;封装一个通用的面板组件 思路分析 图中标出的四个部分都是可能会发生变化的&#xff0c;需要我们定义为可配置主标题和副标题…...

部署 K8s 集群

1 .部署k8s的两种方式目前生产部署Kubernetes集群主要有两种方式&#xff1a;kubeadmKubeadm是一个K8s部署工具&#xff0c;提供kubeadm init和kubeadm join&#xff0c;用于快速部署Kubernetes集群。二进制包从github下载发行版的二进制包&#xff0c;手动部署每个组件&#x…...

关于北京君正:带ANC的2K网络摄像头用户案例

如果远程办公是您的未来&#xff0c;或者您经常通过视频通话与远方的朋友和亲戚交谈&#xff0c;那么您可以考虑购买网络摄像头以显著改善您的沟通。Anker PowerConf C200是个不错的选择。 Anker PowerConf C200专为个人工作空间而设计&#xff0c;能够以每秒30帧的速度拍摄2K…...

ccc-Backpropagation-李宏毅(7)

文章目录NotationBackpropagationForward passBackward passSummaryNotation 神经网络求解最优化Loss function时参数非常多&#xff0c;反向传播使用链式求导的方式提升计算梯度向量时的效率&#xff0c;链式法则如下&#xff1a; Backpropagation 损失函数计算为所有样本…...

找出字符串中第一个匹配项的下标-力扣28-java

一、题目描述给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。示例 1&#xff1a;输入&#xff1a;hayst…...

SpringBoot 监听Redis key过期回调

SpringBoot 监听Redis key过期回调 场景 Spring boot实现监听Redis key失效事件可应对某些场景例如&#xff1a;处理订单过期自动取消、用户会员到期… 开启Redis键过期回调通知 Redis默认是没有开启键过期监听功能的&#xff0c;需要手动在配置文件中修改。Linux操作系统 修…...

蓝桥杯C/C++VIP试题每日一练之回形取数

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…...

四控、三管、一协调

四控指的是进度控制&#xff0c;质量控制&#xff0c;成本控制&#xff0c;变更控制。三管指的是合同管理&#xff0c;安全管理&#xff0c;资料管理。一协调指的是协调甲方&#xff0c;总包及设备材料供应方的关系。信息系统工程监理是指依法设立且具备相应资质的信息系统工程…...

jdk19下载与安装教程(win10)超详细

一、下载安装步骤 1、官网下载还需要注册&#xff0c;可以点【我的网盘】目录下载&#xff0c;目录也有其它低版本的&#xff0c;如果有需要大家根据需要自行选择。 2、下载后直接点击安装程序&#xff0c;点击【运行】。这里我使用的是64位的。 3、点击【下一步】。 4、默认安…...

来来来,手摸手写一个hook

hello&#xff0c;这里是潇晨&#xff0c;今天就带着大家一起来手写一个迷你版的hooks&#xff0c;方便大家理解hook在源码中的运行机制&#xff0c;配有图解&#xff0c;保姆级的教程&#xff0c;只求同学一个小小的&#x1f44d;&#xff0c;&#x1f436;。 第一步&#xf…...

【C++】AVL树

目录 1 简介 2 实现 2.1 框架构建 2.2 插入操作 2.2.1 平衡因子的更新 2.2.2 平衡因子异常时树的调整 3 检验 1 简介 AVL树基于二叉搜索树之上&#xff0c;又对其提出了平衡的要求&#xff0c;即&#xff1a;当向二叉搜索树插入新节点后&#xff0c;保证每个节点的左右…...

Mybatis源码(2) - SqlSessionTemplate的介绍及创建过程

0. 前言1. Spring对SqlSessionTemplate的管理1.1. SqlSessionTemplate的创建&#xff1a;1.2. MapperProxy中sqlSession的来源&#xff1a;2. SqlSessionInterceptor中的getSqlSession0. 前言 众所周知&#x1f60f;:MyBatis通过SqlSessionFactory 创建SqlSession去调用Executo…...

女生做大数据有发展前景吗?

当前大数据发展前景非常不错&#xff0c;且大数据领域对于人才类型的需求比较多元化&#xff0c;女生学习大数据也会有比较多的工作机会。大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度&#xff0c;女生比较适合大数据采集和大数据分析方向的工作岗位。 大数据采…...

Git实用指令记录

config 用例&#xff1a;对git最先要做的一个操作就是配置用户名和邮箱&#xff0c;否则无法commit查看所有可以config的条目&#xff0c;非常之多$ git config --list core.symlinksfalse core.autocrlftrue core.fscachetrue color.interactivetrue color.uiauto help.forma…...

复杂美公链技术重要特色:平行公链架构

复杂美公链技术Chain33从11月开源至今&#xff0c;获得众多合作方的认可&#xff0c;其中首创的平行公链架构被百度、阿里、360等机构认可并跟进研究&#xff0c;这也说明了平行公链或许是区块链普及应用的重要解决方案之一。 平行公链&#xff08;以下简称平行链&#xff09;是…...

Java——进制转换的一些内容

Java——进制转换的一些内容1.16进制字符串String转字节数组byte[]2.16进制字符串String转10进制数字int3.字节数组byte[]转字符串String4.16进制字符串String-->byte[]-->String&#xff08;使用ByteBuffer转换&#xff09;5.字节数组byte[]转字符数组char[]6.字节byte转…...

使用 Nodejs、Express、Postgres、Docker 在 JavaScript 中构建 CRUD Rest API

让我们在 JavaScript 中创建一个 CRUD rest API&#xff0c;使用&#xff1a;节点.js表达续集Postgres码头工人码头工人组成介绍这是我们将要创建的应用程序架构的架构&#xff1a;我们将为基本的 CRUD 操作创建 5 个端点&#xff1a;创造阅读全部读一个更新删除我们将使用以下…...

电子招标采购系统源码之什么是电子招投标系统?

随着互联网时代的到来&#xff0c;各行业都受到不同的影响&#xff0c;其中招投标行业也不例外。为了顺应互联网潮流的发展&#xff0c;电子招投标逐渐取代传统的纸质的招投标方式&#xff0c;给招标方、投标方、招标代理等各方也带来了前所未有的机遇与挑战。那么什么是电子招…...

匹配文件名称模块glob和fnmatch

匹配文件名称模块glob 1.概述 glob模式规则与re模块的正则表达式规则不大相同&#xff0c;glob模块遵循标准的UNIX路径扩展规则。 fnmatch模块用于根据glob模式比较文件名 2.glob表达式匹配文件名 2.1.测试文件 介绍glob配置规则前&#xff0c;先使用下面的代码创建测试文…...

day12_oop

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、继承 三、重写 四、this和super 五、访问修饰符 零、 复习昨日 局部变量和成员变量什么区别 位置,作用域,初始值,内存位置,生命周期 构造方法…...

在 Flutter 中使用 webview_flutter 4.0 | js 交互

大家好&#xff0c;我是 17。 已经有很多关于 Flutter WebView 的文章了&#xff0c;为什么还要写一篇。两个原因&#xff1a; Flutter WebView 是 Flutter 开发的必备技能现有的文章都是关于老版本的&#xff0c;新版本 4.x 有了重要变化&#xff0c;基于 3.x 的代码很多要重…...

嵌入式ARM工业边缘计算机BL302的CAN总线接口如何设置?

CAN 接口如图所示&#xff0c;输入如下命令&#xff1a; ifconfig -a //查看所有网卡 如果 FlexCAN 驱动工作正常的话就会看到 CAN 对应的网卡接口&#xff0c;如图。从图中可 以看出&#xff0c;有一个名为“can0”的网卡&#xff0c;这个就是 BL302 板上的 CAN1 接口对应的 c…...

Win11系统如何安装Ubuntu20.04(WSL版本)并安装docker

终于还是下定决心去换电脑了……这次采用轻量级的WSL&#xff0c;发现虽然没有占内存的GUI界面&#xff0c;但是编码和阅读文档还是非常nice的 1、首先开启Win11的虚拟机服务 2、下载你期望的Ubuntu服务器&#xff08;这里以20.04为例&#xff09; 安装成功后&#xff0c;发现…...

Elasticsearch和Solr的区别

背景&#xff1a;它们都是基于Lucene搜索服务器基础之上开发&#xff0c;一款优秀的&#xff0c;高性能的企业级搜索服务器。&#xff08;是因为他们都是基于分词技术构建的倒排索引的方式进行查询&#xff09;开发语言&#xff1a;java语言开发诞生时间&#xff1a;Solr2004年…...

如何在北京买房

首先我陈述一点&#xff0c;如果为了买房后再卖掉赚取差价&#xff0c;我这篇文章也许不适合&#xff0c;我这篇文章为整体愿景的发展而设计&#xff0c;为可操作房产的买卖而操作。 买房的愿景&#xff1a; 首先&#xff0c;我们要以一种心态来买房。那就是以始为终的态度&am…...

使用Proxifier+burp抓包总结

一、微信小程序&网页抓包 1. Proxifier简介 Proxifier是一款功能非常强大的socks5客户端&#xff0c;可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。 2. 使用Proxifier代理抓包 原理&#xff1a;让微信相关流量先走127.0.0.1:80到burp。具体…...

安装华为aab包的处理方式

1、转换 aab包 为 apks 说明&#xff1a; 1、bundletool-all-1.11.2.jar 转换文件的工具 2、a.aab aab源文件 3、xxx.apks 导入的文件以及路径&#xff08;例如&#xff1a;D:\Android\xxx.apks&#xff09; 4、–ksxxxx.jks 该aab打包所需的jsk文件 5、三条命令为 jsk打包所…...

Word处理控件Aspose.Words功能演示:使用 C++ 将 RTF 文档转换为 PDF

Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。此外&#xff0c;API支持所有流行的Word处理文件…...

【Java|多线程与高并发】进程与线程的区别与联系

文章目录什么是进程什么是线程上下文切换多线程一定比串行执行快吗进程与线程的区别与联系什么是进程 进程的定义:进程是正在运行的程序实体&#xff0c;并且包括这个运行的程序中占据的所有系统资源&#xff0c;比如说CPU&#xff08;寄存器&#xff09;&#xff0c;IO,内存&a…...

app制作平台官网/怎样进行seo优化

[蓝桥杯][历届试题]九宫重排 如下面第一个图的九宫格中&#xff0c;放着 1~8 的数字卡片&#xff0c;还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动&#xff0c;可以形成第二个图所示的局面。 我们把第一个图的局面记为&#xff1a;1234567…...

阿里云 wordpress cdn/seo的工作内容主要包括

今天为了将mxnet框架转为tensorflow 框架,参考了下面帖子来操作一下 pip install mmdnn 装好后,页面有提示,就先忽略掉了 mxnet-cu100 1.4.1 has requirement numpy<1.15.0,>1.8.2, but youll have numpy 1.16.4 which is incompatible. mxnet-cu90 1.4.1 has require…...

wordpress媒体库默认路径/西安今天出大事

网站资料此次&#xff0c;管家婆辉煌系列同时发布八大子系列共24个版本&#xff0c;即&#xff1a;辉煌Ⅱ TOP系列辉煌Ⅱ TOP五金建材版系列辉煌Ⅱ TOP皮革布匹版系列辉煌Ⅱ TOP电脑通迅版系列。辉煌Ⅱ系列辉煌Ⅱ五金建材版系列辉煌Ⅱ皮革布匹版系列辉煌Ⅱ电脑通迅版系列。此次…...

怎样做购物网站/个人网站推广平台大全

文章目录为什么需要transition-group语法没有出场动画与有出场动画比较没有出场动画有出场动画不设置tag标签&#xff0c;默认渲染成san标签v-move类设置平滑过渡不设置v-move的问题设置了v-move类实例为什么需要transition-group 因为我们有时不只是需要单个元素动画&#xff…...

自己做网站要钱么/2019网站seo

例&#xff0c;优惠数量设置如下&#xff1a;1件 100元5件 90元10件 80元该商品有A、B属性规格我添加A属性5件到购物车&#xff0c;再添加B属性此商品5件到购物车按道理该商品数量达到了10件&#xff0c;价格应该会是80元。但是ECSHOP在这…...

安徽网站建设天锐科技/北京自动网络营销推广

VScode配置C/C编译环境1、下载VScode2、安装cpptools3、下载MinGW4、配置环境变量5、修改C/C配置文件5.1、编辑 launch.json 配置文件5.2、编辑 tasks.json 文件6、运行7、其他1、下载VScode 下载链接&#xff1a; VScode 安装过程&#xff1a;一路下一步&#xff0c;安装很简…...