- 深入浅出:Go语言中的`bufio`包及其数据类型详解
少林码僧
go开发工作经验汇总golang开发语言后端
深入浅出:Go语言中的bufio包及其数据类型详解Go语言以其简洁、高效和强大的库支持而闻名,其中bufio包作为标准库的一部分,为开发者提供了便捷的缓冲输入输出功能。本文将深入探讨bufio包中的数据类型及其使用方法,帮助读者更好地理解和应用这一工具。一、什么是bufio包?bufio包是Go语言标准库中用于处理缓冲输入输出的一个重要模块。它通过提供一系列的缓冲器(如Reader、Writer等
- 2024年Python最新Python爬虫入门教程27:爬取某电商平台数据内容并做数据可视化
2401_84584609
程序员python爬虫信息可视化
‘详情页’])csv_writer.writeheader()forpageinrange(1,26):print(f’正在保存第{page}页数据内容===========')url=f’http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-year-2017-0-1-{page}’headers={‘User-Agent’:‘
- python爬取高德地图道路交通状态数据代码
weixin_17839606517
可视化python开发语言
"""author:17839606517"""importdatetimeimportdatetimeimportosimportcsvfromcodecsimportStreamReaderWriterimportnumpyasnpimportrequestsimportpandasaspdimportjsonimportcodecsimporttimedefaaa():#初始API的URL#
- 使用Emgu.CV将tif保存视频,并用AxWindowsMediaPlayer打开
orangapple
前端javascript数据库
1.使用Emgu.CV将tif保存视频,非常简单打开:VideoWriterwriter=newVideoWriter(name,VideoWriter.Fourcc('M','J','P','G'),displayRate,newSize(width,height),false);写入writer.Write(mat);关闭writer.Dispose();完整代码如下:usingEmgu.CV
- java 快速生成javaBean类
angen2018
javajava
packagecom.angen.util;importjava.io.FileWriter;importjava.io.IOException;importjava.sql.*;importjava.util.ArrayList;importjava.util.List;/***@description:PojoUtil*@date:2022/7/20*/publicclassPojoUtil{
- jsp有哪些内置对象?作用分别是什么?
富哥92
面试
1.HttpServletRequet类的Request对象:代表请求对象,主要用于接受客户端通过HTTP协议连接传输服务器端的数据。2.HttpSevletResponse类的Response对象:代表响应对象,主要用于向客户端发送数据。3.JspWriter类的out对象:主要用于向客户端输出数据,out的基类是jspWriter4.HttpSession类的session对象:主要用来分别保
- 2024 中国技术先锋年度评选正式启动!6 大奖项即将揭晓
前言中国技术先锋年度评选已走过十多个年头。从最早的TopWriter评选,到中国技术品牌影响力企业的揭晓,再到5年前首次推出的中国开源先锋33人评选,我们始终密切关注着数字经济的蓬勃发展。这些企业和个人为推动数字化、信息化和智能化进程作出了巨大贡献。面对不断变化的外部环境,他们深耕行业,信仰技术的力量,勇于创新,坚定践行技术理想。他们是改变世界方向的探索者,也是引领未来的技术先锋。SegmentF
- Linux删除监听端口进程,linux只端口监听及杀死进程
探旅
Linux删除监听端口进程
itextpdf生成pdf文件一.简介itextpdf是一个开源的允许你去创建和操作PDF文档的库.它使的开发者可以提高web和其他应用来动态地生成或操作PDF文档.通过iText中的Document和PdfWriter类,...QtSizePolicy属性控件的sizePolicy说明控件在布局管理中的缩放方式.Qt提供的控件都有一个合理的缺省sizePolicy,但是这个缺省值有时不能适合所有
- Python 报错 ImportError: cannot import name xxx from partially initialized module xxx
SmallerFL
其他问题fixPython相关python深度学习pytorch人工智能
文章目录1.报错2.原因3.参考1.报错ImportError:cannotimportname'SummaryWriter'frompartiallyinitializedmodule'torch.utils.tensorboard'(mostlikelyduetoacircularimport)(/Library/Frameworks/Python.framework/Versions/3.1
- C# 多线程操作同一个文件,如何避免冲突
FlYFlOWERANDLEAF
c#开发语言
1使用lock经测试,依然存在线程冲突privatestaticobjectlocker=newobject();……lock(locker){stringbText=File.ReadAllText(FPath);returnbText;}……lock(locker){File.WriteAllText(FPath,aContent);}2使用ReaderWriterLockSlim经测试,依然
- 一文搞懂 Flink Task 数据交互之数据写源码
mn_kw
flink交互java
一文搞懂FlinkTask数据交互之数据写源码1.RecordWriterOutput2.RecordWriter3.数据分区器ChannelSelector4.数据输出模型ResultPartition5.子模型ResultSubpartition6.本地buffer池LocalBufferPool7.获取buffer8.将buffer添加到ResultSubpartitionFlink重要源码
- 【JAVA入门】Day42 - 转换流
Clown Piece
JAVA入门javapython开发语言
【JAVA入门】Day42-转换流文章目录【JAVA入门】Day42-转换流转换流是字符流和字节流之间的桥梁。转换流中的输入流叫做InputStreamReader,它可以把字节流转换为字符流。转换流的输出流叫做OutputStreamWriter,它可以把字符流转换成字节流。【使用例1】把一个GBK的文件中的中文读取到内存中,不能出现乱码。(作用1:按照指定的字符集读取数据)packageCon
- Java学习Day12------字符流、字符缓冲流、转换流、对象操作流程
挨踢农民工dsh
JavaSE学习java
字符流、字符缓冲流、转换流、对象操作流程字符流FileWriterFileReader字符缓冲流转换流对象操作流字符流(1)概述:采用字节流读取数据的时候,容易出现乱码问题,这个时候就需要使用字节流而不是字符流(字节流一次只能读取一个字节,无法确定码表的情况下,转换的过程当中,就会出现乱码,GBK是两个字节进行转换,UTF-8是三个字节进行转换)(2)常见的编码表 a)ASCII码表 b)GB
- VBA程序xlsm文件另存xlsx不能保存的问题
文剑至秦
编程excel
表达式.SaveAs(FileName,FileFormat,Password,WriteResPassword,ReadOnlyRecommended,CreateBackup,AccessMode,ConflictResolution,AddToMru,TextCodepage,TextVisualLayout,Local)1.首先看看FileFormat可选Variant保存文件时使用的文件
- We are talking about 《WAR IS A LIE》
MichaelSure
图片发自App图片发自AppTodayIreadabookwhichiscalledWarisalie.ThisisabookwrittebyDavidSwanson,anAmericanwriterwhofightsagainstthewar.WarisawordalwaysrelatetotheUnitedStatesandDavidthinkhismotherlandisthebiggest
- 基于Pytorch框架的CIFAR-10图像分类任务(附带完整代码)
难得北窗高卧
pytorch人工智能python深度学习
本文主要实现在pytorch框架下,训练CIFAR数据集,通过观察训练和验证的误差、准确率图像来进一步改善。保存最好的模型。测试集打印整体准确率和每一类别的准确率,并生成混淆矩阵,将其中每一个错误的图片并保存下来。语言:python实现方式:pytorch框架,CPU关键词:CIFAR-10数据集、Dataset和Dataloader、SummaryWriter画图、网络模型搭建、混淆矩阵、统计所
- Pytorch深度学习- Tensorboard的使用以及图像变换transform的使用(小土堆)
Mr chenxizhi
深度学习人工智能python
Tensorboard中的SummaryWriter使用导入数据包fromtorch.utils.tensorboardimportSummaryWriter构造函数方法#那么生成的数据文件都存在于logs文件夹下writer=SummaryWriter("logs")add_scalar代码示例'''tag:数据标题global_step:x轴数据scalar_value:y轴数据'''#运行结
- 动手学深度学习(pytorch土堆)-02TensorBoard的使用
#include<菜鸡>
深度学习深度学习pytorch人工智能
1.可视化代码使用了torch.utils.tensorboard将数据记录到TensorBoard以便可视化。具体来说,它将标量数据记录到目录logs中,使用的是SummaryWriter类。代码分解如下:SummaryWriter("logs"):初始化一个TensorBoard的写入器,日志会保存到"logs"目录。writer.add_scalar("y=x",i,i):在循环的每一次迭代
- pyinstaller|打包生成的EXE报错No module named ‘openpyxl.cell._writer‘
孤独的追光者
Pythonpython
一、问题描述#-*-coding:utf-8-*-#@CreateTime:2024/4/2213:38#@EditTime:2024/4/2310:59#@Author:Tim#@File:UI.py#@Software:PyCharmimportreimporttkinterastkfromtkinterimportttkfromtkinterimportmessageboximportpan
- JsonCpp源码分析——Reader
哎呦,帅小伙哦
#jsoncppjson
1、与Writer模块功能相反,可以将Reader理解成一个反序列化的工具,Writer的作用主要是将Value对象转成string或者流式的结构,Reader的作用主要是将流式的结构转成Value类型的对象。Reader类的主要职责有3个,解析JSON字符串:将JSON格式的字符串读取并解析成相应的C++数据结构。处理不同的数据类型,支持解析JSON对象、数组、字符串、数字、布尔值和null。处
- Go Web实战-3.集成Logrus
DevelopLink
物联网GinLogrusGolangWeb
Gin自带了logger,可以输出到文件。不过为了更好的管理日志,以及后面的集中采集,这里引入了logrus。先看看Gin的log,官方代码,比较简单。funcmain(){//关闭打印的字体颜色。到文件里面不需要颜色gin.DisableConsoleColor()//输出到文件f,_:=os.Create("gin.log")gin.DefaultWriter=io.MultiWriter(f
- http.FileServer修改Header
hengshen
定义一个函数包裹Handler,返回HandleFunc,然后通过ResponseWriter修改Header。funcchangeHeaderThenServe(hhttp.Handler)http.HandlerFunc{returnfunc(whttp.ResponseWriter,r*http.Request){//Setsomeheader.w.Header().Add("Keep-Al
- SpringMVC参数解析器HandlerMethodArgumentResolver
这是一条海鱼
SpringMVC
前言在享受SpringMVC带给你便捷的时候,你是否曾经这样疑问过:Controller的handler方法参数能够自动完成参数封装(有时即使没有@PathVariable、@RequestParam、@RequestBody等注解都可),甚至在方法参数任意位置写HttpServletRequest、HttpSession、Writer…等类型的参数,它自动就有值了便可直接使用。对此你是否想问一句
- 数据分析师之打杂入门--运营学习
爱数据爱分析
接上篇数据分析师之打杂入门--数据技能学习(网址:https://www.jianshu.com/writer#/notebooks/41435296/notes/58416752)在经历了辛苦的业务学习、数据学习后,很多分析师们以为可以羽扇纶巾、指点江山、激扬数据、提出策略、指导业务发展了。然而现实是:1、今天拉个数据,明天换个统计口径再拉数据。2、本周开发个报表,下周叠加字段继续开发报表,加班
- C++ opencv之视频读写(VideoCapture,VideoWriter)
阿超没有蛀牙
OpenCVc++opencv
这篇博客主要讲解OpenCV中视频读写。主要涉及到两个API函数:VideoCaptureVideoWriter一、函数简介1.1VideoCapture视频文件读取、摄像头读取、视频流读取VideoCapture既支持从视频文件(.avi,.mpg格式)读取,也支持直接从摄像机(比如电脑自带摄像头)中读取。要想获取视频需要先创建一个VideoCapture对象,VideoCapture对象的创建
- --考核总结--
免檒
javajvm开发语言
一、hashmap的线程不安全性以下的示例是hashmap在三个线程的并发下进行添加操作importjava.util.HashMap;importjava.util.Map;publicclassMain_1{ privatestaticMapsharedMap=newHashMapaddToMap("key1","value1")); Threadwriter2=newThread(
- POST请求传入中文参数,接收端乱码
常敲代码手不生
IDEA学习与实践
问题描述:通过post请求调试短信接口发送出去后,客户端无法收到短信,中文内容乱码追踪过程:接口采用post请求进行,无法收取短信的接口代码如下:publicstaticStringsendPost(Stringurl,MapparamMap){PrintWriterout=null;BufferedReaderin=null;Stringresult="";try{URLrealUrl=newU
- 【Day09-练习】
完球了
java开发语言学习
1.1字符流利用字符流将一个文本文件复制到E:盘下,例如:D:/1.txt复制到E:/2.txt请使用字符流:FileReader和FileWriter实现publicclassTest1{publicstaticvoidmain(String[]args)throwsException{try(FileReaderreader=newFileReader("D:/1.txt");FileWrit
- 《随机漫步的傻瓜》第8章|不要成为暗夜倖存者
小觅蜂
今日继续跟着定投人生群进行FooledbyRandomness《中译:随机骗局/随机漫步的傻瓜》共读。进度进入到第二部份:打字机前的猴子(MONKEYSONTYPEWRITERS)—谈幸存者偏误和其他偏误(SurvivorshipandOtherBiases)。第二部份的范围有四个关于心理认知偏误的章节。内容经过笔者多次月读的了解,分别是:第8章谈幸存者偏误、第9章谈资料採摘、第10章谈人生中非线
- 【Flink】Flink 写入到 CSV BucketingSink 的使用方法
九师兄
大数据-flinkflinkBucketingSinkcsv
1.概述【File】CSV文件写入追加写入CsvWriter的使用有一个需求是这样的,flink读取kafka数据,然后写入到csv,但是写入的时候,要求写入一个文件,然后在监听到配置文件变化的时候,将写入到另外一个文件。然后想到这里我就想到了CsvWriter实体类@Data@AllArgsConstructor@NoArgsConstructorpublicstaticclass
- 312个免费高速HTTP代理IP(能隐藏自己真实IP地址)
yangshangchuan
高速免费superwordHTTP代理
124.88.67.20:843
190.36.223.93:8080
117.147.221.38:8123
122.228.92.103:3128
183.247.211.159:8123
124.88.67.35:81
112.18.51.167:8123
218.28.96.39:3128
49.94.160.198:3128
183.20
- pull解析和json编码
百合不是茶
androidpull解析json
n.json文件:
[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]
pull.xml文件
<?xml version="1.0" encoding="utf-8"?>
<stu>
<name>java
- [能源与矿产]石油与地球生态系统
comsci
能源
按照苏联的科学界的说法,石油并非是远古的生物残骸的演变产物,而是一种可以由某些特殊地质结构和物理条件生产出来的东西,也就是说,石油是可以自增长的....
那么我们做一个猜想: 石油好像是地球的体液,我们地球具有自动产生石油的某种机制,只要我们不过量开采石油,并保护好
- 类与对象浅谈
沐刃青蛟
java基础
类,字面理解,便是同一种事物的总称,比如人类,是对世界上所有人的一个总称。而对象,便是类的具体化,实例化,是一个具体事物,比如张飞这个人,就是人类的一个对象。但要注意的是:张飞这个人是对象,而不是张飞,张飞只是他这个人的名字,是他的属性而已。而一个类中包含了属性和方法这两兄弟,他们分别用来描述对象的行为和性质(感觉应该是
- 新站开始被收录后,我们应该做什么?
IT独行者
PHPseo
新站开始被收录后,我们应该做什么?
百度终于开始收录自己的网站了,作为站长,你是不是觉得那一刻很有成就感呢,同时,你是不是又很茫然,不知道下一步该做什么了?至少我当初就是这样,在这里和大家一份分享一下新站收录后,我们要做哪些工作。
至于如何让百度快速收录自己的网站,可以参考我之前的帖子《新站让百
- oracle 连接碰到的问题
文强chu
oracle
Unable to find a java Virtual Machine--安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案
作者:草根IT网 来源:未知 人气:813标签:
导读:安装64位版Oracle11gR2后发现启动SQLDeveloper时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\prod
- Swing中按ctrl键同时移动鼠标拖动组件(类中多借口共享同一数据)
小桔子
java继承swing接口监听
都知道java中类只能单继承,但可以实现多个接口,但我发现实现多个接口之后,多个接口却不能共享同一个数据,应用开发中想实现:当用户按着ctrl键时,可以用鼠标点击拖动组件,比如说文本框。
编写一个监听实现KeyListener,NouseListener,MouseMotionListener三个接口,重写方法。定义一个全局变量boolea
- linux常用的命令
aichenglong
linux常用命令
1 startx切换到图形化界面
2 man命令:查看帮助信息
man 需要查看的命令,man命令提供了大量的帮助信息,一般可以分成4个部分
name:对命令的简单说明
synopsis:命令的使用格式说明
description:命令的详细说明信息
options:命令的各项说明
3 date:显示时间
语法:date [OPTION]... [+FORMAT]
- eclipse内存优化
AILIKES
javaeclipsejvmjdk
一 基本说明 在JVM中,总体上分2块内存区,默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。 1)堆内存(Heap memory):堆是运行时数据区域,所有类实例和数组的内存均从此处分配,是Java代码可及的内存,是留给开发人
- 关键字的使用探讨
百合不是茶
关键字
//关键字的使用探讨/*访问关键词private 只能在本类中访问public 只能在本工程中访问protected 只能在包中和子类中访问默认的 只能在包中访问*//*final 类 方法 变量 final 类 不能被继承 final 方法 不能被子类覆盖,但可以继承 final 变量 只能有一次赋值,赋值后不能改变 final 不能用来修饰构造方法*///this()
- JS中定义对象的几种方式
bijian1013
js
1. 基于已有对象扩充其对象和方法(只适合于临时的生成一个对象):
<html>
<head>
<title>基于已有对象扩充其对象和方法(只适合于临时的生成一个对象)</title>
</head>
<script>
var obj = new Object();
- 表驱动法实例
bijian1013
java表驱动法TDD
获得月的天数是典型的直接访问驱动表方式的实例,下面我们来展示一下:
MonthDaysTest.java
package com.study.test;
import org.junit.Assert;
import org.junit.Test;
import com.study.MonthDays;
public class MonthDaysTest {
@T
- LInux启停重启常用服务器的脚本
bit1129
linux
启动,停止和重启常用服务器的Bash脚本,对于每个服务器,需要根据实际的安装路径做相应的修改
#! /bin/bash
Servers=(Apache2, Nginx, Resin, Tomcat, Couchbase, SVN, ActiveMQ, Mongo);
Ops=(Start, Stop, Restart);
currentDir=$(pwd);
echo
- 【HBase六】REST操作HBase
bit1129
hbase
HBase提供了REST风格的服务方便查看HBase集群的信息,以及执行增删改查操作
1. 启动和停止HBase REST 服务 1.1 启动REST服务
前台启动(默认端口号8080)
[hadoop@hadoop bin]$ ./hbase rest start
后台启动
hbase-daemon.sh start rest
启动时指定
- 大话zabbix 3.0设计假设
ronin47
What’s new in Zabbix 2.0?
去年开始使用Zabbix的时候,是1.8.X的版本,今年Zabbix已经跨入了2.0的时代。看了2.0的release notes,和performance相关的有下面几个:
:: Performance improvements::Trigger related da
- http错误码大全
byalias
http协议javaweb
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1)1xx:信息,请求收到,继续处理
2)2xx:成功,行为被成功地接受、理解和采纳
3)3xx:重定向,为了完成请求,必须进一步执行的动作
4)4xx:客户端错误,请求包含语法错误或者请求无法实现
5)5xx:服务器错误,服务器不能实现一种明显无效的请求
- J2EE设计模式-Intercepting Filter
bylijinnan
java设计模式数据结构
Intercepting Filter类似于职责链模式
有两种实现
其中一种是Filter之间没有联系,全部Filter都存放在FilterChain中,由FilterChain来有序或无序地把把所有Filter调用一遍。没有用到链表这种数据结构。示例如下:
package com.ljn.filter.custom;
import java.util.ArrayList;
- 修改jboss端口
chicony
jboss
修改jboss端口
%JBOSS_HOME%\server\{服务实例名}\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml
中找到
<!-- The ports-default bindings are obtained by taking the base bindin
- c++ 用类模版实现数组类
CrazyMizzz
C++
最近c++学到数组类,写了代码将他实现,基本具有vector类的功能
#include<iostream>
#include<string>
#include<cassert>
using namespace std;
template<class T>
class Array
{
public:
//构造函数
- hadoop dfs.datanode.du.reserved 预留空间配置方法
daizj
hadoop预留空间
对于datanode配置预留空间的方法 为:在hdfs-site.xml添加如下配置
<property>
<name>dfs.datanode.du.reserved</name>
<value>10737418240</value>
 
- mysql远程访问的设置
dcj3sjt126com
mysql防火墙
第一步: 激活网络设置 你需要编辑mysql配置文件my.cnf. 通常状况,my.cnf放置于在以下目录: /etc/mysql/my.cnf (Debian linux) /etc/my.cnf (Red Hat Linux/Fedora Linux) /var/db/mysql/my.cnf (FreeBSD) 然后用vi编辑my.cnf,修改内容从以下行: [mysqld] 你所需要: 1
- ios 使用特定的popToViewController返回到相应的Controller
dcj3sjt126com
controller
1、取navigationCtroller中的Controllers
NSArray * ctrlArray = self.navigationController.viewControllers;
2、取出后,执行,
[self.navigationController popToViewController:[ctrlArray objectAtIndex:0] animated:YES
- Linux正则表达式和通配符的区别
eksliang
正则表达式通配符和正则表达式的区别通配符
转载请出自出处:http://eksliang.iteye.com/blog/1976579
首先得明白二者是截然不同的
通配符只能用在shell命令中,用来处理字符串的的匹配。
判断一个命令是否为bash shell(linux 默认的shell)的内置命令
type -t commad
返回结果含义
file 表示为外部命令
alias 表示该
- Ubuntu Mysql Install and CONF
gengzg
Install
http://www.navicat.com.cn/download/navicat-for-mysql
Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html
Step2:进入下载目录,解压压缩包:tar -zxvf navicat11_mysql_en.tar.gz
- 批处理,删除文件bat
huqiji
windowsdos
@echo off
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)
rem 指定待删除文件的存放路径
set SrcDir=C:/Test/BatHome
rem 指定天数
set DaysAgo=1
- 跨浏览器兼容的HTML5视频音频播放器
天梯梦
html5
HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件。而html5media.js可以在不支持html5的浏览器上使video和audio标签生效。 How to enable <video> and <audio> tags in
- Bundle自定义数据传递
hm4123660
androidSerializable自定义数据传递BundleParcelable
我们都知道Bundle可能过put****()方法添加各种基本类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。如传递一个字符串到下一个Activity
把数据放到Intent
- C#:异步编程和线程的使用(.NET 4.5 )
powertoolsteam
.net线程C#异步编程
异步编程和线程处理是并发或并行编程非常重要的功能特征。为了实现异步编程,可使用线程也可以不用。将异步与线程同时讲,将有助于我们更好的理解它们的特征。
本文中涉及关键知识点
1. 异步编程
2. 线程的使用
3. 基于任务的异步模式
4. 并行编程
5. 总结
异步编程
什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程。通常情况下,C#程序
- spark 查看 job history 日志
Stark_Summer
日志sparkhistoryjob
SPARK_HOME/conf 下:
spark-defaults.conf 增加如下内容
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/var/log/spark spark.eventLog.compress true
spark-env.sh 增加如下内容
export SP
- SSH框架搭建
wangxiukai2015eye
springHibernatestruts
MyEclipse搭建SSH框架 Struts Spring Hibernate
1、new一个web project。
2、右键项目,为项目添加Struts支持。
选择Struts2 Core Libraries -<MyEclipes-Library>
点击Finish。src目录下多了struts