KINT是一个免费开源,不用安装的PHP调试工具,用来替代系统内置的比如var_dump(),print_r(),debug_backtrace()等相关函数安装(获得KINT)通过phar点击下载
PHPStorm携手ThinkPHP8:开启高效开发之旅
奔跑吧邓邓子
项目攻略phpstormThinkPHPThinkPHP8php开发
目录一、前期准备1.1开发环境搭建1.2配置Xdebug二、PHPStorm集成ThinkPHP82.1导入ThinkPHP8项目2.2配置PHP解释器2.3配置服务器三、ThinkPHP8项目开发基础3.1项目结构剖析3.2控制器与方法创建3.3视图渲染与数据传递四、数据库操作与模型定义4.1数据库配置4.2模型定义与使用4.3数据库迁移与种子五、高级开发技巧与优化5.1路由优化与管理5.2中间
如何解决AttributeError: ‘NoneType‘ object has no attribute问题
如何解决AttributeError:‘NoneType’objecthasnoattribute问题问题背景与概述在Python项目开发和调试过程中,经常会碰到这样一个异常信息:AttributeError:'NoneType'objecthasnoattribute'foo'这意味着你尝试访问或调用某个对象的属性/方法foo,但此时对象本身是None,从而触发了AttributeError。本
抖音本地生活普通人可以做吗?新手怎么把抖音做起来?
优惠券高省
抖音本地生活服务是抖音推出的一种线下玩法,加入抖音本地生活就有可能赚取额外的收入,但是大部分的用户都没有做过抖音本地生活,所以普通人可以做抖音本地生活嘛?我们来简单了解一下。抖音本地生活普通人可以做的,但是!想要做好那就不是一个人的事!最少需要三个人以上团队才可以把这个事情做好,还有就是就算你花钱学习那些大V推荐的本地生活运营师的课程,也不一定能把本地生活这个项目给做好。高省只是一个导购的优惠平台
基于CentOS的分布式GitLab+Jenkins+Docker架构:企业级CI/CD流水线实战全记录
loopdeloop
其他centos分布式docker
引言:从单机到分布式容器架构的演进在传统Web应用部署中,我们常常面临环境不一致、部署效率低下等问题。我曾经维护过一个需要手动在5台服务器上重复部署的游戏项目,每次发布都如同走钢丝。本文将详细分享如何基于CentOS系统,构建完整的分布式Docker架构,实现GitLab+Jenkins+生产环境的三节点CI/CD流水线,最终成功部署Web游戏项目的全过程。第一部分:架构设计与环境规划1.1分布式
【亲测免费】 CAN总线嵌入式开发——从入门到实践:开启智能通信新篇章
邴洁沫Edna
CAN总线嵌入式开发——从入门到实践:开启智能通信新篇章去发现同类优质开源项目:https://gitcode.com/项目介绍在现代嵌入式系统中,CAN(ControllerAreaNetwork)总线技术因其高效、可靠的通信能力而备受青睐。为了帮助广大开发者、电子工程师以及对CAN总线技术感兴趣的学生和研究人员更好地掌握这一技术,我们推出了“CAN总线嵌入式开发——从入门到实践”项目。本项目不
大学生兼职平台有哪些赚钱的好项目(大学生兼职平台有哪些)
幸运副业
大学生兼职平台有哪些赚钱的好项目(大学生兼职平台有哪些)近年来,大学生兼职成为许多在校学生解决生活费用的重要途径。随着社会的不断发展,大学生兼职平台也应运而生。然而,在众多平台中,究竟有哪些赚钱的好项目?本文将从多个角度为大家详细解析,助力广大大学生找到适合自己的兼职项目。推荐一篇找兼职必看的免费教程:《手机兼职,300-500/天,一单一结,大量要人》在这里可以找到各种数据标注兼职,文本配音兼职
未来最挣钱的十大行业排行榜 2024暴利行业
一起高省
随着科技的不断发展和社会的不断进步,新兴产业不断涌现,给经济带来了新的增长点。那么,在未来,哪些行业将成为最有利可图的领域呢?以下是未来最挣钱的十大行业排行榜。先给大家分享一个小编在做的网络项目,不用投资一分钱,只要淘宝、京东、拼多多等电商不倒,这个项目永久可做,而且收入稳定!网购你是直接下单吗?还是说用别人的口令和链接下单?千万不要这么做了,网购是可以领取隐藏优惠券和高额返佣的。如果你直接下单的
Flutter低代码开发:使用工具加速应用构建
移动开发前沿
flutter低代码rxjavaai
Flutter低代码开发:使用工具加速应用构建关键词:Flutter、低代码开发、应用构建、开发工具、加速开发摘要:本文深入探讨了Flutter低代码开发的相关内容。首先介绍了低代码开发的背景和在Flutter中的应用目的,接着详细解释了Flutter、低代码开发等核心概念及其相互关系。通过具体的算法原理、数学模型和项目实战案例,展示了如何利用低代码工具加速Flutter应用的构建。还探讨了其实际
Spring Boot(六)集成 MyBatis 操作 MySQL 8
一、简介1.1MyBatis介绍MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。1.2MyBatis发展史MyBatis原本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis,201
基于densenet网络创新的肺癌识别研究
深度学习乐园
深度学习人工智能densenet
获取项目源码点击文末名片摘要本项目针对肺癌CT图像识别等医学影像分析场景,基于DenseNet网络进行创新性改进,综合引入多尺度卷积、深度可分离卷积、注意力机制以及空间金字塔池化(SPP)等模块,以期提升对不同大小的肺结节及关键病理特征的识别能力。同时,通过深度可分离卷积和可选的通道剪枝等策略,将网络参数量和计算开销显著降低,为实际临床应用(如实时诊断系统)提供可行性。本项目的核心内容包括以下几个
基于cnn和resnet和mobilenet对比实现驾驶员分心检测
深度学习乐园
cnn人工智能神经网络
演示效果及获取项目源码点击文末名片本项目旨在通过深度学习技术,结合卷积神经网络(CNN)模型、ResNet模型和MobileNet模型,实现对驾驶员分心行为的自动检测。我们通过训练这些模型来识别不同的驾驶员分心行为,包括如发短信、通话、喝水等行为。使用的数据集包含驾驶员行为的图片,并且针对每个行为标注了相应的标签(例如"正常驾驶"、"右手发短信"等)。MobileNetV2是Google于2018
在家怎么赚钱?不想出去打工有在家赚钱的项目推荐吗
古楼
这几年的疫情让很多人觉得钱越来越不够花了,大家都意识到发展副业很重要。平时上班已经耗费了我们很多时间和精力,所以能在家赚钱的副业才是我们最好的选择。今天我就总结了几个宅在家里就能赚钱的小技巧,一起来看看吧!副业兼职一:淘宝客(也是目前小编在做的副业之一)这个已经有好几年的历史了,经过发放链接和优惠券的方法来帮助店铺发布推行链接,获取优惠信息,网购市场非常大,任何人都需要一个买东西享最低优惠价的软件
随便写写
菁菁TJ
紧赶慢赶,终于在今天把工作都赶出来了,下周我可以踏踏实实请假,陪女儿高考。本来这个项目我不想接,女儿要高考了,我不想接这么一个要赶工加班,甚至女儿高考那天还做不完的工作。但是领导找我谈话,死说活说,又威逼利诱我徒弟,让他通宵加班也要帮我做好这个项目。我看着基本是没有推掉的可能了,只有接下这个项目。这些天上班的时候真的就是沉迷于工作不能自拔,每天大脑和眼睛都被过度使用。幸好我每天中午饭后出去溜达一圈
Java实现简单秒杀功能
在商城项目中,秒杀功能可以说是必不可少的,下面我将使用SpringBoot集成Redis、RabbitMQ、MyBatis-Plus和MySQL来实现一个简单的秒杀系统,系统将包含以下核心功能:使用Redis进行库存预减和用户限流;使用RabbitMQ进行异步下单,提高系统吞吐量;使用MyBatis-Plus操作MySQL数据库;利用Redis执行Lua脚本的原子性防止商品超卖;接口限流(使用Re
备份11111
Ellie艾藜
前端
hospital:医疗小项目后台管理,React+axios+antdhttps://gitee.com/whiteshader/ruoyi-react/tree/spring-cloud-v3/#%E6%BC%94%E7%A4%BA%E5%9B%BE
告别手动引入!PHP自动加载终极指南,效率提升90%
Jay_MIng
phpandroid开发语言linuxnginxjavapython
在没有自动加载机制的前提下,想要使用不同文件的类时,需要逐个手动将文件引入才行require'classes/MyClass.php';//......$obj=newMyClass();这种情况会导致维护困难,随着项目扩大变得难以管理。因此自动加载是PHP中一种重要的机制。自动加载允许在首次使用类时动态加载类文件,而不需要手动包含每个类文件PHP中推荐使用spl_autoload_registe
没有收不回的押金(六)
枫叶520
晚上,项目经理问老刘另外有没地方住。房子退了,明天又准备回去,老刘想了下,反正就一晚上,没有必要去麻烦老乡,于是,他问项目经理道:“经理,晚上我再在会议室睡,可以吗?”“可是可以。就是不知你能不能睡?”“没问题,”这也是,以前刚出来时,老刘在桥洞底下,芭蕉地甚至坟山上都睡过。想起当初睁眼就能数星星的日子,能在会议室中吹空调睡觉,还有什么不满足的。“那,行吧。”项目经理说,“不过,另外还有一个室友,
3D打印遥控投喂船:用ESP32C3打造低成本水上机器人
iotzgq
机器人
项目缘起:从脚踏船到智能投喂的创新转身在创客圈,灵感往往源于意外的"灵光一闪"。这个3D打印遥控投喂船的项目最初只是想做一艘普通的遥控脚踏船,直到开发者突发奇想:为什么不增加一个自动投喂装置?这个改动让项目瞬间具备了实用价值——不仅能在湖面操控小船畅玩,还能精准投放鱼食或鱼药到人工难以到达的水域。最令人称道的是其无线通信方案:放弃了传统遥控模块,采用ESP-NOW协议实现船与遥控器的通信。这种方案
用ESP8266和MicroPython打造WiFi智能遥控小车:从入门到实战
项目概述:WiFi控制的创新体验在物联网技术飞速发展的今天,传统遥控小车早已无法满足创客们的探索欲望。本文将介绍一个基于ESP8266和MicroPython的WiFi遥控小车项目,通过两个ESP8266模块实现无线通信,让你摆脱传统遥控器的束缚,体验物联网控制的乐趣。核心功能亮点WiFi无线控制:无需传统射频模块,通过WiFi网络实现远程操控双ESP8266架构:一个作为车载接收端,一个作为手持
基于单片机智能插座设计/智能开关
传送门其他作品题目速选一览表其他作品题目功能速览概述随着我国的电子计算机技术的快速发展以及居民对现实生活的要求也在不断提升,所以很多智能化的产品开始慢慢出现。本次设计主要是以物联网为基础,设计一个支持远程控制的智能插座。研究此项目是因为物联网预示了对未来互联网的一种发展趋势它可以让我们的生活变得更加便捷,所以想通过本次设计真正意义上去感受智能产品的魅力;更加深刻了解单片机以及嵌入式操作系的主要特点
你提辞职,领导说等做完这个项目给你申请加薪,可信吗?
诸葛明职场教练
你是在问领导会不会去给你申请加薪,还是问公司会不会给你加薪,这可是两个完全不一样的概念呀!有时候某些领导为了顺利推进项目,他只能先稳住你,以防你在这个节骨眼上离职或者"掉链子"!领导在这样的情况下作出的承诺,多少有点无奈的成分,往往未必出自真心!有些不道德的领导过河拆桥,翻脸比翻书还快;弄不好到时候,他还会来出"猪八戒倒打一耙"——说你就是趁上项目讹他,分分钟钟颠覆你的三观!比起明着耍坏的领导,还
抖米多多怎么赚钱 抖米多多是什么平台
高省爱氧惠
抖米多多怎么赚钱抖米多多是什么平台购物、看电影、点外卖、用氧惠APP!更优惠!氧惠(全网优惠上氧惠)——是与以往完全不同的抖客+淘客app!2023全新模式,我的直推也会放到你下面,送1:1超级补贴(邀请好友自购多少,你就推广得多少,非常厉害),欢迎各位团队长体验!也期待你的加入。氧惠邀请码123456,注册就帮你推广,一起做到百万团队!抖米多多王炸实体项目来袭一周内首码发布,一千万团队粉丝滑落,
16路串口光纤通信FPGA项目实现指南 - 第二部分(上)
无证驾驶梁嗖嗖
FPGAfpga开发
16路串口光纤通信FPGA项目实现指南-第二部分(上)四、Aurora通信接口实现4.1Aurora顶层模块设计文件位置:uart_fiber.srcs/sources_1/new/aurora_top.vmoduleaurora_top(inputinit_clk,//初始化时钟(通常为50MHz)outputuser_clk_i,//Aurora用户时钟输出outputCHANNEL_UP,/
软件测试理论基础、质量保证常见面试题
程序员阿沐
全面掌握软件测试理论基础、文档编写,测试流程1.测试分为哪几个阶段?⒉谈谈你之前测试的项目流程,在每个阶段的输出有哪些?3.谈谈敏捷模式的认识?4.linux常见查看日志命令有哪些?5.线上质量BUG频频爆发怎么办?6.如何分析一个bug是前端还是后端的问题?这些问题你一定要能够很全面的表述出来。比如说我现在是面试官,我第一个肯定不会去问你哪些代码的问题,也不会问你自动化、测试开发的问题。第一个查
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