#作者:闫乾苓文章目录1.版本选择Ceph版本发布历史目前官方在维护的版本2.部署方法3.服务器规划4.前置配置4.1系统更新4.2配置hostscat>>/etc/hosts>/etc/hosts/etc/chrony.conf/etc/chrony.conf/etc/os-release<
SQL分类
penglaifei
Websql数据库
DDL(DataDefiationLanguage)数据定义语言,用来定义数据库对象(数据库、表、字段)数据库操作——查询所有数据库:show.databases;注:information_schemamysqlperformance_schemasys是系统自带的数据库——查询当前数据库selectdatabase();——使用/切换数据库usename#数据库名;——创建数据库(数据库名不可
基于PyTorch和ResNet18的花卉识别实战(附完整代码)
意.远
pytorch人工智能python深度学习
一、项目背景与效果花卉分类是计算机视觉的经典任务。本文使用PyTorch框架,基于ResNet18模型实现了102种花卉的分类任务。完整代码可直接复制运行,最终验证集准确率达8.2%,文中同步分析性能瓶颈与优化方案。二、环境配置与数据准备1.环境要求#主要依赖库importtorchfromtorchimportnn,optimfromtorchvisionimporttransforms,dat
create-react-app创建的项目中设置webpack配置
沃野_juededa
react.jswebpack前端
create-react-app创建的项目默认使用的是react-scripts(存在于node_modules文件夹中)来处理开发服务器和构建,它内置了一些webpack相关配置。一般不会暴露出来给开发者,但是在有些情况下我们需要修改下webpack默认配置,如修改outputPath、sourcemap方案等,但由于eject是不可逆的,所以craco插件应运而生,为我们提供了更好的解决方案。
http 从请求到响应的过程中发生了什么
沃野_juededa
http网络协议网络
DNS域名解析:当用户在浏览器地址栏输入网址时,浏览器首先会尝试从自身的DNS缓存中查找域名的IP地址。如果缓存中没有找到,浏览器会向系统DNS缓存、hosts文件以及本地DNS服务器发起查询请求,最终获取到域名的IP地址。TCP三次握手:浏览器与服务器建立TCP连接,这个过程称为三次握手。服务器监听端口,客户端发送SYN包请求连接,服务器响应SYN+ACK包,客户端再次发送ACK包确认
element ui 封装Table组件
沃野_juededa
ui
1.首先npmielement-ui-S安装element-ui2.引入Element在main.js中写入以下内容:importVuefrom'vue';importElementUIfrom'element-ui';import'element-ui/lib/theme-chalk/index.css';importAppfrom'./App.vue';Vue.use(ElementUI);n
echarts graph搭配lines形成动效关系图
沃野_juededa
echartsjavascript前端
import*asechartsfrom'echarts';exportdefault{mounted(){this.initChart();},methods:{initChart(){constchart=echarts.init(this.$refs.chart);letdataMap=newMap();constdata={nodes:[{name:'Node1'},{name:'Node
C++ 中的explicit关键字
张太行_
c++开发语言
在C++中,explicit是一个用于修饰构造函数的关键字,它主要用于防止隐式类型转换,下面从多个方面详细介绍它。基本语法explicit关键字只能用于修饰类的构造函数,其语法形式如下:classClassName{public://带有explicit修饰的构造函数explicitClassName(parameter_list);};隐式类型转换问题在没有explicit关键字时,单参数的构造
CAN 调试总结
张太行_
arm网络协议
1.查看CAN设备状态命令:ifconfig~#ifconfigcan0Linkencap:UNSPECHWaddr00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00UPRUNNINGNOARPMTU:16Metric:1RXpackets:2165errors:0dropped:0overruns:0frame:0TXpackets:0errors:0
ip link 命令总结
张太行_
tcp/ip网络网络协议
link表示linklayer的意思,即链路层。该命令用于管理和查看网络接口。iplinksetiplinksetDEVICE{up|down|arp{on|off}|nameNEWNAME|addressLLADDR}选项说明:devDEVICE:指定要操作的设备名upanddown:启动或停用该设备arponorarpoff:启用或禁用该设备的arp协议nameNAME:修改指定设备的名称,建
银河麒麟登录输入密码提示启动会话失败
张太行_
ubuntulinux运维kylin
银河麒麟系统使用过程中,因执行了update,在启动设备登录时,出现输入密码登录登录时,提示“启动会话失败”,而无法进入桌面。解决方法:1、ctrl+alt+f1切换到tty1(或使用ssh等远程工具登录到设备,此时ssh是可以正常登录的);2、登录;3、联网状态下输入命令:sudoaptinstallmate-session-manager--reinstall4、reboot重启。在解决这个问
Python列表与元组的深度剖析
jijihusong006
程序pythonwindows开发语言
Python列表与元组的深度剖析:从底层实现到应用场景的全方位对比一、核心差异概览Python教程https://pan.quark.cn/s/7cefe3163f45传送代资料库https://link3.cc/aa99特性列表(List)元组(Tuple)可变性可变(Mutable)不可变(Immutable)语法表示方括号[]圆括号()内存占用较大(动态数组结构)较小(静态数组结构)哈希支持
推荐开源项目:Tower - 网络服务构建利器
劳治亮
推荐开源项目:Tower-网络服务构建利器towerasyncfn(Request)->Result项目地址:https://gitcode.com/gh_mirrors/to/towerTower是一个为构建强大、模块化和可重用的网络客户端和服务端组件库。这个库以其高效且易于使用的特性,为开发者提供了一种便捷的方式去构建可靠的网络应用。项目介绍Tower面向的是那些希望简化网络通信复杂性的开发者
推荐项目:yaml-pro,提升你的YAML编辑体验
余靖年Veronica
推荐项目:yaml-pro,提升你的YAML编辑体验项目地址:https://gitcode.com/gh_mirrors/ya/yaml-pro在日常的开发工作中,YAML作为配置文件的宠儿,其简洁明了的语法深受开发者喜爱。然而,当面对复杂或庞大的YAML文件时,高效的编辑工具就显得至关重要。因此,我们强烈推荐一款专为Emacs用户设计的开源神器——yaml-pro,它利用tree-sitter
探索电商大数据的艺术:TBBKAnalysis深度解读与应用推荐
洪显彦Lawyer
探索电商大数据的艺术:TBBKAnalysis深度解读与应用推荐TBBKAnalysis关于淘宝“爆款”数据爬取与分析。具体分析见—项目地址:https://gitcode.com/gh_mirrors/tb/TBBKAnalysis在数字化时代的数据洪流中,每一个细微的数据点都蕴含着洞察未来的机遇。今天,我们要探讨的是一个独特且极具启发性的开源项目——TBBKAnalysis。该项目源自知乎上一
使用 DingoDB 创建自查询检索器的实战演示
fgayif
python
DingoDB深入解析与实战演示DingoDB是一种分布式多模向量数据库,它结合了数据湖和向量数据库的特点,能够存储任何类型和大小的数据(如Key-Value、PDF、音频、视频等)。它具有实时低延迟处理能力,可以快速获取洞察并响应,还能高效进行即时分析和处理多模数据。在本教程中,我们将演示如何使用DingoDB向量存储来创建一个自查询检索器。技术背景介绍DingoDB的设计结合了数据湖的灵活性和
使用 DashVector 进行高效的矢量检索和自查询检索器演示
bavDHAUO
python
在当代AI应用中,向量数据的管理和检索是至关重要的部分。DashVector是一个完全托管的向量数据库服务,提供了对高维稠密和稀疏向量的支持,允许实时插入和过滤搜索。这个服务基于DAMOAcademy自研的高效向量引擎Proxima核心构建,具备云原生和横向扩展能力,能够快速适应不同应用需求。在本篇文章中,我们将演示如何使用DashVector和SelfQueryRetriever来高效地进行矢量
SAP-ABAP:SAP外网接口调用技术全景指南
爱喝水的鱼丶
VIP详情查看专栏SAP业务学习捷径SAP-ABAP开发基础详解SAPABAPERP开发运维运维HTTP接口调用
SAP外网接口调用技术全景指南1.核心调用方式对比矩阵方法类型协议支持适用场景开发复杂度维护成本典型应用案例HTTPClientREST/HTTP通用API集成★★☆低调用第三方支付接口SOAPProxySOAP/WSDL标准化Web服务★★★中银行系统对接ODataClientODataSAP生态集成★★☆低Fiori应用数据扩展PI/PO中间件多协议转换企业级复杂集成★★★★高跨系统业务流程编
SAP-ABAP:SAP采购模块(MM-PUR)学习指南
爱喝水的鱼丶
VIP详情查看专栏SAP业务学习捷径SAP-ABAP开发基础详解ABAPSAPERP运维SAP采购业务学习
Ⅰ.模块全景图采购管理需求计划供应商协同采购执行财务集成采购申请/MRP供应商评估/合同订单/收货/发票应付账款Ⅱ.核心配置矩阵2.1组织结构配置对象事务码配置关系业务影响示例值采购组织OX01分配公司代码跨法人采购1000-US工厂OX18链接采购组织库存管理2000-CH采购组OME9指定采购专家责任划分PG01-IT采购2.2单据类型配置单据类型配置路径关键字段审批策略应用场景标准采购订单M
【H2O2 | 软件开发】前端深拷贝的实现
过期的H2O2
【H2O2】全栈面试题javascript开发语言ecmascript前端
目录前言开篇语准备工作正文概述JSON方法递归其他结束语前言开篇语本系列为短篇,每次讲述少量知识点,无需一次性灌输太多的新知识点。该主题文章主要是围绕前端、全栈开发相关面试常见问题撰写的,希望对诸位有所帮助。如果您需要为面试八股文做准备,笔者建议重点关注加粗强调部分,它们是概念中的关键词。准备工作软件:【参考版本】VisualStudioCode系统版本:Win10/11正文概述概括地来说,前端实
嵌入式知识笔记1——C++面试复习(3)
Yuanyingbian
嵌入式学习资料笔记c++算法
四、关键字库函数4.1sizeof和strlen的区别strlen是头文件中的函数,sizeof是C++中的运算符。strlen测量的是字符串的实际长度(其源代码如下),以\0结束。而sizeof测量的是字符数组的分配大小。strlen本身是库函数,因此在程序运行过程中,计算长度;而sizeof在编译时,计算长度;sizeof的参数可以是类型,也可以是变量;strlen的参数必须是char*类型的
vue中ref解析
肉肉不吃 肉
vue.jsjavascript前端
在Vue项目中,ref是一个非常重要的概念,用于创建对DOM元素或组件实例的引用。它在多种场景下都非常有用,特别是在需要直接操作DOM或与子组件进行交互时。ref的作用1.获取DOM元素使用ref可以获取到模板中的DOM元素,并对其进行操作。创建了一个对组件的引用,可以在脚本中通过loginForm.value访问该元素。示例:constloginForm=ref(null)//在setup函数中
什么是Apache Avro?
maozexijr
apache
什么是ApacheAvro?ApacheAvro是一个开源的数据序列化框架,主要用于高效的数据交换和存储。它由ApacheHadoop项目开发,广泛应用于大数据生态系统中(如Hadoop、Kafka等)。Avro提供了一种紧凑、快速的二进制数据格式,同时支持丰富的数据结构和模式演化。核心特性跨语言支持Avro支持多种编程语言(如Java、Python、C++、Go等),使得不同语言之间的数据交换变
A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第9部分——应用
王金-太想进步了
语言模型人工智能自然语言处理
应用尽管预训练为大型语言模型(LLMs)赋予了强大的基础能力,但在部署于专业领域时,LLMs仍经常遇到持续的限制,包括上下文长度受限、容易产生幻觉(hallucination)、推理能力欠佳和固有的偏见。在现实世界的应用中,这些不足显得尤为重要,因为在这些场景中,精确性、可靠性和伦理一致性是至关重要的。这些问题引发了一些根本性的探讨:(1)如何系统地提高LLM的表现以满足特定领域的需求?(2)在实
Apache Storm:实时数据处理的闪电战
Aaron_945
Javaapachestorm大数据
文章目录ApacheStorm原理拓扑结构数据流处理容错机制官网链接基础使用安装与配置编写拓扑提交与运行高级使用状态管理窗口操作多语言支持优点高吞吐量低延迟可扩展性容错性总结ApacheStorm是一个开源的分布式实时计算系统,它允许你以极高的吞吐量处理无界数据流。Storm被广泛用于实时分析、在线机器学习、连续计算等多种场景。本文将深入探讨ApacheStorm的原理、基础使用、高级特性及其优点
能否在编辑器中一键导入Word文档?
2501_90646763
umeditor粘贴wordueditor粘贴wordueditor复制wordueditor上传word图片ueditor导入wordueditor导入pdfueditor导入ppt
要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5用户体验:Ctrl+V快捷键操作功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,
计算机毕业设计之基于Hadoop的热点新闻分析系统的设计与实现
微信bishe69
课程设计pythondjangomysql
近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,热点新闻分析系统利用计算机网络实现信息化管理,使整个热点新闻分析的发展和服务水平有显著提升。本文拟采用PyCharm开发工具,django框架、Python语言、Hadoop大数据处理技术进行开发,后台使用MySQL数据库进行信息管理,设计开发的热点新闻分析系统。通过调研和分析,系统拥有管理员和用户两个模块
html
周华华
html
js
1,数组的排列
var arr=[1,4,234,43,52,];
for(var x=0;x<arr.length;x++){
for(var y=x-1;y<arr.length;y++){
if(arr[x]<arr[y]){
&
【Struts2 四】Struts2拦截器
bit1129
struts2拦截器
Struts2框架是基于拦截器实现的,可以对某个Action进行拦截,然后某些逻辑处理,拦截器相当于AOP里面的环绕通知,即在Action方法的执行之前和之后根据需要添加相应的逻辑。事实上,即使struts.xml没有任何关于拦截器的配置,Struts2也会为我们添加一组默认的拦截器,最常见的是,请求参数自动绑定到Action对应的字段上。
Struts2中自定义拦截器的步骤是:
make:cc 命令未找到解决方法
daizj
linux命令未知make cc
安装rz sz程序时,报下面错误:
[root@slave2 src]# make posix
cc -O -DPOSIX -DMD=2 rz.c -o rz
make: cc:命令未找到
make: *** [posix] 错误 127
系统:centos 6.6
环境:虚拟机
错误原因:系统未安装gcc,这个是由于在安
Oracle之Job应用
周凡杨
oracle job
最近写服务,服务上线后,需要写一个定时执行的SQL脚本,清理并更新数据库表里的数据,应用到了Oracle 的 Job的相关知识。在此总结一下。
一:查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行
多线程机制
朱辉辉33
多线程
转至http://blog.csdn.net/lj70024/archive/2010/04/06/5455790.aspx
程序、进程和线程:
程序是一段静态的代码,它是应用程序执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的单位,一个进程执行过程中可以产生多个线程,每个线程有自身的
web报表工具FineReport使用中遇到的常见报错及解决办法(一)
老A不折腾
web报表finereportjava报表报表工具
FineReport使用中遇到的常见报错及解决办法(一)
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、address pool is full:
含义:地址池满,连接数超过并发数上
mysql rpm安装后没有my.cnf
林鹤霄
没有my.cnf
Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,
至于为什么没有这个文件而MySQL却也能正常启动和作用,在这儿有两个说法,
第一种说法,my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动,
第二种说法,MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于r
Kindle Fire HDX root并安装谷歌服务框架之后仍无法登陆谷歌账号的问题
aigo
root
原文:http://kindlefireforkid.com/how-to-setup-a-google-account-on-amazon-fire-tablet/
Step 4: Run ADB command from your PC
On the PC, you need install Amazon Fire ADB driver and instal
javascript 中var提升的典型实例
alxw4616
JavaScript
// 刚刚在书上看到的一个小问题,很有意思.大家一起思考下吧
myname = 'global';
var fn = function () {
console.log(myname); // undefined
var myname = 'local';
console.log(myname); // local
};
fn()
// 上述代码实际上等同于以下代码
m
定时器和获取时间的使用
百合不是茶
时间的转换定时器
定时器:定时创建任务在游戏设计的时候用的比较多
Timer();定时器
TImerTask();Timer的子类 由 Timer 安排为一次执行或重复执行的任务。
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定
JDK1.5 Queue
bijian1013
javathreadjava多线程Queue
JDK1.5 Queue
LinkedList:
LinkedList不是同步的。如果多个线程同时访问列表,而其中至少一个线程从结构上修改了该列表,则它必须 保持外部同步。(结构修改指添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedList 方
http认证原理和https
bijian1013
httphttps
一.基础介绍
在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。
Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后
【Java范型五】范型继承
bit1129
java
定义如下一个抽象的范型类,其中定义了两个范型参数,T1,T2
package com.tom.lang.generics;
public abstract class SuperGenerics<T1, T2> {
private T1 t1;
private T2 t2;
public abstract void doIt(T
【Nginx六】nginx.conf常用指令(Directive)
bit1129
Directive
1. worker_processes 8;
表示Nginx将启动8个工作者进程,通过ps -ef|grep nginx,会发现有8个Nginx Worker Process在运行
nobody 53879 118449 0 Apr22 ? 00:26:15 nginx: worker process
lua 遍历Header头部
ronin47
lua header 遍历
local headers = ngx.req.get_headers()
ngx.say("headers begin", "<br/>")
ngx.say("Host : ", he
java-32.通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小(两数组的差最小)。
bylijinnan
java
import java.util.Arrays;
public class MinSumASumB {
/**
* Q32.有两个序列a,b,大小都为n,序列元素的值任意整数,无序.
*
* 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
* 例如:
* int[] a = {100,99,98,1,2,3
redis
开窍的石头
redis
在redis的redis.conf配置文件中找到# requirepass foobared
把它替换成requirepass 12356789 后边的12356789就是你的密码
打开redis客户端输入config get requirepass
返回
redis 127.0.0.1:6379> config get requirepass
1) "require
[JAVA图像与图形]现有的GPU架构支持JAVA语言吗?
comsci
java语言
无论是opengl还是cuda,都是建立在C语言体系架构基础上的,在未来,图像图形处理业务快速发展,相关领域市场不断扩大的情况下,我们JAVA语言系统怎么从这么庞大,且还在不断扩大的市场上分到一块蛋糕,是值得每个JAVAER认真思考和行动的事情
安装ubuntu14.04登录后花屏了怎么办
cuiyadll
ubuntu
这个情况,一般属于显卡驱动问题。
可以先尝试安装显卡的官方闭源驱动。
按键盘三个键:CTRL + ALT + F1
进入终端,输入用户名和密码登录终端:
安装amd的显卡驱动
sudo
apt-get
install
fglrx
安装nvidia显卡驱动
sudo
ap
SSL 与 数字证书 的基本概念和工作原理
darrenzhu
加密ssl证书密钥签名
SSL 与 数字证书 的基本概念和工作原理
http://www.linuxde.net/2012/03/8301.html
SSL握手协议的目的是或最终结果是让客户端和服务器拥有一个共同的密钥,握手协议本身是基于非对称加密机制的,之后就使用共同的密钥基于对称加密机制进行信息交换。
http://www.ibm.com/developerworks/cn/webspher
Ubuntu设置ip的步骤
dcj3sjt126com
ubuntu
在单位的一台机器完全装了Ubuntu Server,但回家只能在XP上VM一个,装的时候网卡是DHCP的,用ifconfig查了一下ip是192.168.92.128,可以ping通。
转载不是错:
Ubuntu命令行修改网络配置方法
/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.
1. 以D
php包管理工具推荐
dcj3sjt126com
PHPComposer
http://www.phpcomposer.com/
Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
中文文档
入门指南
下载
安装包列表
Composer 中国镜像
Gson使用四(TypeAdapter)
eksliang
jsongsonGson自定义转换器gsonTypeAdapter
转载请出自出处:http://eksliang.iteye.com/blog/2175595 一.概述
Gson的TypeAapter可以理解成自定义序列化和返序列化 二、应用场景举例
例如我们通常去注册时(那些外国网站),会让我们输入firstName,lastName,但是转到我们都
JQM控件之Navbar和Tabs
gundumw100
htmlxmlcss
在JQM中使用导航栏Navbar是简单的。
只需要将data-role="navbar"赋给div即可:
<div data-role="navbar">
<ul>
<li><a href="#" class="ui-btn-active&qu
利用归并排序算法对大文件进行排序
iwindyforest
java归并排序大文件分治法Merge sort
归并排序算法介绍,请参照Wikipeida
zh.wikipedia.org/wiki/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F
基本思想:
大文件分割成行数相等的两个子文件,递归(归并排序)两个子文件,直到递归到分割成的子文件低于限制行数
低于限制行数的子文件直接排序
两个排序好的子文件归并到父文件
直到最后所有排序好的父文件归并到输入
iOS UIWebView URL拦截
啸笑天
UIWebView
本文译者:candeladiao,原文:URL filtering for UIWebView on the iPhone说明:译者在做app开发时,因为页面的javascript文件比较大导致加载速度很慢,所以想把javascript文件打包在app里,当UIWebView需要加载该脚本时就从app本地读取,但UIWebView并不支持加载本地资源。最后从下文中找到了解决方法,第一次翻译,难免有
索引的碎片整理SQL语句
macroli
sql
SET NOCOUNT ON
DECLARE @tablename VARCHAR (128)
DECLARE @execstr VARCHAR (255)
DECLARE @objectid INT
DECLARE @indexid INT
DECLARE @frag DECIMAL
DECLARE @maxfrag DECIMAL
--设置最大允许的碎片数量,超过则对索引进行碎片
Angularjs同步操作http请求with $promise
qiaolevip
每天进步一点点学习永无止境AngularJS纵观千象
// Define a factory
app.factory('profilePromise', ['$q', 'AccountService', function($q, AccountService) {
var deferred = $q.defer();
AccountService.getProfile().then(function(res) {
hibernate联合查询问题
sxj19881213
sqlHibernateHQL联合查询
最近在用hibernate做项目,遇到了联合查询的问题,以及联合查询中的N+1问题。
针对无外键关联的联合查询,我做了HQL和SQL的实验,希望能帮助到大家。(我使用的版本是hibernate3.3.2)
1 几个常识:
(1)hql中的几种join查询,只有在外键关联、并且作了相应配置时才能使用。
(2)hql的默认查询策略,在进行联合查询时,会产
struts2.xml
wuai
struts
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache