- DeepSeek面试——分词算法
mzgong
人工智能算法
DeepSeek-V3分词算法一、核心算法:字节级BPE(Byte-levelBPE,BBPE)DeepSeek-V3采用字节级BPE(BBPE)作为核心分词算法,这是对传统BPE(BytePairEncoding)算法的改进版本。其核心原理是将文本分解为字节(Byte)序列,通过统计高频相邻字节对的共现频率进行逐层合并,最终形成128K扩展词表。二、BBPE的核心优势1.多语言统一处理能力跨语言
- ddddocr识别图片中的汉字
雪小妮
python
ddddocr识别图片中的汉字importddddocrfromioimportBytesIOfromPILimportImageurl='图片地址'resp=requests.get(url)img=Image.open(BytesIO(resp.content))#初始化OCR模型#创建DdddOcr对象并初始化模型ocr=ddddocr.DdddOcr()#调用recognize函数进行图像
- 安卓实现魔改版 Base64 算法
CYRUS STUDIO
android算法逆向base64网络安全安全
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/Java实现标准Base64编码和解码Base64编码:valencoded=Base64.encodeToString(str.toByteArray(),Base64.DEFAULT)Base64解码:valdecoded=Base64.decode(str,Base64.DEFA
- java 判断byte[ ]数组是否为空
张彡543
java开发语言
1.使用数组长度进行判断publicstaticbooleanisNullOrEmpty(byte[]array){returnarray==null||array.length==0;}2.使用Arrays工具类进行判断:importjava.util.Arrays;publicstaticbooleanisNullOrEmpty(byte[]array){returnarray==null||
- Python中的字节操作
无聊到发博客的菜鸟
python嵌入式单片机
字节与整形互转int.from_bytes(返回int)a=bytes([0x00,0x01,0x22,0x71])#74353=0x00012271#这里的是以字节流的形式判断大小端,高位在前,所以是大端print(int.from_bytes(a,byteorder="big",signed=False))#输出74353b=bytes([0xff,0xfe,0xdd,0x8f])#-7435
- base64加密解密
架构师成长进阶空间
Javajava
packagecom.github.util;importorg.apache.tomcat.util.codec.binary.Base64;publicclassBase64Util{//加密publicstaticStringgetBase64(Stringstr){StringencodeBase64String=Base64.encodeBase64String(str.getBytes
- VulnHub靶机系列:Os-ByteSec
墨痕诉清风
国际证书研究网络linux服务器
一前言Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。网址:https://www.vulnhub.com二运行说明靶机名称:Os-Bytesec靶机难度:初学者
- Golang极速入门课三,基本类型知多少
猫轻王
跟着猫猫学Golang开发语言golanggo经验分享程序人生
系列文章目录跟着猫猫学Golang,快人一步系列初开,跟着我走进Go语言的世界里系列目录Golang极速入门课一,我与Golang初相见Golang极速入门课二,关键字、保留字与Go语言思想文章目录系列文章目录前言一、开门见山,数据类型1.先谈大类型2.分别有哪些呢3.特殊类型byte和rune类型4.类型转换总结前言随着Golang的不断普及,国内针对Go语言的需求不断增加,但相对应的学习者与教
- C#枚举(Enum)详解
PfCoder
C#基础从入门到精通c#开发语言Winform.net
在C#中,枚举(Enum)是一种值类型,用于定义一组命名的常量值,提高代码的可读性和可维护性。以下是枚举的核心概念、用法和最佳实践:1.枚举的核心特性类型安全:避免使用魔法数字(如0,1),用语义化的名称代替。值类型:存储在栈上,默认基础类型为int,但可显式指定其他整型(如byte,short)。不可继承:枚举本身不能派生其他类型。组合支持:通过Flags特性实现位标志(Bit
- android storage_state
月盈五
android
storage_state是android用来输出磁盘状态的event类型的日志,下面我们看下它的定义和使用以及磁盘状态介绍。定义#---------------------------#DeviceStorageMonitorService.java#---------------------------#Storagevolumestateandusablespaceinbytes2749st
- 后端 - java - - 数据类型
cv高级工程师YKY
javajava开发语言
1、数值型整数:byte、short、int、longbyte:8位有符号二进制补码表示的整数默认为0范围-128(-2^7)~127(2^7-1)short:16位有符号二进制补码表示的整数默认为0范围-23768(-2^15)~23767(2^15-1)int:32位有符号二进制补码表示的整数默认为0范围-2,147,483,648(-2^31)~2,147,483,647(2^31–1)包装
- Java 基本数据类型转换
yaoxin521123
【原来如此】java开发语言
Java基本数据类型转一、什么是基本数据类型的自动转换?在Java中,基本数据类型的自动转换(也叫隐式类型转换或提升)是指小范围的数据类型可以自动转换为更大范围的数据类型,而不需要额外的类型转换代码。这种转换主要发生在数值类型之间,包括:整型:byte、short、int、long浮点型:float、double字符型:char❗注意:boolean类型不能自动转换为其他任何类型,也不能由其他类型
- 应广单片机adc_应广单片机选型表-2014
weixin_39866974
应广单片机adc
Series系列型号FPPA核心数OTPROM(KWord)RAM(Byte)ADC(bit*ch)I/OLCD(bit*ch)PWMINTSpecialFunctionsPackageRe.PMS150-S081160-6--1-SOP82501C,12C509PMC150-S081160-6--1-SOP8131,513PMC153-S141164-12--2-SOP14153,2511,16
- 应广单片机adc_台湾应广单片机 单片机PMC131 带12位ADC、采用FPPATM技术
晁好刚
应广单片机adc
PMC131台湾应广一级代理现货批发长期供应带12位ADC、采用FPPATM技术、单核心8位单片机PMC131替代松翰SN8P2711芯片PIN对PIN,引脚功能及脚位完全兼容,仅需更换code,不改PCB,直接替换即可。功能一样的前提下,价格更低廉。单片机特点1.1高性能RISCCPU架构〓工作模式:单一处理单元运作模式〓1.5Kx16bitsOTP程序存储器〓88Bytes数据存储器〓提供86
- 单片机-STM32U5系列各模式下的功耗
手树
单片机stm32嵌入式硬件
多种功耗模式+更多省电小技巧先进且灵活的低功耗设计110nAShutdown300nAStandby475nAStandby+RTC1.7μAStop3(with16kBSRAM)3.1μAStop3(fullretantionSRAM)3.4μAStop2(with16kBSRAM)6.6μASlop2(fullretention:786-KbyteRA)Downto19.5uA/MHz(Run
- Libreswan: warning: netlink_acquire got message with length 52 < 232 bytes; ignore message
mzhan017
网络网络
libreswan的版本:4.6,4.10,4.11,最近的版本都有这个问题。如果网络有问题的时候,会出现超多的日志,在auth文件很快就可以将var目录占满:May823:23:00apluto[3868]:netlink_acquiregotmessagewithlength52<232bytes;ignoremessage这个错误的原因是,代码逻辑有问题,混淆了消息类型;https://gi
- 0310-冒泡排序、选择排序的Java实现
春生野草
数据结构笔记排序算法算法java数据结构
Java基本//定义使用变量//定义使用函数//基本类型//整数byteshortintlong//小数floatdouble//字符char''//布尔boolean//引用类型//StringArrayListLinkedList自定义冒泡排序两两比较交换冒泡排序Java实现package排序;importjava.util.Arrays;publicclassTest{publicstati
- AIGC视频生成模型:ByteDance的PixelDance模型
好评笔记
AIGC音视频机器学习人工智能深度学习计算机视觉transformer
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍ByteDance的视频生成模型PixelDance,论文于2023年11月发布,模型上线于2024年9月,同时期上线的模型还有Seaweed(论文未发布)。热门专栏机器学习机器学习笔记合集深度学习深度学习笔记合集优质专栏回顾:机器学习笔记深度学习笔记多模态论文笔记AIGC—图像文章目录热门专栏机器学习深度学习
- 【LLM】从零开始实现 LLaMA3
FOUR_A
LLM人工智能机器学习大模型llama算法
分词器在这里,我们不会实现一个BPE分词器(但AndrejKarpathy有一个非常简洁的实现)。BPE(BytePairEncoding,字节对编码)是一种数据压缩算法,也被用于自然语言处理中的分词方法。它通过逐步将常见的字符或子词组合成更长的词元(tokens),从而有效地表示文本中的词汇。在自然语言处理中的BPE分词器的工作原理如下:初始化:首先,将所有词汇表中的单词分解为单个字符或符号。例
- 视频生成缩略图
后端
视频生成缩略图最近有个需求,视频上传之后在列表和详情页需要展示缩略图使用ffmpeg首先引入jar包org.bytedecojavacpp1.4.3org.bytedecojavacv1.4.3org.bytedeco.javacpp-presetsffmpeg-platform4.0.2-1.4.3代码如下publicStringgetThumbnails(StringvideoFilePath
- java进行图片压缩
后端
图片压缩添加依赖com.siashantoolkit-image1.1.9使用Thumbnails来进行图片压缩publicstaticvoidcompressImage(Stringpath,intwidth,intheight,Stringsuffix,StringoutputFilename){try{ByteArrayOutputStreamout=newByteArrayOutputSt
- 数字IP转换成字符串IP
故事里故去
C#C#字符串处理时间性能IP地址构造字节操作
DateTimelulu=DateTime.Now;byte[][]data=newbyte[256][];for(inti=0;i<256;i++){data[i]=Encoding.Default.GetBytes("."+i.ToString());}byte[]buff1=newbyte[4];buff1[0]=230;buff1[1]=220;buff1[2]=123;buff1[3]=
- Redis过期机制
2301_76723322
redis数据库缓存golanggo
const(cacheDuration=24*time.Hour)funcSetToCache(rdb*redis.Client,keystring,data[]byte)error{returnrdb.Set(rdb.Context(),key,data,cacheDuration).Err()}以上函数中的rdb.Set(rdb.Context(),key,data,cacheDuration
- jvm堆外内存(直接内存)
不坠青云之志
JavaJvmdirectmemory
堆外内存(直接内存)堆外内存,又被称为直接内存。这部分内存不是由jvm管理和回收的。需要我们手动的回收。堆内内存是属于jvm的,由jvm进行分配和管理,属于"用户态",而推外内存是由操作系统管理的,属于"内核态"在jdk1.4中新加入了NIO类,他可以调用native函数库直接分配堆外内存,然后通过java堆中的DirectByteBuffer对象来指向这块内存,进行内存分配等工作。可以这样申请堆
- JVM——15.定位 堆外内存 OOM
你想要怎样的未来
jvmjvm实战javajavajvmjvm.gcjava虚拟机
文章目录1.ByteBuffer堆外内存介绍2.ByteBuffer堆外内存申请、释放(源码分析)2.1堆外内存申请2.2堆外内存释放3.什么情况会发生堆外内存OOM4.模拟堆外内存OOM4.1模拟14.2模拟24.3模拟35.堆外内存OOM的定位及解决1.ByteBuffer堆外内存介绍在介绍OOM那篇文章中,对堆外内存进行了介绍,就直接把它复制过来;ByteBuffer和DirectByteB
- [IoTDB]The write is rejected because the wal directory size has reached the threshold
2a3b4c
IoTDBiotdb
现象写入集群报错:Thewriteisrejectedbecausethewaldirectorysizehasreachedthethreshold53687091200bytes.YoumayneedtoadjusttheflushpolicyofthestoragestorageengineortheIoTConsensussynchronizationparameter`原因及方案1.1.
- 【从零开始学java】第1章,基础知识入门,小白零基础可看,笔记整理
莉莉鸟
java学习
java基础11注释标志符关键字注释注释并不会被执行,是写给人类看的,书写注释是一个很好的习惯平时写代码一定要注意规范单行注释//多行注释/*注释*/文档注释/**注释*/2标识符关键字abstract:用于声明抽象类或抽象方法。assert:用于调试时进行断言。boolean:表示布尔类型(true或false)。break:跳出当前循环或switch语句。byte:表示字节数据类型。case:
- android okhttp几种日志拦截级别区别
stevenzqzq
androidokhttp
一说明1代码enumclassLevel{/**Nologs.*/NONE,/***Logsrequestandresponselines.**Example:*```*-->POST/greetinghttp/1.1(3-bytebody)**POST/greetinghttp/1.1*Host:example.com*Content-Type:plain/text*Content-Length
- 为什么内存进制是1024,数据传输速率是1000?
火凤凰--凤凰码路
java
内存进制:在日常生活中,有0-9十种标识,所以就用10进制。在钟表上,有60个刻度,所以就用60进制。在计算机底层,只有0和1两种标识,所以就用2进制,由于2太小了,所以就用了2^10作为进制。大胆推测,假如哪天计算机出现了3种标识,那么就要用3^n进制了。进制换算1T=1024GB1G=1024M1M=1024KlK=1024B1B=8b(B:byte、b:bit)1个bit,内存占一位,存0或
- 2023年java面试问题大全及答案大全
m0_74824574
面试学习路线阿里巴巴java面试开发语言
202年常见的Java面试问题和答案:Java中的基本数据类型有哪些?答:Java中的基本数据类型包括整型(int,short,long,byte)、浮点型(float,double)、字符型(char)和布尔型(boolean)。String和StringBuilder之间的区别是什么?答:String是不可变的,每次对String的操作都会创建一个新的String对象,而StringBuild
- 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