武职301-day02

news/2024/11/20 8:40:00/

这里写自定义目录标题

  • 软件开发前端最基础的技术
    • 三剑客:HTML+CSS+JavaScript
    • 二维码
      • 搭建后端开发环境
    • 创建SpringBoot项目
      • Jar怎么存储呢?
      • 创建第一个SpringBoot程序
    • 使用谷歌工具包zxing产生二维码
      • 改造工具类,形成网址输入地址和图片路径,动态生成二维码
      • CreateQR.java
      • QRController.java

软件开发前端最基础的技术

三剑客:HTML+CSS+JavaScript

基础必须掌握

二维码

把后端的环境搭建起来
前端负责展现和后端交互。后端负责数据处理加工获取返回前端,前端进行解析然后展现。前后端分离技术。h5+css3+vue == ssm+分布式架构+大数据架构+人工智能

搭建后端开发环境

idea,maven 3.5.4
SpringBoot,tomcat内置

Idea默认配置Maven环境
1)默认的本地仓库位置:
C:/Users/Admins/.m2/repository
存储项目依赖的第三方的包jar(很多.class文件)
例如:谷歌zxing的二维码的jar包
当maven项目使用第三方的jar它会自动取maven中央仓库(网上,远程仓库)
自动把中央仓库的我们需要jar包,下载到本地仓库。

创建SpringBoot项目

它会自动把要使用的jar下载到本地
1)新建一个工程 Project

https://repo.maven.apache.org
/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar

创建项目时,idea会自动从maven的远程仓库(中央仓库)来下载所需要jar
存储到本地仓库(位置可以设置)
默认在c:当前登录用户/.m2/repository目录下

Jar怎么存储呢?

Maven坐标
分为3级
commons-io\commons-io\2.6
org\apache\maven\maven-archiver\3.5.1
1)公司名称或者项目名称
2)项目名称
3)版本号
就是jar包和其他文件pom文件

创建第一个SpringBoot程序

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

package com.yutian.wz301.controller;//符合SpringMVC,它能解析浏览器输入的连接的地址
//浏览器输入:http://localhost:8080/hello,在java控制台console中打印字符串:hello springbootimport org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController //声明这个类是一个SpringMVC的controller,它才能处理浏览器请求
public class HelloController {//写一个方法,方法具体去干活,控制台打印字符串/*浏览器输入:http://localhost:8080/hello(URL)进入到项目,框架会把前面的内容砍掉只剩后面的内容:/hello(URI)*/@RequestMapping("/hello")public String hello(){return "hello SpringBoot";  //会在浏览器页面中展示}
}

使用谷歌工具包zxing产生二维码

1、找到这个jar,都可以通过Maven的依赖,你需要知道zxing的坐标(chatGPT帮我们找到最佳答案)
2、pom.xml
xml就是文本文件(txt)它提供了一系列自定义的标签内容,标签可以嵌套
习惯用来做系统的配置
3、在pom.xml增加zxing它的依赖坐标maven

com.google.zxing core 3.4.1

4、调用
二维码就是一张图片,图片上代表网址,字符串。手机微信、支付宝扫一下,如果返回网址,就会自动打开网址
参数:
1)动态地址(自定义)
2)图片保存到哪里(自定义)

自己写一个类,调用zxing的api的方法,抽取一个方法输入这两个参数,然后运行java类。

改造工具类,形成网址输入地址和图片路径,动态生成二维码

1、复制工具类文件,放到项目中
2、写一个controller,因为它才能接受网络请求
3、通过网络输入网址,和图片地址,最终实现自己定义二维码内容
http://localhost:8080/qr?website=‘http://www.yutianedu.com‘&filePath=‘d:/‘(url)
http://localhost:8080
/qr?website=‘http://www.yutianedu.com‘&filePath=‘d:/‘(URI)
参数:
?website=‘http://www.yutianedu.com‘
&filePath=‘d:/‘

http://localhost:8080/qr?website=a&filePath=b

CreateQR.java

