- Foldseek快速蛋白质结构比对
1.下载和安装Foldseek如果只是单个蛋白质结构的序列比对,我们只需要用Foldseek的网站服务https://search.foldseek.com/search上传我们的蛋白质结构并选择想要进行比对的数据库即可,这里不做重点讲解。做生物信息学研究,我们难免需要批量对多个目标蛋白进行大规模结构比对,这需要我们下载安装本地版软件。Foldseek有Linux和MacOS二个版本的本地软件(这
- Docker:DockerHub 与 私有仓库Registry
聪明的奇瑞
一个完整的系统可能包含上百个微服务,可能对应着上百个镜像,如果考虑到微服务的版本则会构建更多的镜像,那么这些镜像该如何管理呢?使用DockerHub镜像管理DockerHub是Docker官方维护的DockerRegistry,上面存放着很多优秀的镜像,只需注册一个DockerHub账号就可以使用了通过dockerlogin命令登录DockerHub,并按提示输入账号密码#DockerHub该网站
- 绝佳组合 SpringBoot + Lua + Redis = 王炸!
Java精选面试题(微信小程序):5000+道面试题和选择题,真实面经,简历模版,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计、大厂真题等,在线随时刷题!前言曾经有一位魔术师,他擅长将SpringBoot和Redis这两个强大的工具结合成一种令人惊叹的组合。他的魔法武器是Redis的
- client-go: k8s选主
快速上手下面这个代码就是一个选主的大概逻辑packagemainimport("context""flag""fmt"_"net/http/pprof""os""path/filepath""time""golang.org/x/exp/rand"v1"k8s.io/api/core/v1"metav1"k8s.io/apimachinery/pkg/apis/meta/v1""k8s.io/ap
- 工作之外的生活,也可以充实到极致
借书人hyt
今天是周天,早晨六点起床,看了半小时书后开始洗漱、做早餐,早餐是六个馄炖,一颗水煮生菜。现在正在星巴克坐在落地窗前写文章,标配是拿铁、bose降噪耳机、MacBookAir。答应朋友写一篇关于借钱消费及计划消费的文章,但是因为诸多友邻咨询我如何做到自律,所以先写了这篇文章。我认为我的生活状态是很好很健康的,是我自己想要的生活。朝九晚五的工作,因为时间固定,自由时间较多,所以可以从容的安排工作以外的
- 微信出品了个输入法,直接把AI塞进对话框问
qq_54693727
python
软件介绍微信输入法是TX微信团队打造的一款中文输入法,提供高效的输入体验、精准的推荐策略、多元的创新玩法。简洁、好用、打字快,无广告,适用于Windows/Mac/安卓/iOS软件特点:支持多端使用支持AI模式无广告下载地址:迅雷网盘
- Docker 部署的 GitLab备份和恢复
码上有约
经验分享dockergitlabeureka
Docker部署的GitLab备份和恢复数据使用Docker部署的GitLab可以通过Docker命令来进行备份和恢复。以下是具体步骤:1.停止GitLab容器在进行备份之前,最好先停止GitLab容器以确保数据一致性:dockerstop2.创建备份启动GitLab容器并执行备份命令:dockerexec-tgitlab-backupcreate备份文件将存储在GitLab容器内的/var/op
- 迁移 Docker 数据目录 no space left on device
老罗技术
杂项dockereurekajava
Docker加载镜像时提示存储空间不dockerload-ielectron-builder-wine.tarwrite/blobs/sha256/4f9e861834a8ea1087d33ae79dd3bdd92eabdb72b7aca6b700c073c9fa4ab69f:nospaceleftondevice迁移Docker数据目录#停止Docker服务sudosystemctlstopdo
- 【docker】AnythingLLM的docker-compose及一些启动踩坑
BigBigHang
dockerAIdocker容器ai
摘要:使用docker-compose配置和启动AnythingLLM服务。配置包括指定镜像、设置容器名称、端口映射、数据卷挂载等。通过docker-compose启动AnythingLLM可以进行以下配置:services:anythingllm:image:docker.io/mintplexlabs/anythingllm:latestcontainer_name:anythingllmpo
- docker gitlab 备份 恢复 版本升级(16.1.1到18.2.0)
dingxiaochao
dockergitlab
docker启动#在线dockerpullgitlab/gitlab-ce:latest#离线dockersave-ogitlab-ce-latest.targitlab/gitlab-ce:latestdockerload-igitlab-ce-latest.tardockerrun--detach\--publish8021:80--publish8023:22\--namegitlab_te
- CentOS 服务器docker pull 拉取失败
可以通过以下步骤将Windows上下载的Docker镜像导出,然后传输到CentOS服务器并导入使用:步骤1:在Windows上导出镜像#1.拉取镜像(如果你还没有拉取)dockerpullelectronuserland/builder:wine#2.导出镜像为tar文件(注意路径使用双引号)dockersave-o"C:\path\to\electron-builder-wine.tar"el
- 解决Flutter运行android提示Deprecated imperative apply of Flutter‘s Gradle plugins
旺仔大牛
gradleflutterandroidgraldebuildscriptdependenciesprepositories
文章目录出现场景解决方案编辑android/settings.gradle编辑android/build.gradle重新定义库变量编辑android/app/build.gradle删除fluttetRoot和plugin字段添加plugins块修改dependencies出现场景ado@adodeMacBook-Airapp_demo%flutterrun--profileLaunchingl
- AirPlay认证是什么?AirPlay认证流程有哪些(ai)
Microtest_CS
AirPlay认证
在当今日益数字化的世界中,无线连接技术已成为我们日常生活中不可或缺的一部分。其中,AirPlay作为苹果公司推出的一种无线媒体播放技术,为用户提供了将音频、视频和照片等内容从iOS设备、Mac电脑等发送到AppleTV、HomePod或其他兼容设备的便捷方式。然而,为了确保用户能够获得最佳体验,苹果公司对于支持AirPlay的设备或软件有着严格的认证流程,这就是所谓的AirPlay认证。一、Air
- airplay认证流程有哪些?
Microtest_CS
AirPlay认证
**AirPlay认证流程解析**在当前的数字时代,无线传输技术已成为连接设备、分享内容的标配。AirPlay,作为苹果公司开发的一种专有无线通信技术,允许用户将音频、视频和屏幕镜像从iOS设备、macOS计算机无线传输到支持的接收设备,如扬声器、电视和投影仪等。为了保障用户的使用体验和内容的传输质量,苹果公司设立了AirPlay认证流程,确保接入AirPlay技术的设备符合其标准和要求。**一、
- AirPlay认证是什么?AirPlay认证流程有哪些?
Microtest_CS
cocoamacosobjective-c
AirPlay认证是苹果公司为其无线音频和视频流传输技术所设立的一种认证机制。它确保了使用AirPlay技术的设备能够无缝、高质量地传输音频和视频内容,为用户带来流畅且稳定的多媒体体验。在本文中,我们将详细探讨AirPlay认证是什么,以及AirPlay认证流程包括哪些步骤。一、AirPlay认证概述AirPlay是苹果公司推出的一种无线媒体传输技术,它允许用户将iOS设备、Mac电脑或iTune
- Docker build ollama
longze_7
ollamadocker
dockerrun-d--gpus=all-vollama:/root/.ollama-p11434:11434--networkbridge--nameollamaollama/ollama
- Prometheus怎么监控docker容器 给我个详细的教程
Xi Zi
dockerprometheus容器运维kubernetes
Prometheus可以通过Docker容器服务检测来监控Docker容器,具体步骤如下:1.安装Prometheus和NodeExporter,并将它们部署到Docker容器中;2.在Prometheus配置文件中添加NodeExporter的配置;3.配置Prometheus和NodeExporter的服务监控;4.访问Prometheus查看监控结果。
- python连接数据库的方法,Python 连接数据库的多种方法
AI MIU
python连接数据库的方法
JZGKCHINAPython是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在Windows,Mac和Linux/Unix系统上。在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有SQLServer,MySQL,Oracle,DB2,SQLite,Hive,PostgreSQL,MongoDB还有其他常用的MicrosoftA
- docker镜像加速源配置,目前可用镜像源列举(10月10日更新最新可用)
1.前提背景:这里列举一下目前暂且可用的镜像源,滑到最下方查看最新9月19日更新(9月18日测试阿里云的个人镜像服务可以正常使用,建议使用阿里云的个人镜像服务)9月24日测试阿里云个人镜像服务挂掉,互联网寒冬了属于10月8日正式上班后,扒了下外网的论坛,发现有个开发者自己搭建了个服务器,速度还不错,为爱发电的,如果感觉好的话可以去这个开发者的官网赞助一下,支持下这个开发者。(不是广告哈)10月10
- 2025年最新可用!Docker/DockerHub 国内镜像源/加速列表
珍藏教育
dockerjava容器
Docker镜像库Docker镜像库是一个用于存储和分发Docker镜像的服务。Docker镜像是一个包含应用程序及其依赖项的只读模板,可以用来创建Docker容器。Docker镜像库可以帮助开发者和团队共享和管理这些镜像。可用的docker镜像地址DockerHub镜像仓库镜像加速器地址https://docker.xuanyuan.mehttps://docker.1ms.run镜像使用说明h
- Ubuntu 系统安装 Docker 全流程指南
ANFUT
ubuntudockerlinux
一、环境准备1.系统要求-Ubuntu22.04LTS或24.04LTS(兼容性最佳)-内核版本≥5.15(验证命令:`uname-r`)-64位架构(验证命令:`arch`输出应为`x86_64`)2.卸载旧版本sudoaptremovedockerdocker-enginedocker.iocontainerdruncsudorm-rf/var/lib/docker二、核心安装步骤3.配置仓库
- Docker Compose
坚定的小辣鸡在努力
docker容器运维
DockerCompose阅读原文https://www.xiaozaoshu.top/articles/docker/compose一、什么是DockerCompose?DockerCompose是一个用于定义和运行多个Docker容器的工具。你只需用一个docker-compose.yml文件,描述好服务的配置,然后一条命令就可以启动整个系统。适用场景:需要运行多个服务(如Web服务+数据库+
- Docker 国内镜像源可用列表
Docker镜像源列表(7月15日更新-长期&免费)_dockerhub国内镜像源列表-CSDN博客
- 通过docker部署的MySQL数据库初始化方式
GIS从业者
资料数据库dockermysql
背景安装好MySQL容器后,有时需执行MySQL命令创建项目初始表才能使用。手动创建不太便捷,可将相关SQL命令保存为.sql文件(如init.sql)。在docker-compose.yml中配置MySQL容器时,借助volumes把该脚本挂载到MySQL容器的初始化目录(/docker-entrypoint-initdb.d/),以此完成自动创建,这样会方便许多。步骤1、创建SQL初始化文件在
- 基于Docker构建Python后端项目落地总结
Docker使用总结基于Dockerfile的镜像构建示例dockerfile解析#加载centos7的最小镜像源FROMcentos:7RUNyumcleanallRUNyum-yupdate#修改时区RUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime&&echo"Asia/Shanghai">/etc/timezone#安装中文支持R
- 人工智能入门指南:从基础概念到实际应用
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。https://www.captainbed.cn/north文章目录1.**人工智能的基本概念**1.1什么是人工智能?1.2人工智能的分类2.**人工智能的核心技术**2.1机器学习(MachineLearning)2.1.1机器学习的类型2.1.2机器学习流程2.2深度学习(DeepLearni
- nuc10黑苹果无法wifi上网
家里小书房重新整理了下,也想放一台mac台式机用来工作学习,可惜公司已经有一台macmini,手头又有macpro,实在不好意思再购一台mac台式机。就打算重新把nuc10安装黑苹果。具体的nuc10黑苹果安装参考https://zhuanlan.zhihu.com/p/146191643安装好了后,一切都正常,就是没有wifi。这里记录下解决方案:下载wifi驱动https://github.c
- 基于探路者算法优化的核极限学习机(KELM)分类算法
智能算法研学社(Jack旭)
智能优化算法应用机器学习#核极限学习机(KELM)算法分类数据挖掘
基于探路者算法优化的核极限学习机(KELM)分类算法文章目录基于探路者算法优化的核极限学习机(KELM)分类算法1.KELM理论基础2.分类问题3.基于探路者算法优化的KELM4.测试结果5.Matlab代码摘要:本文利用探路者算法对核极限学习机(KELM)进行优化,并用于分类1.KELM理论基础核极限学习机(KernelBasedExtremeLearningMachine,KELM)是基于极限
- docker更换国内加速器-更换华为加速器2025-717亲测可用docker 拉取镜像出错
longerxin2020
docker容器运维
[root@localhost~]#dockerpullnginxUsingdefaulttag:latestErrorresponsefromdaemon:Get"https://registry-1.docker.io/v2/":net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaiti
- windows配置内网穿透
AI算法网奇
win/ubuntu运维服务器
目录dify访问:在Windows上配置frpcdify访问:VECTOR_STORE=milvusMILVUS_URL=http://host.docker.internal:19530#取决于Milvus启动位置在Windows上配置frpc下载地址:https://github.com/fatedier/frp/releases解压后,编辑frpc.ini:下载版本:frp_0.62.1_w
- 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