- Java习题:第一章 Java概述
陈曦灵
java基础java习题java
【Java习题】第一章Java概述编译Java源程序文件后将产生相应的可执行字节码文件,这些文件的扩展名为()。A.javaB.classC.exeD.jsp答案:BJava中编译命令是()A.java.exeB.javac.exeC.jdb.exeD.jar.exe答案:B以下不是Java环境变量的是()。A.PATHB.CLASSPATHC.JAVA_HOMED.JAVA_PATH我的答案:D
- 7月23日
YMurmansk
Java习题java
Java习题实例化子类时父类与子类之间的调用顺序(代码段,属性,构造方法)?父类静态属性和静态块-子类静态属性和静态块–父类非静态属性和代码段-父类构造方法-子类非静态属性和代码段-子类构造方法。同一个类中静态属性和静态代码段执行顺序和定义顺序一致已知Inner1和staticInner2类属于Outter类的内部类,在Test类中如何实例化Inner1和Inner2?Outter.Inner2i
- Java语法进阶-------小练习
程序媛先生
Javajava
这是又一篇记录Java习题的blog。1、使用二维数组模拟棋盘,棋盘中的格子填充任意的O或X。输入一个棋盘坐标(对应唯一的一个棋盘位置),如果周围全是O,显示挑战成功,否则显示任务失败。publicclassChessBoard{publicstaticvoidmain(String[]args){Stringchess[][]=newString[5][5];//声明一个二维数组Randomra
- Java习题篇---字符串较难练习
软件王威
java从0开始java开发语言
Java习题篇—字符串较难练习目录:阿拉伯数字转换罗马数字调整字符串阿拉伯数字转换罗马数字需求:键盘录入一个字符串,要求长度小于等于9,只能是数字将内容变成罗马数字,罗马数字里面没有0,可以用""代替packageStringTest;importjava.util.Scanner;importjava.util.StringJoiner;publicclassTest01{publicstati
- java冒泡排序例题_Java习题(选择,冒泡排序,折半查找)
weixin_39914868
java冒泡排序例题
解决问题如下:1.求1+2!+3!+...+20!的和。2.获取数组中的最大和最小值。3.对数组进行选择排序、冒泡排序。4.在数组中查找某个数的位置(折半查找)。折半查找:适合顺序表的查找,数组中存的是按顺序排列的元素,方法如下:定义变量low,mid,high分别指向数组中的最低位,中间和最高位的元素;比较要查找的元素和mid指向的元素,如果比mid大,则在mid和high之间继续查找,low=
- Java习题1
青红光硫化黑
java开发语言
1.输入1~100数据,存放到创建的集合中,集合的元素和达到200时停止输入importjava.util.ArrayList;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){ArrayListlist=newArrayList100){System.out.println("数据错误");con
- java习题3
青红光硫化黑
算法
292.Nim游戏难度简单你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头。你们轮流进行自己的回合,你作为先手。每一回合,轮到的人拿掉1-3块石头。拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为n的情况下赢得游戏。如果可以赢,返回true;否则,返回false。示例1:输入:n=4输出:false解释:以下是可能的结果:1.移除1颗
- Java习题之实现平方根(sqrt)函数
tq02
Java习题java开发语言笔记
目录前言二分查找牛顿迭代法总结博主介绍:博客名为tq02,已学C语言、JavaSE,目前学了MySQL和JavaWed学习专栏:C语言JavaSEMySQL基础博主链接:tq02的博客_CSDN博客-C语言,Java,MySQL领域博主前言可使用java.lang.Math类的sqrt(double)方法求平方根。Math是java.lang包中的类,而Double为对象中的基本类型。但是如果不使
- Java选择题
今天你学Java了吗
Java后端开发面试java
JAVA习题册文章目录JAVA习题册语言基础JAVA开发环境变量JAVA基本类型基本类型间转换运算符和表达式循环结构数组方法面向对象对象和类JAVA内存管理继承访问控制抽象类接口核心API注释字符串操作Object包装类集合框架MapFileRandomAccessFileI/O异常处理线程XML解析进制api数据库数据库原理MYSQL数据类型DDLDML字符串操作空值操作SQL基础查询SQL关联
- java练习册_《Java练习题》Java习题集二
褚召鹏
java练习册
【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?/***【程序11】*题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?*/publicclassSubject11{publicstaticvoidmain(String[]args){FormThreeNum();}publicstaticvoidFormThreeNu
- java习题7参考练习及答案,java习题及答案第7章 习题参考答案
维京女侠
java习题7参考练习及答案
第7章多线程编程1.什么是线程?与进程有何不同?答:线程是操作系统中重要概念之一,是程序运行的基本执行单元,与进程一样,也有创建、销毁和切换等状态,但负荷远小于进程,又称为轻量级进程。与进程不同的是:占用的资源少,不像进程那样可由几个线程组成,在Java语言中,用http://www.doczj.com/doc/49098e87302b3169a45177232f60ddccdb38e6e9.ht
- Java习题
Edmond58
publicclassClassTest{Stringstr=newString("hello");char[]ch={'a','b','c'};publicvoidfun(Stringstr,charch[]){str="world";ch[0]='d';}publicstaticvoidmain(String[]args){ClassTesttest1=newClassTest();test1
- Java习题
Edmond58
publicclassClassTest{Stringstr=newString("hello");char[]ch={'a','b','c'};publicvoidfun(Stringstr,charch[]){str="world";ch[0]='d';}publicstaticvoidmain(String[]args){ClassTesttest1=newClassTest();test1
- 【每日进步一点点系列】十道精选Java习题
执 梗
每日进步一点点java蓝桥杯javasejavaweb
⭐️引言⭐️大家好,我是执梗。Java的学习非一朝一夕可以成功,需要我们水滴穿石般的坚持。每日进步一点点系列,旨在可以每天只花几分钟就能学到Java中我们可能忽略的知识,同时也可以检验自己的Java能力,希望能和大家每天都能进步一点点。查看答案方法:对下面块引用中的进行长拉(手机端可在文末)即可查看答案:正确答案:Aclone()>Array.copyOf()>for循环10.Strings=ne
- 【每日进步一点点系列】十道精选Java习题
执 梗
每日进步一点点java蓝桥杯后端开发语言javase
⭐️引言⭐️大家好,我是执梗。Java的学习非一朝一夕可以成功,需要我们水滴穿石般的坚持。每日进步一点点系列,旨在可以每天只花几分钟就能学到Java中我们可能忽略的知识,同时也可以检验自己的Java能力,无论你是坐着躺着还是蹲着,花上几分钟时间就可以检验和巩固到自身的Java知识点,希望能和大家每天都能进步一点点。查看答案方法:对下面块引用中的进行长拉(手机端可在文末)即可查看答案:正确答案:A<
- 12.4牛客Java习题整理
啦啦啦_9a5f
图片发自AppInputStreamReader(InputStreamin,StringcharsetName)创建使用给定字符集解码器的InputStreamReader图片发自App在if(flag=true)的位置给flag赋值为true,(flag=true)==true最后可以得到输出为true图片发自App1.抽象类可以有构造方法,只不过不能new2.借口中可以有变量,但是无论你则么
- java选择题答案_Java习题附答案
熊天然
java选择题答案
第一章练习题(Java入门)1.下列哪项不是JDK所包含的内容?(选一项)C红色代表正确答案A.Java编程语言B.工具及工具的APIC.JavaEE扩展APID.Java平台虚拟机2.下列关于JDK、JRE和JVM的描述。哪项正确?DA.JDK中包含了JRE,JVM中包含了JREB.JRE中包含了JDK,JDK中包含了JVMC.JRE中包含了JDK,JVM中包含了JRED.JDK中包含了JRE,
- 【347天】我爱刷题系列106(2018.01.18)
Wall_Breaker
java
叨叨两句牛客网Java习题刷完了,换SQL习题接着刷SQL习题0011查询薪资大于薪资最高的员工所在部门的平均工资和薪资最低的员工所在部门的平均工资的平均工资的员工信息。--查询薪资大于薪资最高的员工所在部门的平均工资和薪资最低的员工所在部门的平均工资的平均工资的员工信息。--sal>1020020100(100+200)/2--sal>(100+200)/2--1.薪资最高的员工所在部门sele
- Java习题解答11
一饿就腿短
javajava
1.Java中流的分类有哪些?流动方向:一般分为输入流(InputStream:System.in)和输出流(PrintStream:System.out)两类。程序可以用输出流从文件中读取数据。而针对键盘只有输入流,针对屏幕只有输出流。读取类型:一般分为字节流(InputStream:System.in)和字符流(字符流对象:newInputStreamReader(System.in))。字节
- 湖北师范大学java习题汇编(超详细!已经进行了章节划分)
键盘歌唱家
算法javase
表达式和流程控制语句1.验证歌德巴赫猜想。一个充分大的偶数(大于或等于6)可以分解为两个素数之和。试编程序,将6至50之间全部偶数表示为两个素数之和。packagekkkk;publicclassaaa{publicintisprime(intn)/*判断n是否为素数的函数*/{intx=0;for(intj=2;j=j)continue;if(i*j==(i%10*10+i/10)*(j%10*
- Java习题1:简单定义一个汽车类
just sh!
Javajava类
问题描述:定义一个汽车类,要求该类中至少包含5个私有的属性(为每个属性定义设置和获取方法),该类中至少包含两个构造方法(一个无参,一个有参),以及包含5-6个方法来描述汽车对象的行为(其中一个方法要能打印输出汽车对象的所有属性值)。代码展示:packageexperiment2;publicclassBus{privateStringnum;//车牌号privateStringlineNum;//
- Java习题6
张萌杰
Java习题
说明:虽然程序中只有一个主函数就可以解决所有问题,但仅有一个主函数的话代码存在的问题也比较多,尤其是功能越加复杂,那么主函数就会代码很多,造成内存占用过大,或者可读性降低,又或者维护成本太高,所以创建更多函数可以解决一定的问题.1.(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:publicstaticintsumDigits(longn)例如:sumDigit
- Head First Java习题练习(一)
椰子皮不皮
#Java习题练习java
14页习题BeerSong自己稍微调整了下代码,加了一个换行,看起来段落更明显些。publicclassBeerSong{publicstaticvoidmain(String[]args){intbeerNum=99;Stringword="bottles";while(beerNum>0){if(beerNum==1){word="bottle";}System.out.println(bee
- 编程语言中负数取余的问题
weijian001
pythonjava算法
全文转自:http://ceeji.net/blog/mod-in-real/背景最近在一道Java习题中,看到这样的一道题://WhatistheoutputwhenthisstatementexecutedSystem.out.printf(-7%3);正整数的取余运算大家都很熟悉,但是对于负数、实数的取余运算,确实给人很新鲜的感觉。于是我对此进行了一些探索。我发现,这里面还是颇有一点可以探索
- lagou-java习题库
西西弗斯XD
序言:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是学习课程中的一部分面试题集锦(持续更新中......)一、请说说MyBatis的工作原理?1)读取MyBatis配置文件:mybatis-config.xml为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,例如数据库连接信息。2)加载映射文件:映射文件即SQL映射文件,该文件中配置了操作数据库的SQL语句,需要在M
- java习题练习
东风冷雪
4packageday20180313;publicclassZylt{publicstaticvoidmain(String[]args){System.out.println("第一次:"+high(100,1));System.out.println("第2次:"+high(100,2));System.out.println("第3次:"+high(100,3));System.out.p
- Java习题——循环1
一汀烟雨_
1.盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!”packagecn.edu.nefu;publicclassTest01{publicstaticvoidmain(String[]args){for(inti=0;i0){x=(int)(a%10);if(x==0){sum++;}a/=10;}System.out.println("该正整数中零的个数为"+sum);}}9.有1020个
- 输入一个数并判断是否为回文素数(Java习题)
qq_45162113
Java习题
主程序如下:运行结果如下:本题主要主要思想为:构造多个函数将问题划分为若干小问题,然后每个函数完成一个小问题,然后返回到上一个函数,直到返回至主函数,然后主函数输出相应结果。本程序一共有六个函数,第一个main为主函数,用来判断是否为回文素数并且打印是或不是。第二个函数initDate用来接收输入的数字然后返回到主函数中。第三个函数isHuiWenSuShu是对返回的回文数和素数进行判断,是否同时
- Java习题作业
HongdengLi
Java
1.Writeacompleteprogramthatprintsnumbersfrom1to50,butifnumbersthataremultiplesof5,printHiFive,elseifnumbersthataredivisibleby2,printHiTwo,andelseifnumbersthataredivisibleby3or7,printHiThreeOrSeven.pub
- java习题
weixin_30352645
1.classCard{}下列不属于Card类构造方法的是:()A.Card(){}B.publicCard(){}C.publicvoidCard(){}D.privateCard(){}正确答案:C2.下列关于线程的名字说法正确的是:()。A.不能人为的为线程设置名字B.Java规定所有的线程名字都是Thread=1形式的C.可以使用Thread类的setName()方法为线程设置名字D.默认
- 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