- Spark 源码分析(一) SparkRpc中序列化与反序列化Serializer的抽象类解读 (java序列化部分完结,正在更新RpcEnv部分~)
小白的大数据历程
Spark源码解析sparkjavapython
目录(3)JavaSerializerInstance定义了一个Java序列化实例(1)构造方法参数(2)方法1:serializeStream(3)方法2:deserializeStreamdefaultClassLoader(4)方法3:deserializeStreamloader(5)方法4:serialize(6)方法5:deserializeloader(7)方法6:deseriali
- C++.类和对象(基础)
煦842
cc++
1.类的定义1.1.类的定义格式:class类名(注:类中的变量叫做成员变量,类中的函数叫做成员函数){public:成员函数private:成员变量(一般情况下成员变量都是设为私有)};(注意这里的引号不可以省略)classdate{ public:voidInit(){a=1;b=2;} private: inta_1;(为了区分成员变量,一般会在成员变量上加一个特殊标识,如这里的变量后面
- java3d酷眩贪吃蛇下载,100行JS实现HTML5的3D贪吃蛇游戏
weixin_39983554
java3d酷眩贪吃蛇下载
js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型,多次想尝试提交个小游戏但总无法写出让自己满意还能控制在这么小的字节范围。自己写不出来,站在巨人肩膀总是有机会吧,折腾了一番站在Hightopo的肩膀上搞了个3D贪吃蛇游戏,算了算JS代码还只有90来行
- 一个非常好用的图片切割工具(c# winform开发)
源之缘-OFD解决方案之道
c#winform
本人业余时间开发了一个图片切割工具,非常好用,也很灵活!特别对大型图片切割,更能体现出该软件的优势!开发工具为winform功能说明可以设定切割的高度和宽度。切割线可以上下拖动,可以增加一个切割区域,可设定某个区域不参与切割。主要技术点分析切割区域确定每个切割区域是一个长方形。用一个结构标识该属性。1classSpliteMoveIndex2{3publicenumEN_DIR4{5NON,6HO
- 冒泡排序 选择排序 插入排序
2401_89791565
java排序算法算法
packagecom.nobody.sort;/**@authorMr.nobody@Description插入排序@date2020/9/5*/publicclassCode01_InsertionSort{publicstaticvoidinsertionSort(int[]arr){//数组为空,或者数组长度小于2就没必要操作if(null==arr||arr.length=0&&arr[j
- python概述_理解Python数据类:Dataclass 的特征概述 (上)
weixin_39875842
python概述
原标题UnderstandingPythonDataclasses—Part1,作者为ShikharChauhan。这是一个包含两部分的博文:这一篇是Dataclass的特征概述下一篇是Dataclassfields的概述引言Dataclasses是一些适合于存储数据对象(dataobject)的Python类。你可能会问,什么是数据对象?下面是一个并不详尽的用于定义数据对象的特征列表:他们存储并
- 如何使用Visual Studio Code调试PHP CLI应用和Web应用
Python中的class体内定义方法时,如果没有显式地包含self参数,有时候依然可以被调用。这是一个非常有趣的话题,因为它涉及到对Python中类与对象之间关系的更深理解。要理解为什么这种情况下方法依然能够被调用,我们需要逐步拆解Python类的构造方式以及方法绑定的原理。
- 理解 Python 的 Dataclasses
Cater Chen
python
理解Python的Dataclasseshttps://zhuanlan.zhihu.com/p/59657729
- Python中dataclass库
SteveKenny
#Python第三方库python开发语言哈希算法
文章目录dataclass语法一、简介二、装饰器参数三、数据属性1、参数2、使用示例3、注意事项四、其他1、常用函数2、继承3、总结dataclass语法一、简介官方文档的地址为:https://docs.python.org/3.9/library/dataclasses.htmldataclass的定义位于PEP-557,根据定义一个dataclass是指“一个带有默认值的可变的namedtu
- C++17(3)
programing菜鸟
modernC++c++开发语言后端
目录类模板实参推导CTAD是如何工作的?CTAD&&STLvectordeductionguides其他与CTAD的搭配CTAD要注意的点何时&&如何禁用CTAD模板元编程技法deductionguides&&SFINAEmoreC++20可能对CTAD的修改类模板实参推导C++17支持类模板类型推导(classtemplateargumentdeduction,在下面的文章中,我叫做CTAD)。
- 【MySQL】JDBC的连接
m0_74823388
mysql数据库
目录一.具体操作如下1.注册驱动二.实操JDBC(JavaDataBaseConnectivity)java数据库连接,是JavaEE平台下的技术规范,其定义了在Java语言中连接数据,执行SQL语句的标准,可以为多种关系数据库提供统一访问。一.具体操作如下1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");2.获取连接DriverManager(驱动管
- YOLOv10-1.1部分代码阅读笔记-base.py
红色的山茶花
YOLO笔记深度学习
base.pyultralytics\data\base.py目录base.py1.所需的库和模块2.classBaseDataset(Dataset):1.所需的库和模块#UltralyticsYOLO,AGPL-3.0licenseimportglobimportmathimportosimportrandomfromcopyimportdeepcopyfrommultiprocessing.
- 【Python】python dataclass使用指南
菜菜2022
Python学习笔记Pythondataclass字段继承数据结构
https://www.cnblogs.com/apocelipes/p/10284346.html定义一个dataclass深入dataclass装饰器数据类的基石——dataclasses.field一些常用函数dataclass继承参考https://docs.python.org/3.7/library/dataclasses.htmlhttps://www.python.org/dev/
- 数据类库 Dataclasses 深入指南
陆或愉
数据类库Dataclasses深入指南dataclassDataclassesforTypeScript&JavaScript项目地址:https://gitcode.com/gh_mirrors/da/dataclass项目介绍数据类库(Dataclasses)是Python标准库中的一个模块,自Python3.7起被引入。它通过装饰器@dataclass简化了自定义类的创建过程,自动添加了属性
- C++ 的 CTAD 与推断指示(Deduction Guides)
王晓华-吹泡泡的小猫
现代C++c++现代C++类模板参数推导
1类模板参数推导(CTAD)1.1曲线救国CTAD的全称是类模板参数推导(ClassTemplateArgumentDeduction),它允许在实例化类模板时,根据构造函数的参数类型自动推导模板参数,从而避免显式指定模板参数。CTAD是在C++17引入的,在这之前,只有模板函数支持根据函数参数自动推导模板参数,类模板不支持这样的动作。代码中实例化类模板必须显式指定模板参数,十分不便,以致怨声载道
- qt/c++学习笔记之基于tcp的文件同步程序demo(第二部分)
Bryce学亮
qtc++学习
server服务器端头文件filebase.h#ifndefFILEBASE_H#defineFILEBASE_H#include#include#include#include#includeenumMsgType{MsgTypeInvaid=0,MsgTypeFile,MsgTypeDel,MsgTypeRename};classfilebase:publicQObject{Q_OBJECTp
- C#+ckeidtor5实现图片上传
假装我不帅
dotnetjsc#ckeditor5
index.htmlCkEditor5html,body{width:100%;height:100%;}.editor-container{width:100%;height:100%;}#editor{width:100%;height:100%;}HelloWorld!ClassicEditor.create(document.querySelector('#editor'),{licens
- java学习记录17
cwtlw
java学习总结java学习开发语言笔记
泛型泛型概念Java泛型(generics)是JDK5引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定该参数的值,那么这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。publicclassTestClass{privateTvalu
- Java ‘URL(java. lang. String)‘ 自版本 20 起已弃用
空灵宫(Ethereal Palace)
Javajava开发语言
在Java20及更高版本中,不推荐直接使用newURL(Stringspec)构造方法。官方建议通过更加安全和明确的方式来创建URL。下面示例给出两种常见替代方案:使用URI转化为URL,或使用多参数构造方法。原始写法(已弃用)publicclassUrlDemo{publicstaticvoidmain(String[]args){try{//自Java20起已弃用URLurl=newURL("
- Python学习笔记 | 类与对象
MUYUN友逹
Python学习笔记类与对象
基于Python3版本的学习。初识概念:类(class)与对象(object)生活中我们所说的类,是物以类聚的类,是分门别类的类,是多个类似事物组成的群体的统称。而在Python中我们所遇到的类(class),比如整数、字符串、浮点数等,不同的数据类型就属于不同的类。准确来说,它们的全名是整数类、字符串类、浮点数类。每一个类之下都包含无数相似的不同个例。在Python的术语里,我们把类的个例就叫做
- 如何使用JavaScript开发AR(增强现实)移动应用 (一)
Python中的class体内定义方法时,如果没有显式地包含self参数,有时候依然可以被调用。这是一个非常有趣的话题,因为它涉及到对Python中类与对象之间关系的更深理解。要理解为什么这种情况下方法依然能够被调用,我们需要逐步拆解Python类的构造方式以及方法绑定的原理。
- 深度学习模块C2f代码详解
你是狒狒吗
目标检测人工智能计算机视觉pytorchYOLO神经网络
C2f是一个用于构建卷积神经网络(CNN)的模块,特别是在YOLOv5和YOLOv8等目标检测模型中。这个模块是一个改进的CSP(CrossStagePartial)Bottleneck结构,旨在提高计算效率和特征提取能力。下面是对C2f类的详细解释:类定义和初始化Python复制classC2f(nn.Module):“”“FasterImplementationofCSPBottleneckw
- 机器学习和深度学习的概念
你好呀我是裤裤
深度学习笔记机器学习深度学习人工智能
MachineLearning机器学习,可以看作是找一个函数。这个函数是人类找不到的,所以交给机器来找。DifferenttypesofFunctions**Regression:**函数的输出是一个数值forexample:**Classification:**给出选项,让机器去选择。forexample:检测一个邮件是不是垃圾文件,就可以通过这个来做。选项是两个:垃圾文件or非垃圾文件。下面,
- 用python编写的UKF(无迹卡尔曼滤波)代码,状态量和观测量都是三维、非线性的,注释使用中文
MATLAB卡尔曼
卡尔曼与pythonpython开发语言
用python编写的UKF(无迹卡尔曼滤波)代码,状态量和观测量都是三维、非线性的,注释使用中文文章目录代码讲解UKF类的构造预测步骤更新步骤辅助函数示例用法总结importnumpyasnpclassUKF:def__init__(self,dim_x,dim_z,alpha=1e-3,beta=2,kappa=0):self.dim_x=dim_x#状态维度self.dim_z=dim_z#观
- 华为OD 机试3题(通过率60%,80%,75%)
大巨魔战将
算法华为java开发语言
importjava.util.List;importjava.util.Scanner;importjava.util.*;classPoints{intx;inty;publicPoints(intx,inty){this.x=x;this.y=y;}publicintgetX(){returnx;}publicvoidsetX(intx){this.x=x;}publicintgetY(){
- RabbitMQ消费者重试的两种方案
xweiran
java-rabbitmqrabbitmqjava重试消息消费失败
目录直接重试优点:缺点:保存数据库的重试方案优点:缺点:选择建议适合直接重试的场景适合数据库记录的场景这篇文章总结一下消费者消费重试的方案直接重试一种是消息消费失败然后消费者直接重试,这需要配置消费者重试机制@ComponentpublicclassDirectRetryConsumer{@RabbitListener(queues="myQueue")@RabbitListener(queues
- Java连接TDengine和MySQL双数据源
NUZGNAW
javatdenginemysql
git文件地址:项目首页-SpringBoot连接TDengine和MySQL双数据源:SpringBoot连接TDengine和MySQL双数据源-GitCode1、yml配置spring:datasource:druid:mysql:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/testuse
- 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{
- 【Vim Masterclass 笔记16】S07L32 + L33:同步练习09 —— 掌握 Vim 宏操作的六个典型案例(含点评课内容)
安冬的码畜日常
VimMasterclassvim笔记vim宏同步练习自学笔记
文章目录S07L32Exercise09-Macros1训练目标2操作指令2.1.打开macros-practice.txt文件2.2.练习1:将旧版Python代码转换为新版写法2.3.练习2:根据列表内容批量创建Shell脚本2.4.练习3:对电话号码作格式化处理2.5.练习4:从日志文件中提取重要数据2.6.练习5:将多行数据压缩为一行2.7.练习6:从HTML中提取数据3退出VimS07L
- 【Vim Masterclass 笔记14】S07L29 + L30:练习课08 —— Vim 文本对象同步练习(含点评课内容)
安冬的码畜日常
VimMasterclassvim笔记vim习题课vim文本对象练习文本对象自学笔记
文章目录L29Exercise08-TextObjects1训练目标2操作指令2.1.打开textobjectspractice.txt文件2.2.单词对象练习WordObjects2.3.区块对象`()`练习BlockObject()2.4.引用字符串练习QuotedStrings2.5.区块对象`[]`练习BlockObject[]2.6.区块对象`2.7.标签对象练习TagObjects2.
- 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