- Spring-boot定时任务,注解@Scheduled的参数说明
旷野孤星
个人笔记学习记录后端框架JAVASpring-BootSpring@ScheduledJava
关于Scheduled的参数1.corn2.fixedDelay3.fixedDelayString4.fixedRate5.fixedRateString6.initialDelay7.initialDelayString8.zone总共有八种参数类型,对于第一种类型一般使用就最熟悉了,是可以控制方法在任意的年月日时分秒上执行,同时不断循环。比较简单,网上的说明也比较多,就不做解释。fixedR
- (已解决)Failed to execute goal on project ...: Could not resolve dependencies for projec
qq_40711092
问题记录java
这样的错误,最后发现原来是自己没有首先对父项目也就是interface-test项目进行clean和install.https://blog.csdn.net/qq_43493747/article/details/120866443
- 《链表之美:C语言中的灵活数据结构》
就爱学编程
C数据结构链表c语言
大家好,这里是小编的博客频道小编的博客:就爱学编程很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!目录引言正文一、节点结构二、基本操作1.创建链表2.插入节点3.删除节点4.查找节点5.修改节点数据三、应用场景四、源码LT.hLT.cTest.c五、总结快乐的时光总是短暂,咱们下篇博文再见啦!!!不要忘了,给小编点点赞和收藏支持一下,在此非常感谢!!!引言
- 机器学习-分类算法评估标准
赛丽曼
机器学习机器学习分类人工智能
一.准确率accuracy将预测结果和测试集的目标值比较,计算预测正确的百分比准确率越高说明模型效果越好fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_splitfromsklearn.neighborsimportKNeighborsClassifier#加载鸢尾花数据X,y=datasets.load_i
- Java:获取本地文件
dingcho
Javajavahttp
/***Function:todo**@program:获取本地图片*@Package:com.kingbal.king.dmp*@author:dingcho*@date:2025/01/22*@version:1.0*@Copyright:2024www.kingbal.comInc.Allrightsreserved.*/@Slf4jpublicclassBaseTest{publicsta
- 银河麒麟桌面版 Kylin-Desk切换root用户
落笔画忧愁e
kylin服务器linux
银河麒麟桌面版切换到root用户,获取root权限首先使用普通用户登录使用sudopasswdroot,修改root用户的密码test@test-pc:~/桌面$sudopasswdroot新的密码:#输入要设置的root密码重新输入新的密码:passwd:已成功更新密码test@test-pc:~/桌面$suroot输入密码root@test-pc:/home/test/桌面#
- 软件测试学习笔记丨Pytest的使用
霍格沃兹测试开发学社测试人社区
学习笔记pytest软件测试测试开发
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/221581.简介pytest是一个成熟的全功能python测试框架测试用例的skip和xfail,自动失败重试等处理能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试,接口自动化测试pytest有很多第三方插件,并且可以自定义扩展,如pytest-allure(完
- 浅谈数据结构顺序表的实现(超详细,附代码)
阿超没有蛀牙
数据结构数据结构c++
文章目录一、线性表介绍二、顺序表基本介绍2.1概念2.2分类2.3分类示例2.4应用范围三、顺序表的实现3.1Common.h3.2seqlist.h3.3test.cpp四、顺序表使用这篇博客我们来谈数据结构顺序表的实现操作。谈数据结构的顺序表,我们要从线性表开始说起。注:本顺序表的实现基于编译器:VS2015语言:C/C++头文件:2个源文件:1个一、线性表介绍线性表(linearlist)是
- 【Elasticsearch】RestClient操作文档
乙卯年QAQ
elasticsearchjenkins大数据java
RestClient操作文档新增文档实体类API语法查询文档删除文档修改文档批量导入文档小结新增文档将数据库中的信息导入elasticsearch中以商品数据为例实体类定义一个索引库结构对应的实体。@Data@ApiModel(description="索引库实体")publicclassItemDoc{@ApiModelProperty("商品id")privateStringid;@ApiMo
- Linux 执行 fdisk -l 出现 GPT PMBR 大小不符 解决方法
码农研究僧
BUGlinuxgpt运维fdiskPMBR
目录前言1.问题所示2.原理分析3.解决方法前言找工作,来万码优才:#小程序://万码优才/r6rqmzDaXpYkJZF1.问题所示执行fdisk-l的时候出现如下提示:[root@VMS-Centos-test1~]#fdisk-lGPTPMBR大小不符(419430399!=4294967295),将用写入予以更正。ThebackupGPTtableisnotontheendofthedev
- python md5加密_Python MD5加密实例详解
weixin_39870238
pythonmd5加密
详解PythonMD5加密Python3下MD5加密#由于MD5模块在python3中被移除#在python3中使用hashlib模块进行md5操作importhashlib#待加密信息str='thisisamd5test.'#创建md5对象hl=hashlib.md5()#Tips#此处必须声明encode#若写法为hl.update(str)报错为:Unicode-objectsmustbe
- python建立数据库_Python PostgreSQL-创建数据库
weixin_39727976
python建立数据库
您可以使用CREATEDATABASE语句在PostgreSQL中创建数据库。您可以通过在命令后指定要创建的数据库的名称,在PostgreSQLShell提示符下执行此语句。句法以下是CREATEDATABASE语句的语法。CREATEDATABASEdbname;例以下语句在PostgreSQL中创建一个名为testdb的数据库。postgres=#CREATEDATABASEtestdb;CR
- pg使用python编写存储过程_postgresql存储过程代码编写
weixin_39562185
背景公司最近有个项目数据库里表需要使用到另外一个数据库里表的某两个字段,而且并不是直接查询就能插入到新表里旧表idsncustomer1xxxxTest新表idsncustomer_id1xxxx1idcustomer1Test我开始考虑的是使用python脚本去查数据库,然后逻辑判断,这种方式也是可以实现的。进行插入但表里的数据有几百万条记录,使用python脚本迁移,有网络的开销,执行的速度会
- C++模板进阶
Hungry_11
C++程序设计c++
目录非类型模板参数按需实例化模版的特化函数模版特化类模版全特化类模板偏特化/半特化模板的分离编译模板优缺点非类型模板参数模板参数分类型形参与非类型形参。类型形参:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。非类型形参:就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。namespacetest{//定义一个模板类型的静态数组//
- npm install安装缓慢或卡住不动
Amy_cx
npm前端node.js
起因今天执行npminstalleslint-plugin-cypress@latest--save-dev命令时进度条一直卡着不动,于是想着安装yarn来操作。方案1全局安装yarn(Mac在npm前加sudo):npminstall-gyarnyarn安装好之后安装依赖用:yarnadd+依赖名称启动项目用:yarnyarn后面什么都不加等于yarninstall。但是我运行yarn出现:换成
- SpringBoot集成OpenFeign,实现服务间的相互调用
Sao_E
我的小成就springboot后端javaspringcloud微服务
SpringBoot集成OpenFeign,实现服务间的相互调用文章目录SpringBoot集成OpenFeign,实现服务间的相互调用一、实验准备与目标二、添加依赖三、写调用接口四、写controller层五、启动类注解六、结果一、实验准备与目标有业务模块business和跑批模块batch。在business模块中设有test接口,内容如下:@RestControllerpublicclass
- 【Fabric环境搭建,复制粘贴即可实现】Fabric网络搭建保姆级教程,亲测速通安装
Sao_E
我的小成就fabriclinux区块链信任链
Fabric网络搭建与应用(实现官方文档的资产转移案例)文章目录Fabric网络搭建与应用(实现官方文档的资产转移案例)1.环境准备Git安装安装cURL安装Docker和Docker-compose安装Go2、Fabric源码安装下载源码修改安装脚本执行安装脚本3、启动test-network测试网络1.环境准备本文是基于Vmware和Ubuntu20的Fabric2.5环境搭建Git安装sud
- 创建非模态对话框后,点击主窗口无发置顶的解决方法
afreetboy
VS2012
创建非模态对话框就不用说了,主要问题在于这一行:m_testdlg->Create(IDD_DIALOG1,this);将this改为GetDesktopWindow(),即可实现子窗口和父窗口点击置顶MFC设置对话框窗口位于所有窗口的最顶层SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);切换置顶时候,需要把之前置顶的改为&wndBo
- 算法项目实时推流
zk_ken
php开发语言
1、搭建流媒体服务器下载mediamtx2、视频流直推ffmpeg-stream_loop-1-iDJI_20250109112715_0002_W.MP4-r30-c:vlibx264-presetultrafast-fflvrtmp://192.168.100.20:1935/live/test_chengdu13、硬件加速如果硬件支持,可以使用硬件加速编码器(如h264_nvenc、h264
- 如何在Docker上构建Node.js应用程序
cunchi4221
dockerjavapythonvuelinuxViewUI
Dockerhasbeenthelatesttrendingtopicoverthepastcoupleofyearsandifyouhaven’tbeentospaceorspentsometimeinthecaves,youprobablymusthavecomeacrossthistechbuzzword.在过去的几年中,Docker一直是最新的趋势话题,如果您没有去过太空或在洞穴中度过了一
- python复制word全部内容,包括图片、文字、格式
clean_water
pythonpythonpython复制word
importwin32com.clientapp=win32com.client.Dispatch('Word.Application') doc=app.Documents.Open(r'D:\winGUI\test\1.doc')doc.Content.Copy()doc.Close()
- Python用 subprocess编写超时进程控制脚本
Steffen
Python
一直都寻找在Python下方便控制子进程运行时间的脚本。虽然网上有很多的好方法,但是都不能满足我的需求(也是我资质太低看别人的脚本总感觉太吃力,总有些看不明白的地方)。下面这个脚本和网上一样利用了subprocess函数创建一个子进程控制脚本。(闲话少说,直接上菜!!!)#!/usr/bin/pythonimportsubprocess,timedefTest_ilo():ilo_ip='10.2
- NPM 与 Node.js 版本兼容问题:npm warn cli npm does not support Node.js
我命由我12345
前端-问题清单node.jsnpm前端前端框架jsjavascripthtml5
问题描述与处理策略1、问题描述npmwarnclinpmv10.9.2doesnotsupportNode.jsv18.16.1.Thisversionofnpmsupportsthefollowingnodeversions:`^18.17.0||>=20.5.0`.Youcanfindthelatestversionathttps://nodejs.org/.#翻译npmwarnclinpmv
- 深度学习基础18(多层感知机代码实现)
NDNPOMDFLR
深度学习深度学习python经验分享人工智能神经网络
多层感知机的从零开始实现现在自己实现一个多层感知机。为了与之前softmax回归获得的结果进行比较,将继续使用Fashion-MNIST图像分类数据集importtorchfromtorchimportnnfromd2limporttorchasd2lbatch_size=256train_iter,test_iter=d2l.load_data_fashion_mnist(batch_size)
- mybatis学习(14/134)
一缕叶
mybatismybatis学习
packagecom.power.mybatsi.test;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessi
- python3.6 split用法_对sklearn的使用之数据集的拆分与训练详解(python3.6)
weixin_39849054
python3.6split用法
研修课上讲了两个例子,融合一下。主要演示大致的过程:导入->拆分->训练->模型报告以及几个重要问题:①标签二值化②网格搜索法调参③k折交叉验证④增加噪声特征(之前涉及)fromsklearnimportdatasets#从cross_validation导入会出现warning,说已弃用fromsklearn.model_selectionimporttrain-test_splitfromsk
- 【JsonPath】JsonPath常用示例
roman_日积跬步-终至千里
常用命令常用
文章目录一.jsonpath语法1.操作符2.函数3.过滤器二.实例说明1.常用示例2.实际中的应用场景示例参考:https://gotest.hz.netease.com/doc/jie-kou-ce-shi/xin-zeng-yong-li/can-shu-xiao-yan/jsonpi-pei/jsonpathyu-fa.html一.jsonpath语法1.操作符符号描述$查询的根节点对象,
- swift withCheckedContinuation相关使用
书弋江山
swift开发语言ios
```css```cssclasstest112:NSObject{enumMErr:Error{caseserverError(String)}/*withCheckedContinuation是Swift并发模型中的一个重要工具,它允许你将异步操作转换为一个暂停的函数,直到你手动恢复它。它在将传统的回调式异步代码转换为async/await风格时非常有用确保调用continuation.res
- Linux 更换yum镜像源
絮落锦乡
linuxpython运维
报错信息Filecontainsnosectionheaders.file:file:///etc/yum.repos.d/CentOS-Base.repo,line:1'\r\n'[root@localhost~]#sudoyummakecache已加载插件:fastestmirror,langpacksFilecontainsnosectionheaders.file:file:///etc/
- Docker+gitlab+jenkins实现项目自动部署
Java小海.
springjava后端
一、Docker安装(CentOS)1、准备工作系统要求以下为官网原文ToinstallDockerEngine,youneedamaintainedversionofCentOS7or8.Archivedversionsaren’tsupportedortested.Thecentos-extrasrepositorymustbeenabled.Thisrepositoryisenabledby
- 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