首页
留言
友链
壁纸
更多
直播
追番
统计
关于
Search
1
欢迎使用 Typecho
201 阅读
2
为Joe主题增加表情包
178 阅读
3
Java的一些基础知识总结
151 阅读
4
『转载』Linux文件自动备份百度网盘
147 阅读
5
【分享】Cad2022安装包以及安装
134 阅读
默认分类
Java
Java基础知识
Java面向对象
JavaWeb服务
前端三剑客
HTML
JS
Typecho
前端小结
Vue
登录
/
注册
Search
标签搜索
Java
Servlet
HTML
面向对象
Vue
Web
JS
Typecho
Typora
Markdown
乐抖系统
Typecho主题
技术教程
类与对象
基础知识
Tomcat
Maven
Linux
MySQL
Mybatis
白衣少年
累计撰写
49
篇文章
累计收到
45
条评论
首页
栏目
默认分类
Java
Java基础知识
Java面向对象
JavaWeb服务
前端三剑客
HTML
JS
Typecho
前端小结
Vue
页面
留言
友链
壁纸
直播
追番
统计
关于
用户登录
登录
注册
搜索到
49
篇
白衣少年
发布的文章
2022-11-04
Java-ServletContxt对象及使用
什么是ServletContextWeb容器在启动时,它会为每个Web应用程序都创建一个对应的ServletContext对象,这个对象代表当前Web应用。并且它被所有客户端共享(比如你在淘宝登陆了,那你的登陆信息会被带到很多页面,就是跳到其他页面发现也是登陆上的)。ServletContext的应用共享数据 多个Servlet通过ServletContext对象实现数据共享添加属性:setAttribute(String name, Object obj);得到值:getAttribute(String name),这个方法返回Object删除属性:removeAttribute(String name)测试:首先创建一个放置数据的类package com.cheng.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = this.getServletContext(); String username = "万里顾一程";//数据 context.setAttribute("username", "万里顾一程");//将一个数据保存在ServletContext中,username=万里顾一程 } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }注册Servlet<servlet> <servlet-name>hello</servlet-name> <servlet-class>com.cheng.servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>然后创建一个接收数据的类package com.cheng.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class GetServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = this.getServletContext(); String attribute = (String) context.getAttribute("username");//返回值,并类型强转为String resp.setContentType("text/html"); resp.setCharacterEncoding("utf-8"); resp.getWriter().print("名字="+attribute); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }注册Servlet<servlet> <servlet-name>hello1</servlet-name> <servlet-class>com.cheng.servlet.GetServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello1</servlet-name> <url-pattern>/hello1</url-pattern> </servlet-mapping>启动Tomcat开始测试:启动 HelloServlet 放置数据到ServletContext中启动 GetServlet 从ServletContext中获得数据获取配置的初始化参数在 web.xml 里配置的初始化参数可以用getInitParameter()方法获取<context-param> <param-name>url</param-name> <param-value>jdbc:mysql://localhost:3306/mybatis</param-value> </context-param>写一个实现类package com.cheng.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class ServletDemon03 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = this.getServletContext(); String url = context.getInitParameter("url"); resp.getWriter().print(url); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } } 注册Servlet<servlet> <servlet-name>hello3</servlet-name> <servlet-class>com.cheng.servlet.ServletDemon03</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello3</servlet-name> <url-pattern>/hello3</url-pattern> </servlet-mapping>运行Tomcat,查看结果请求转发RequestDispatcher 代表请求的派发者。Forward是指内部转发。当一个Servlet处理请求的时候,它可以决定自己不继续处理,而是转发给另一个Servlet处理。例如,我们已经编写了一个能处理 /hello3 的 ServletDemon03 ,继续编写一个能处理 /hello4 的 ServletDemon04 , ServletDemon04 在收到浏览器的请求后,它并不自己发送响应,而是把请求和响应都转发给路径为 /hello3 的 ServletDemon03 ,后续请求的处理实际上是由 ServletDemon03 完成的。这种处理方式称为转发( Forward )流程图如下所示:编些一个实现请求转发的实现类package com.cheng.servlet; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @User len * @Classname com.cheng.servlet.ServletDemon04 * @Project javaweb-01-servlet * @Description TODO * @Author wpcheng * @Create 2021-02-06-18:36 * @Version 1.0 */ public class ServletDemon04 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = this.getServletContext(); //RequestDispatcher 代表请求的派发者, 只能使用绝对路径 RequestDispatcher dispatcher = context.getRequestDispatcher("/hello3");//请求的是地址为/hello3的资源,因此该请求是由路径为/hello3的servlet实现的 dispatcher.forward(req,resp);//内部转发 } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }注册路径为/hello4的servlet<servlet> <servlet-name>hello4</servlet-name> <servlet-class>com.cheng.servlet.ServletDemon04</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello4</servlet-name> <url-pattern>/hello4</url-pattern> </servlet-mapping>注册路径为/hello3的servlet<servlet> <servlet-name>hello3</servlet-name> <servlet-class>com.cheng.servlet.ServletDemon03</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello3</servlet-name> <url-pattern>/hello3</url-pattern> </servlet-mapping>启动Tomcat查看转发结果==注:转发是在Web服务器内部完成的,对浏览器来说,它只发出了一个HTTP请求,浏览器的地址栏路径仍然是/hello4,浏览器并不知道该请求在Web服务器内部实际上做了一次转发。==读取资源文件类路径:即发布到Tomcat服务器后的ClassPath路径,在classes目录下Properties可以用来保存属性集(类似Map, 以键值的形式保存数据,不同的是Properties都是String类型的)。这个类的优势是可以从流中获得属性集,或者把属性集报错到流中。获取配置文件的信息username=root password=123456实现类package com.cheng.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class ServletDemon05 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // “ / ”代表了当前工程的根目录 InputStream is = this.getServletContext().getResourceAsStream("/WEB-INF/classes/jdbc.properties"); Properties prop = new Properties(); prop.load(is);//下载文件流 String user = prop.getProperty("username");//通过键获取属性 String pwd = prop.getProperty("password"); resp.getWriter().println(user); resp.getWriter().println(pwd); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }注册servlet<servlet> <servlet-name>hello5</servlet-name> <servlet-class>com.cheng.servlet.ServletDemon05</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello5</servlet-name> <url-pattern>/hello5</url-pattern> </servlet-mapping>实现
2022年11月04日
54 阅读
0 评论
3 点赞
2022-11-02
Java-基础项目HelloServlet
SevletServlet简介Servlet就是sun公司开发 动态web 的一门技术Sun公司在这些API提供一个借口叫做: servlert程序编写一个类,实现servlet借口把开发好的类部署到web服务器把实现了servlet接口的程序叫做 servletHelloServlet构建一个普通的 maven项目 ,删掉src目录,以后这个工程就是主工程,通过在里面建立moudel进行学习在主工程中添加依赖<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> <scope>provided</scope> </dependency> <!-- 旧版,注释掉 <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> --> </dependencies>关于 maven父子工程 的理解父项目中会有<modules> <module>servlet-01</module> </modules>子项目中会有(没有需要手动添加)<parent> <artifactId>javaweb-02-servlet</artifactId> <groupId>org.example</groupId> <version>1.0-SNAPSHOT</version> </parent>maven环境优化修改web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true" > </web-app>将maven环境搭建完整编写一个servlet程序 注意:servlet借口有sun公司编写了两个默认的实现类 HttpServlet编写一个普通类通过继承HttpServlet实现Servlet接口注:如果出现导入失败的情况,可能是镜像还没加入该文件,需要自己去仓库里面下载,放入到相应的文件夹public class HelloServlet extends HttpServlet { //由于get或者post只是请求实现的不同方式,可以相互调用 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer=resp.getWriter(); writer.print("Hello,Servlet"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req,resp); } }编写Servlet的 映射为什么需要映射?我们写的是Java程序,但是需要通过浏览器进行访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的servlet,还需要给他一个浏览器能够访问的路径。 <!--注册servlet--> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.yu.servlet.HelloServlet</servlet-class> </servlet> <!--servlet的请求路径--> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>配置 tomcat 注意核对一下几项: Application server JRE HTTP port JMX port启动错误原因总结:pom文件没有配置好,检查子项目的配置文件,把重复的属性值删除(文件仅供参考)<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>javaweb-02</artifactId> <groupId>com.yu</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>servlet-01</artifactId> <packaging>war</packaging> <name>servlet-01 Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project>检查导入依赖,如果在external libraries 没有相应依赖会导致启动失败 javax.servlet.jsp.api javax.sevlet.api maven:junit maven:hamcresrt-core检查tomcat配置 环境变量 deployment server配置Tomcat1、如果没有 artifacts ,可以刷新一下项目的maven库;或者到setting中: settings—>bulid…—>Bulid Tools —> Maven—>Improting—>选中Impor Maven projects automatically—>Apply —> OK 2、看看效果
2022年11月02日
56 阅读
0 评论
3 点赞
2022-11-02
Java-Servlet介绍
Servlet是什么?servlet是Server Applet的简称,翻译过来就是服务程序。我们知道,一般的网页程序,是由我们通过浏览器访问来实现的,在这个过程中,我们的浏览器发送访问请求,服务器接收请求,并对浏览器的请求作出相应的处理.这就是我们熟悉的B/S模型(浏览器-服务器模型).而servlet就是对请求作出处理的组件,运行于支持Java的应用服务器中.Java Servlet 可以使用所有的 Java API,Java 能做的事情,Servlet 都能做。Servlet的作用通俗来讲servlet专门用来接收客户端的请求,专门接收客户端的请求数据,然后调用底层service处理数据并生成结果浏览器http请求------》tomcat服务器-------》到达servlet-----》执行doget,dopost方法----》返回数据客户端发送请求到服务器端服务器将请求信息发送至ServletServlet生成响应内容并将其传给服务器。服务器将响应返回给客户端。一、servlet里的三大作用域:request(请求):它的作用范围是一次请求和响应,是三个作用域中最小的。 session(会话):它的作用比request要大一点,一次会话过程中,它的作用域就一直存在,(默认是30分钟) servletcontext:它作用范围最大,作用于整个服务器中。(Application)1.Request request表示一个请求,只要发出一个请求就会创建一个request,它的作用域仅在 当前请求中有效,如果Web组件之间需要共享同一个请求中的数据,只能使用请求转发。a.用处:用于服务器间同一请求不同页面之间的参数传递用于表单的控件值传递b.常用方法:request.setAttribute(); request.getAttribute(); request.removeAttribute(); request.getParameter().2.Session 服务器为每个会话创建一个session对象,所以session中的数据可供当前会话中所有servlet共享。作用域:会话从用户打开浏览器开始,直到关闭浏览器才结束,一次会话期间只会创建一个session对象。a.用处:用于web开发中的登陆验证界面用于电商网站购物车功能b.常用方法:session.setAttribute(); session.getAttribute(); session.removeAttribute();在Servlet直接获取session:HttpSession session = request.getSession();JSP页面中直接使用(session属于JSP九大内置对象之一):<%session.serAttribute("name","admin")%> c.session被销毁session超时;浏览器关闭后,再也访问不到和该浏览器对应的session,它会在超时之后被销毁; 调用 session.invalidate();备注: session是服务器端对象,保存在服务器端,并且服务器可以将创建session后产生的 sessionid 通过一个 cookie 返回给客户端,以便下次验证。(session底层依赖于cookie)3.Application(ServletContext) ServletContext在 服务器启动时创建,服务器关闭时销毁。一个JavaWeb应用只创建一个ServletContext对象,所有的浏览器在访问服务器时都共享同一个ServletContext对象,ServletContext对象一般用于在多个浏览器间共享数据时使用。Servlet中获取Application对象:ServletContext serContext = this.getServletContext(); serContext .setAttribute("name", "kaixuan"); //设置一个值进去 serContext .getAttribute("name"); //获取键值对 备注:ServletContext同属于JSP九大内置对象之一,在JSP页面中可以直接使用4.作用域对象共享数据:1. 设置作用域中的共享数据 作用域对象.setAttribute(String name,Object value);2. 获取作用域中的共享数据 Object value = 作用域对象.getAttribute(String name);3. 删除作用域中的指定的共享数据 作用域对象.removeAttribute(String name);二、作用域总结生命周期request:只作用于当前一次请求session:一次会话(多次请求)application:项目的启动到结束作用范围requset:所有被请求转发的Servletsession:所有Servlet(当前浏览器)application:所有Servlet(所有浏览器都行)正确选择作用域request:跟当前操作功能相关session:跟用户信息相关,如登录信息、银行账号application:跟项目全局信息相关,如:京东配送地址如果选择的作用域不够准确,会造成内存浪费。测试作用域生命周期 验证测试过程:新建项目部署到Tomcat,浏览器访问,F5多次刷新,中途换浏览器访问测试结果:request的计数值始终是1,session的技术值当换了浏览器后从1开始,Application的计数值一直相加。
2022年11月02日
57 阅读
0 评论
2 点赞
2022-11-02
『转载』Linux文件自动备份百度网盘
原文地址:执念博客 https://zhinianboke.com/archives/975/服务器上的文件是非常重要的,虽然有些人会备份一下,但是一般还是备份在服务器,如果服务器发生什么问题会导致数据丢失,因此本教程带着将文件自动备份到百度云1.使用shh工具连接到自己的服务器,依次执行以下命令yum install python-pip pip install requests pip install bypyCentOS 8之后以上命令有些变化,执行以下命令yum install python3-pip pip3 install requests pip3 install bypy2.获取百度网盘授权码{tabs}{tabs-pane label="操作"}访问以下链接,界面会返回一串授权码,复制下来,后续要用到https://openapi.baidu.com/oauth/2.0/authorize?scope=basic+netdisk&redirect_uri=oob&response_type=code&client_id=q8WE4EpCsau1oS0MplgMKNBn{/tabs-pane}{tabs-pane label="访问链接后的页面"}{/tabs-pane}{/tabs}3.步骤2获取授权码之后,开始进行授权认证使用shh工具连接服务器,执行以下命令{tabs}{tabs-pane label="命令"}bypy info{/tabs-pane}{tabs-pane label="执行后的结果"}{/tabs-pane}{/tabs}4.因该工具不支持上传文件夹,所以需要将文件夹进行压缩①创建目录【可以在宝塔面板文件该目录创建,效果一样】mkdir -p /backup/②进入该目录将文章下面下载链接对应的文件backup_to_baidu.sh,放在该目录下{tabs}{tabs-pane label="标签一"}cd /backup/{/tabs-pane}{tabs-pane label="目录结构"}{/tabs-pane}{/tabs}③文件内容讲解5.配置定时任务,执行上面的backup_to_baidu.sh即可{tabs}{tabs-pane label="命令"}sh /backup/backup_to_baidu.sh{/tabs-pane}{tabs-pane label="宝塔配置定时任务"}{/tabs-pane}{/tabs}6.执行结果如下{tabs}{tabs-pane label="宝塔面板执行日志"}{/tabs-pane}{tabs-pane label="百度网盘文件"}备份的文件路径:我的应用数据/bypy/{/tabs-pane}{/tabs}到此已实现了文件自动备份到百度云该工具对应的其他命令,可自行摸索使用bypy list 查看目录 bypy mkdir 新建目录 bypy upload 把本地当前目录下的文件同步到百度云盘 bypy downdir 把云盘上的内容同步到本地 bypy upload filename baidupath 上传指定文件 bypy downdir filename 下载文件(存在问题) bypy compare 比较本地当前目录和云盘(程序的)根目录 bypy -c 取消令牌文件。一段时间后要重新授权{card-default label="backup_to_baidu.sh内容" width="100%"}backtar=`date '+%Y%m%d%H%M%S'` zip -r /backup/${backtar}.zip /www/backup/database /www/backup/site bypy upload /backup/${backtar}.zip /124.223.110.141/ find /backup -mtime +1 |grep .zip | xargs rm -f{/card-default}{card-default label="网盘下载链接" width="100%"}{cloud title="backup_to_baidu.sh" type="bd" url="https://pan.baidu.com/s/1MZBJj4g8La1W3QHOHmfGuQ?pwd=blog" password="blog"/}{/card-default}
2022年11月02日
147 阅读
0 评论
5 点赞
2022-11-01
Java-Maven环境配置
配置Maven环境修改Maven仓库路径1.在D盘(个人根据自身情况而定)新建文件夹 repository,如下:2.备份settings.xml3.配置D:\server\maven\apache-maven-3.6.3\settings.xml文件,内容如下:<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <pluginGroups /> <proxies /> <servers /> <!-- maven自动下载的jar包,会存放到该目录下 --> <localRepository>D:/server/maven/repository</localRepository> <mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>central</id> <name>Maven Repository Switchboard</name> <url>http://repo1.maven.org/maven2/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror> <mirror> <id>ibiblio</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url> </mirror> <mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </mirror> <mirror> <id>google-maven-central</id> <name>Google Maven Central</name> <url>https://maven-central.storage.googleapis.com </url> <mirrorOf>central</mirrorOf> </mirror> <!-- 中央仓库在中国的镜像 --> <mirror> <id>maven.net.cn</id> <name>oneof the central mirrors in china</name> <url>http://maven.net.cn/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>IntellIJ IDEA 中配置MavenIdea自带了apache maven,默认使用的是内置maven,会在Window用户目录下新建一个 .m2 的文件夹(一般在C盘)来存放下载的jar包。这也是为什么要调整存放路径的原因,随着开发项目越来越多,仓库会越来越大。所以我们需要配置全局settings,来调整一下配置,比如修改远程仓库地址,本地编译环境变量等。打开Settings,选择maven这里要注意,选择了自定义的maven后, 一定要勾选Override(覆盖)。同时保证 Local repository 项填写的路径 和 你勾选的配置文件中配置的路径是一致的。2.如果本地设置了MAVEN_OPTS 系统环境变量,这个步骤可以忽略。目的是确保maven输出的日志打印在控制台里不会乱码。同时也规定使用多少内存3.如果配置了本地apache-maven settings.xml 中的软件源,这步骤可以忽略。4.打开你的本地项目,选择右边栏的Maven,再点击加载标签,下载jar包依赖,最后再点击第二个图标来刷新本地文件目录。5.前往仓库目录看看,已经有jar包下载缓存到本地了。好了,大功告成,可以开始开心的撸代码了! :#(大佬)
2022年11月01日
93 阅读
0 评论
4 点赞
1
...
6
7
8
...
10