- idea使用自定义checkstyle.xml配置文件
Gemkey
1.下载插件image.png2.插件安装完后,找到设置中的checkstyle,点击"+",新增自定义规则image.png3.输入描述信息,点击Browse找到对应的文件image.pngimage.png4.可以把active勾上,则使用默认校验规则,点击OK,则可以开始使用自定义规则检测单个文件了image.png
- 开源的java 代码分析库介绍
人生万事须自为,跬步江山即寥廓。
java开发语言开源java开发语言
本文将为您详细讲解开源的Java代码分析库,以及如何安装这些库、它们的特性、区别和应用场景。Java社区提供了多种代码分析工具,这些工具可以帮助您在Java应用程序中进行代码质量评估、性能分析、安全检查等功能。1.CheckStyle安装-通过Maven安装:在您的`pom.xml`文件中添加以下依赖: com.puppycrawl.tools checkstyle 8.41 特点-用于检
- 安卓之代码检查工具优劣分析以及应用场景
洪信智能
安卓开发android代码规范持续集成持续部署
一、引言代码检查工具在Android应用开发中是不可或缺的一部分,它们旨在提高代码质量、强化编程规范、消除潜在bug、提升应用性能和安全性。诸如Checkstyle、FindBugs、Infer、PMD和AndroidLint等一系列工具各具特色,应用于不同的开发环节,有助于打造健壮且易于维护的移动应用。这些工具的技术优势在于能够自动化执行静态分析,提前预防问题的发生,而其局限性则可能体现在误报、
- Jacoco 代码测试覆盖率检测插件的配置和使用
江无羡
ToolCI与CD的实践
Jacoco是一个免费的代码覆盖率测试工具,分别在maven和gradle管理的项目中都可以通过简单的配置来对我们的项目代码进行单元测试用例执行覆盖率的测试,非常的便捷好用!常见自动化CI所采用的插件列表SpotlessCheckstyleFindBugsJacocoLiquibase在项目中配置使用Jacoco在Gradle项目中,配置使用Jacocogradle构建脚本使用groovy首先在b
- java 代码静态检查_[原创]Java静态代码检查工具介绍
weixin_39915427
java代码静态检查
[原创]Java静态代码检查工具介绍一什么是静态代码检查?静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。二Java静态代码检查工具介绍1CheckstyleCheckstyle是SourceForge的开源项目,通过检查对代码编码格式,命
- java代码静态检查工具
molvhongchen
java开发工具
查了下相关网页,如https://www.jianshu.com/p/4a50ce0f6ce1java代码静态检查工具,有checkstyle、PMD、FindBugs、Jtest等工具查错能力比较代码缺陷分类示例CheckstyleFindBugsPMDJtest引用操作空指针引用√√√√对象操作对象比较(使用==而不是equals)√√√表达式复杂化多余的if语句√数组使用数组下标越界√未使用
- Checkstyle检查规则
火龙映天
java相关javaCheckstyle代码静态检查
Checkstyle是一个检查java文件编码规范的开源工具,最新版本支持184个检查规则。Checkstyle官网如下:https://checkstyle.sourceforge.ioCheckstyle的GitHub地址如下:https://github.com/checkstyle/checkstyle如下是目前支持的所有检查规则:1.AbbreviationAsWordInName【Si
- Java代码静态代码检查checkstyle
快乐江小鱼
javajava开发语言
一、介绍概述checkstyle是用来帮助Java程序员遵守编码规范的工具。它是检查代码的过程自动化,从而让人们不必承担这项无聊又重要的工作。这对于强制执行编码标准的项目非常理想。checkstyle高度可配置,能够支持几乎所有编码标准。用checkstyle结合maven生成的报告实例。特性checkstyle可以检查代码的很多方面,包括类设计问题、方法设计问题以及检查代码布局和格式问题。先前版
- maven-代码规范检查
Slow菜鸟
maven代码规范java
maven-代码规范检查前言一、使用maven-checkstyle-plugin插件1.maven-checkstyle-plugin介绍2.引入依赖3.如何排除某个类包下面的不进行检查使用suppressionsLocation4.如何关闭前言很多时候我们的代码写的不规范,比如没缩进、参数间没空格、导入的包没用到没删除、方法很长没有进行拆分、直接对方法参数进行了赋值分配等等不规范的操作或写法。
- Spring: alibaba代码规范校验工具checkstyle
玉成226
【Spring】spring代码规范java
文章目录一、idea配置checkstyle插件二、激活CheckStyle三、配置自动格式化功能一、idea配置checkstyle插件下载IntellijIDEACheckstyle插件:File->setting->plugin通过关键字CheckStyle-IDEA搜索并安装。安裝完成后重启idea二、激活CheckStyle接下就是在idea中激活checkstyle,需要进行如下配置:
- 【Maven教程】(十四):生成项目站点—— 丰富项目信息、项目报告插件、自定义站点外观、国际化及部署站点 ~
小山code
Maven教程mavenjavajvm开发语言学习
Maven·生成项目站点1️⃣最简单的站点2️⃣丰富项目信息3️⃣项目报告插件3.1JavaDocs3.2SourceXref3.3CheckStyle3.4PMD3.5ChangeLog3.6Cobertura4️⃣自定义站点外观4.1站点描述符4.2头部内容及外观4.3皮肤4.4导航边栏5️⃣创建自定义页面6️⃣国际化7️⃣部署站点总结Maven不仅仅是一个自动化构建工具和一个依赖管理工具,它
- 那些总是写“烂代码”的同学,强烈推荐你用这款 IDEA 插件!
北诺成尘_6bd8
1、目标 idea集成sonar的代码检查,实现可以在提交代码前就检查你的代码,而不是将代码提交之后,之后再去检查。 Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题1、不遵循代码标准sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写2、潜在的缺陷sonar可以通过PMD,CheckStyle,Findbugs
- 在Gradle工程中使用checkstyle来规范你的项目
青花锁
Java微服务intellij-ideaGradlecheckstyle
作者主页:青花锁简介:Java领域优质创作者、Java微服务架构公号作者简历模板、学习资料、面试题库、技术互助文末获取联系方式系列专栏目录[Java项目实战]介绍Java组件安装、使用;手写框架等[Aws服务器实战]AwsLinux服务器上操作nginx、git、JDK、Vue等[Java微服务实战]Java微服务实战,SpringCloudNetflix套件、SpringCloudAlibaba
- 持续集成CI-Jenkins进阶之PHP
北山学者
实现php的持续集成,需要安装一系列的插件,比如安装Clover(https://wiki.jenkins-ci.org/display/JENKINS/Clover+Plugin)去图形化显示phpunit的单元测试覆盖率,安装Checkstyle(https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin)去显示PHPCodeSn
- idea常用插件
色空大师
intellij-ideajavaide
idea常用插件1.AlibabaJavaCodingGuidelines2.RainbowBrackets3.SpotBugs4.CheckStyle-IDEAMyBatisCodeHelperPro二级目录三级目录1.AlibabaJavaCodingGuidelinesAlibabaJavaCodingGuidelines是阿里巴巴出品的阿里巴巴Java代码规约扫描插件,可以帮助开发者避免代
- 手撸正则表达式引擎
杏仁技术站
作者|夏梓耀杏仁后端工程师,励志成为计算机艺术家简介本文从一个有关正则表达式引起的性能问题案例开始,逐步介绍正则表达式的本质,最后我们实现一个正则表达式引擎,分析其匹配算法,依然是字数警告,希望你能慢慢看到最后,希望本文对你以后分析优化正则表达式有所帮助。从一个案例说起有位同事在执行checkstyleOrgtest时卡住,叫我帮忙看看怎么回事,我拉了项目代码,本地执行checkstyleOrgt
- java checkStyle ‘cast‘ is not followed by whitespace.
Hunter_Young
Errorjava后端gradle
项目工程中有开启代码检查,编译报'cast'isnotfollowedbywhitespace.ItemInfoTOxretailItemInfo=(ItemInfoTO)result.getData();原因是类型转换后需要空格。ItemInfoTOxretailItemInfo=(ItemInfoTO)result.getData();
- IntelliJ 中的自定义代码检查
wouderw
log4j
市场上有很多Java代码分析工具,其中一些甚至被用作事实上的标准,例如Checkstyle、PMD和SpotBugs,它们对于防止开发人员犯许多常见错误和编码错误,从而加快速度具有巨大的价值。加快开发流程、减少错误修复工作等等。背景和动机几年前,我参与了一个巨大的项目,当然,该项目使用这些库来提高软件质量并帮助开发人员生活。我所在的一个小团队正在开发一个供内部使用的基于Java的测试自动化框架,但
- Java代码规范检查插件调研及总结
oysl_web
Java_API代码规范
代码规范工具对比代码规范工具是什么大家应该都有过写完代码后review的情况;用于提高编码质量,尽早的发现问题;节约开发时间和成本。但review这个过程往往要消耗更多的开发资源。所以就出现自动检测可能代码中存在的问题的工具,我们一般把这类工具称为静态代码扫描工具。常见的静态代码扫描工具有checkstyle,findBug,PMD,Jtest等等,它们有的用来寻找编码格式问题,有的用来定位可能存
- Seatunnel 2.1.3 源码打包、编译运行
桑煜0926
大数据Seatunnel源码编译执行javascala大数据idea
1、编译打包#seatunnel项目打包编译命令:mvncleaninstall-DskipTests-Dcheckstyle.skip-Dmaven.javadoc.skip=true执行报错:[ERROR]Unknownlifecyclephase".skip".Youmustspecifyavalidlifecyclephaseoragoalintheformat:or:[:]:.解决:1、
- checkstyle中的import顺序
qq_42725437
(1)同组的包放在一起(2)同组的包按照一定的顺序,一般是按照字典顺序(3)不同组之间的包流一个空行
- CheckStyle
brightranger
CheckStyle示例-->-->-->-->
- git commit前进行checkstyle --pre-commit并优化了checkstyle速度
山鬼谣me
gitcheckstyle
环境git:gitversion2.15.0java:1.8+背景虽然项目中引入了checkstyle,并且编译时,会进行检查报错。但是每次走到项目编译时,其实已经有点晚了,来不及了。所以需要在gitcommit之前进行检查,这样效果会更好些。前提条件:你已经在项目中配置了checkstyle配置步骤在路径:项目名/.git/hooks/下,放两个文件:创建名为:pre-commit的脚本。che
- maven 添加 checkstyle 插件约束代码规范
catoop
Java开发maven代码规范
本例示例,是引用http链接这种在线checkstyle.xml文件的配置方式,如下示例:3.3.0http://xxx.test.com/repository/raw-hosted/scripts/checkstyle/checkstyle.xmlorg.apache.maven.pluginsmaven-checkstyle-plugin${maven.checkstyle.plugin.ve
- SonarQube 学习笔记
LWei_csdn
开发工具学习代码规范
1.SonarQube简介1.1为什么要用sonarQube?在我们的日常软件开发工作当中,随着项目时间变长,开发人员编写的代码量也会越来越多。长此以往,会面临代码量庞大,却无法横量整体代码质量?若是要优化,也不知道如何优化。针对这些问题,出现了各种各样的工具,比如:java语言的Checkstyle,FindBugs,PMD,Jtest等,帮助检测代码编写规范上存在的问题和漏洞。python语言
- idea 配置checkstyle全过程
东皋长歌
玩意儿intellij-ideajavaidecheckstylecodestyle
checkstyle是提高代码质量,检查代码规范的很好用的一款工具,本文简单介绍一下集成的步骤,并提供一份完整的checkstyle的代码规范格式文件,以及常见的格式问题的解决方法。一,安装打开idea的文件选项,选择设置,进入后选择插件,搜索checkstyle,安装,安装后重启idea。二,格式文件在项目的根目录下新建checkstyle.xml文件三,应用检查1,打开设置--》工具--》Ch
- 解决Maven打包Nacos时插件报错
zmbwcx
mavenjava
Maven打包指令:mvncleaninstall-Dmaven.test.skip=true-Dcheckstyle.skip=true在执行时报错,报错信息如下:Failedtoexecutegoalorg.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile(default)onprojectnacos-consistency:
- CheckStyle, 强制遵循编码规范,集成IDEA配置
丿剑过血洒泪轻吟
javamaven
如何将CheckStyle引入到maven构建中org.apache.maven.pluginsmaven-checkstyle-plugin2.10checkstylevalidatechecktrue我们定义了在mavenlifecycle的validate阶段执行checktask,并且如果发现有违反标准的情况就会fail当前的build。maven-checkstyle-plugin内置了
- idea使用checkStyle
james__Gao
前言阅读优雅的代码是一种享受,而看到一团糟的代码通常让人头疼,所以本文介绍下使用checkStyle进行代码检查,帮助团队统一代码规范。安装checkstyle插件File--》Settings--》Plugins,之后找到checkStyle插件,进行安装即可配置默认的checkStyle.xml文件File--》Settings--》OtherSettings--》CheckStyle,之后添
- idea 插件 checkstyle 规则示例和说明
catoop
Java开发代码规范
idea安装插件idea配置插件checkstyle.xml示例和说明使用插件最后附我个人使用的一个xml(上面那个xml是比较全的解释)-->-->-->(END)
- 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