package com.yutian.wz301.util;import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;public class CreateQR {public static void main(String[] args) {String website = "http://www.yutianedu.com";String filePath = "D:/qrcode.png";make(website, filePath);}//把谷歌zxing二维码形成通用的工具类public static void make(String website, String filePath){int width = 300;int height = 300;String format = "png";// set hintsEncodeHintType hintType = EncodeHintType.ERROR_CORRECTION;ErrorCorrectionLevel level = ErrorCorrectionLevel.M;QRCodeWriter writer = new QRCodeWriter();BitMatrix bitMatrix;try {bitMatrix = writer.encode(website, BarcodeFormat.QR_CODE, width, height);BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int x = 0; x < width; x++) {for (int y = 0; y < height; y++) {image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);}}File outputFile = new File(filePath);ImageIO.write(image, format, outputFile);} catch (WriterException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}
}

QRController.java

package com.yutian.wz301.controller;//根据页面的请求,动态产生二维码图片import com.yutian.wz301.util.CreateQR;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class QRController {//网页的规定,参数形式,第一个参数前面是?,后面的多个参数使用&符号,每个参数键值对map,名称=值//连接:http://localhost:8080/qr?website=a&filePath=b//写方法来调用工具类@RequestMapping("/qr")public String make(String website, String filePath){
//        System.out.println("website:"+website);
//        System.out.println("filePath:"+filePath);CreateQR.make(website, filePath);   //调用工具类,在指定路径,产生图片return "make";}
}

http://www.ppmy.cn/news/379411.html

相关文章

Redis(十五) -- Redis配置(四) -- 集群

1. 解决的问题&#xff1a; 容量不够并发写操作 2. 集群&#xff1a; Redis集群实现了对Redis的水平扩容&#xff0c;即启动了N个redis节点&#xff0c;将整个数据库分布存储在这N个节点中&#xff0c;每个节点存储总数据的1/NRedis集群通过分区&#xff08;partition&#…

各种排序算法的代码总结(可直接执行)

常见八大排序算法 写于大二上期末数据结构考试前&#xff0c;做一个排序算法的总结。也是严蔚敏那版本教材上代码具体的编译实现。 1.简单选择排序 。 一句话说&#xff0c;就是每次遍历挑选遍历最小的那个数填入相应的位置。并互换位置。 ~~ 改进的一种思路是每次不仅选最小…

《电脑维护技巧》(N条举措N条理由)(转载)

下面原文转载如下—— 一、每天关机前要做的清洗: 双击“我的电脑”— —右键点C盘——点“属性”——点“磁盘清理”——点“确定”——再点“是”——再点“确定”。清理过程中&#xff0c;您可看得到未经您许可&#xff08;您可点“查看文件”看&#xff0c;就知道了&#x…

MySQL数据库常见错误及解决方案

MySQL数据库常见错误及解决方案 1 MySQL无法重启问题解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored 原因 今天帮朋友维护服务器&#xff0c;在关闭数据库的命令发现mysql关不了&#xff0c;提示Warning: World-writable config file /etc/my.cnf is …

[转贴]付费空间投诉、空间骗子大曝光,大家来看看黑名单

---------------------------------------------------------------------------- 请用CTRLF查找 中国频道、有个网络、中资源、对呀网、西部数据、E动网络、世纪东方、顶尖网络、蓝网、厦门数字引擎、网盟个人主页、网容科技、数据天空、胜利网络商务、E时代网络、中国数据、…

「微服务架构模式」编曲与编舞——让系统协同工作的不同模式

介绍 Krzysztof&#xff08;采访者&#xff09;&#xff1a;商业组织是由专家组成的&#xff0c;他们在他们最了解的领域提供产品或服务&#xff0c;以获得共同的商业成果。例如&#xff0c;营销团队努力争取新客户&#xff0c;销售团队向这些客户销售产品&#xff0c;客户关系…

【AIX】LPar分区技术、逻辑CPU、虚拟CPU、物理CPU

【AIX】LPar分区技术、逻辑CPU、虚拟CPU、物理CPU IBM硬件管理控制台&#xff08;Hardware Management Console&#xff09;提供了标准的用户接口来配置和管理Power System系列服务器以及服务器上的分区。系统管理员通过HMC对Power System服务器上的分区进行配置和日常管理。 …

JAVA面经(SE)

前言&#xff1a;作为2021届毕业生&#xff0c;受疫情影响&#xff0c;工作机会竞争压力非常大. 对于开学之后马上要开始的秋季校招&#xff0c;我们必须认真扎实的复习. 经过我亲身体验&#xff0c;只在网络上阅读面经效果不太理想. 俗话说&#xff1a;好记性不如烂笔头&#…