- Spring 定时器 xml文件配置
北漂一族1988
springspring
一开始自己写的程序有点问题,能运行但是有报错信息后来参考了:http://my.oschina.net/u/559635/blog/389558的文章正常了。spring定时器目前有两种方式、一种是走配置文件,一种是注解下面来介绍这两种方式。一、配置文件实现springTriggerfalse0****?-->0****?0****?表示时间配置:时间大小由小到大排列,从秒开始,顺序为秒,分,时,
- java task 定时任务,定时任务 - Spring task 介绍及使用
邹志渭
javatask定时任务
开篇在日常的业务开发过程中,可能会需要实现一些周期性定时任务,比如定时同步数据库、定时发送短信或者邮件等。那么在Java中,共有三种定时任务的实现方式:通过java.util.Timer、TimerTask实现。通过Spring自带的SpringTask。(Spring3.0以后)通过Spring结合Quartz实现。而本文说的是第二种方式-Spring定时器。使用现在开发都是基于springbo
- spring定时器突然不执行了_非标自动化设备之PLC定时器的时间和程序扫描周期
weixin_39547596
spring定时器突然不执行了
扫描周期是PLC本身执行指令时的周转时间。PLC执行指令按梯形图是从左向右,从上到下执行。每执行一遍就顺便扫描一遍所有元件状态并按指令执行相应动作。这个是需要时间吧,把这个时间叫扫描周期。并如此无限循环下去。当然扫描周期越短,PLC性能越好。但定时器不受周期制约,定时器在接通后立即计时,时间结束后触点立即动作,不受扫描周期影响。PLC扫描周期是指PLC从主程序第一行一直执行到最后一行后重回到第一行
- java定时器2-spring实现
weixin_30750335
java
spring定时器(基于xml)spring定时器(基于注解)quartz定时器1、使用基于xml配置的spring定时器首先编写定时任务类MytaskpublicclassMytask{publicvoidexecute(){System.out.println("基于xml配置的spring定时任务!");}}接着在spring配置文件中加入xmlns:task="http://www.spr
- 一个Spring定时器引发的血案!
thinking_hunter
Javaspringjava服务器性能
不知道从哪说起,应该说相关问题由来已久,只是现在到了不得不处理的时候。很传统的tomcat服务器,下面有四个项目,这段时间老是报permgenspace异常,据史料记载,这块内存主要是被JVM存放Class和Meta信息的,要说meta占用太多空间不切实际,意思是class创建太多?这让我联想到貌似spring管理的bean是被实例化多次的!!看来跟spring有关系,是spring的配置问题??
- Spring定时器问题
宏羽
Java
今天在使用Spring的quartz定时器时,遇到了一个奇怪的问题,就是使用了定时器后tomcat一直启动不完,卡在Hibernate读取数据库这一步长期等待。如果一直不管的话居然会把数据库的进程数占满!核心代码如下:publicclassVisitorTimer{privateICacheiCache;publicVisitorTimer(){ApplicationContextctx=newC
- Java定时器 Spring定时任务 Quartz
不想当厨师的力学渣不是好程序员
java类用法java定时器
spring定时器(基于xml)spring定时器(基于注解)quartz定时器1、使用基于xml配置的spring定时器首先编写定时任务类MytaskpublicclassMytask{publicvoidexecute(){System.out.println("基于xml配置的spring定时任务!");}}接着在spring配置文件中加入xmlns:task="http://www.spr
- Spring定时器是否影响性能
IT枫斗者
JAVA基础工作中实际总结编程学习springjava后端
Spring定时器是否影响性能在Spring中,定时器可以使用不同的技术实现,例如Java自带的Timer类、Spring自带的TaskScheduler、Quartz等。无论使用哪种技术实现,定时器的确会对系统性能产生一定的影响。具体来说,定时器会创建一个或多个线程用于定时执行任务,这些线程会占用一定的系统资源。如果同时存在大量的定时任务,这些线程就会消耗大量的系统资源,从而影响系统的性能。此外
- @Scheduled 定时器
zb0002011
#springboot
@Scheduled定时任务总结@Scheduled作用:spring定时器(定时执行一次或定时轮询执行一段代码)使用场景:注解在方法上参数说明:常用参数一、@Scheduled参数说明1、LongfixedDelay:定时任务每隔多久执行一次,单位是毫秒,上一次任务结束后开始计算下次执行的时间。例子:@Scheduled(fixedDelay=1000*10)//10秒发送一次·········
- 【Spring定时器】SpringBoot整合Quartz
MoonpieXia
#SpringBootJava全栈开发进阶springbootspringjava
SpringBoot整合Quartz简单介绍简单操作导入相关pom依赖org.springframework.bootspring-boot-starter-quartz创建继承类MyQuartzpackagecom.ustc.quartz;importorg.quartz.JobExecutionException;importorg.springframework.scheduling.qua
- Java微服务分布式调度Elastic-job环境搭建及配置
目录什么是任务调度为什么需要分布式调度Elastic-Job环境搭建更改Zookeeper配置SpringBoot集成ElasticJob什么是任务调度任务调度是为了自动完成特定任务,在约定的特定时刻去执行人物的过程为什么需要分布式调度1.使用Spring定时器,在集群的情况下,可能会导致任务重复执行的情况,当我们部署了多台服务,同时每台服务又有定时任务时,若不进行合理的控制在同一时间,只有一个定
- Spring定时器调度实现的原理
编程爱好者熊浪
技术文档spring
1、使用Spring定时器任务实现packagecom.suyun.modules.vehicle.timetask;importcom.alibaba.schedulerx.worker.domain.JobContext;importcom.alibaba.schedulerx.worker.processor.JavaProcessor;importcom.alibaba.scheduler
- spring定时器突然不执行了_耗时3周!7000+字的Spring事务总结来啦!
weixin_39904587
spring定时器突然不执行了
文章来源:耗时3周!7000+字的Spring事务总结来啦!原文作者:Guide哥1.什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。Guide哥:大家应该都能背上面这句话了,下面我结合我们日常的真实开发来谈一谈。我们系统的每个业务方法可能包括了多个原子性的数据库操作,比如下面的savePerson()方法中就有两个原子性的数据库操作。这些原子性的数据库操作是有依赖的,它们要么都执行
- 微服务分布式调度Elastic-job
杨宸杨
微服务微服务java架构
微服务分布式调度Elastic-job什么是任务调度?为什么需要分布式调度?Elastic-Job环境搭建更改Zookeeper配置SpringBoot集成ElasticJob什么是任务调度?任务调度是为了自动完成特定任务,在约定的特定时刻去执行人物的过程为什么需要分布式调度?1.使用Spring定时器,在集群的情况下,可能会导致任务重复执行的情况,当我们部署了多台服务,同时每台服务又有定时任务时
- 利用spring定时器发送定时邮件
小石头过河
springspring邮件java
spring的org.springframework.mail包提供的对邮件的支持。1.封装一个方法用于发送邮件的方法:packagecom.ql.v2.utils;importjava.util.Properties;importjavax.mail.internet.MimeMessage;importorg.springframework.mail.SimpleMailMessage;imp
- spring定时器定时任务到时间未执行问题的解决
目录spring定时器定时任务到时间未执行应用场景原因分析解决方式解决修改系统时间后Spring定时任务不执行问题描述起因错误解决问题spring定时器定时任务到时间未执行应用场景一个定时器类中有n个定时任务,有每30秒执行一次的还有每1分钟执行一次的,出现问题的定时任务是0点整时执行的定时任务到了0点没有执行。原因分析spring定时器任务scheduled-tasks默认配置是单线程串行执行的
- Spring中定时器实现
fad2aa506f5e
在一些工作需要使用到定时器,Spring很好的集成了定时器的功能!在Spring中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,springtask,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,下面介绍两种方式实现Spring定时器功能,一种是基于xml配置方式,另外一种是基于注解的方式,大家根据自己的项目选择适合自己
- 浅析spring定时器的使用
原生的Java定时器使用Java.util包下的定时器也很简单,具体代码如下://设置定时器开始时间Datetime=sdf.parse("2020-10-0116:40:00");//设置定时器Timertimer=newTimer();//第三个参数表示每隔多久循环一次timer.schedule(newTimerTask(){@Overridepublicvoidrun(){System.o
- Linux任务调度
F·F
随笔
Linux任务调度一、概念Linux任务调度:定期调用Linux主机上的shell脚本任务,例如监控主机的内存、CPU和空间的使用率。二、思路1)触发方式:Spring定时器a.@Component注解使得Web服务器启动后被Spring容器扫描到并实例化b.@Scheduled(cron="00/1***?")注解使得被应用的方法每隔1分钟执行一次2)触发方式:Linux系统的crontab服务
- Spring定时器-单线程模式
F·F
随笔
随笔Spring定时器-单线程模式配置和使用根据Spring的文档说明,默认采用的是单线程的模式,也就是说多个任务的执行是会相互影响的。例如,如果A任务执行时间比较长,那么B任务必须等到A任务执行完毕后才会启动执行。第一步:在Spring.xml中开启定时器的功能第二步:编写定时器类packagecom.ff.job;importjava.util.concurrent.TimeUnit;impo
- 如何解决spring定时器被执行两次的问题
何福升
因为最近用到定时任务的功能,因此用到了spring的定时任务,配置方式如下1.新建一个spring-scedul.xml文件里面配置如下:2.在springMVC.xml中引入spring-scedul.xml(应该由web.xml去加载)3、创建任务类@ComponentpublicclassweatherTask{protectedfinalLoggerlogger=LoggerFactory
- spring定时器--quartz开发配置时间参数说明
胶泥座人
spring
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11)6.天(星期)(1~71=SUN或SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099)其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-
- spring定时器一些时间配置例子参考
czx33859066
SpringMVC
"0/10****?"每10秒触发"0012**?"每天中午12点触发"01510?**"每天上午10:15触发"01510**?"每天上午10:15触发"01510**?*"每天上午10:15触发"01510**?2005"2005年的每天上午10:15触发"0*14**?"在每天下午2点到下午2:59期间的每1分钟触发"00/514**?"在每天下午2点到下午2:55期间的每5分钟触发"00/
- Spring定时器QuartzJobBean和JDK定时器Timer
梦想的边缘
springjava基础
项目开发基本会使用到定时器,JDK有自带的定时器Timer。Spring框架也有自己的定时器QuartzJobBean,以下是二者的使用方式:JDK-Timer定时器:jdk定时器使用步骤很简单:1.创建一个定时任务类并继承TimerTask类,定时任务类用于实现实际业务需求;2.创建定时任务timer实例;3.调用timer实例的schedule方法,带上定时任务实例等参数;1).定义继承了Ti
- Spring定时器的两种实现方式
cl5021
本文向您介绍Spring定时器的两种实现方式,包括JavaTimer定时和Quartz定时器,两种Spring定时器的实现方式各有优点,可结合具体项目考虑是否采用[@more@]有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz。1.JavaTimer定时首先继承java.util.TimerTask类实现run方法importjava.util.Ti
- Spring定时器 CronTrigger配置
我想你是不知道的
CronTrigger配置格式:格式:[秒][分][小时][日][月][周][年]序号说明是否必填允许填写的值允许的通配符1秒是0-59,-*/2分是0-59,-*/3小时是0-23,-*/4日是1-31,-*?/LW5月是1-12orJAN-DEC,-*/6周是1-7orSUN-SAT,-*?/L#7年否empty或1970-2099,-*/通配符说明:*表示所有值.例如:在分的字段上设置"*"
- Dubbo+Spring定时器
Young_____Hu
后端框架
jar4.0.0cn.hzySpringTaskServiceImpl0.0.1-SNAPSHOTorg.apache.taglibstaglibs-standard-spec1.2.1org.apache.taglibstaglibs-standard-impl1.2.1org.apache.tomcattomcat-jsp-api7.0.53org.springframeworkspring-
- java配置定时任务的几种配置方式及示例
weixin_30847939
使用java配置定时任务的几种配置方式及示例(2010-08-2113:16:10)转载▼标签:spring定时器配置it分类:javaSpring定时器,主要有两种实现方式,包括JavaTimer定时和Quartz定时器!1.JavaTimer定时首先继承java.util.TimerTask类实现run方法packagecom.land;importjava.util.Date;importj
- spring使用java配置定时任务的几种配置方式及示例
两只橙
javaspringspring-mvc
Spring定时器,主要有两种实现方式,包括JavaTimer定时和Quartz定时器!1、JavaTimer定时首先继承java.util.TimerTask类实现run方法packagecom.land;importjava.util.Date;importjava.util.TimerTask;publicclassTimerTestextendsTimerTask{@Overridepub
- Spring学习—Spring中定时器实现
不敲代码的攻城狮
Javaspring
Spring学习—Spring中定时器实现在一些工作需要使用到定时器,Spring很好的集成了定时器的功能!在Spring中使用Quartz,本文介绍Spring3.0以后自主开发的定时任务工具,springtask,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,下面介绍两种方式实现Spring定时器功能,一种是基于xml配置方式,一种是基于注解
- 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