- 密码访问单页自定义跳转页面源码
CSDN专家-微编程
HTML项目javascript开发语言ecmascript
源码介绍密码访问单页自定义跳转页面源码,密码访问单页自定义跳转页面,修改了的密码访问单页,添加了js自定义密码跳转页面。需要正确输入密码才能跳转目标网址。源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面源码截图源码下载密码访问单页自定义跳转页面源码
- Vue3初识
冲锋敢死曾小贤
利用vite创建vue3项目npminitvite-appprojectName安装依赖运行项目:cdprojectNamenpminstallnpmrundev数据双向绑定必须要使用ref,reactive方法,基本数据类型用ref,引用数据类型用reactiveimport{ref,reactive}from'vue'letstr2=ref("走位走位");letobj=reactive({n
- javascript学习笔记--dom查询练习(二)
持续5年输出bug
通过具体的元素节点调用方法,返回当前节点的指定标签名后代节点getElementByTagName()1.属性,表示当前节点的所有子节点(会获取包括文本节点在内的所有子节点),在IE8及以下的浏览器中,不会将空白文本当成子节点:childNodes2.属性,是获取当前元素下的所有子元素这样就不会再包括空白文档:children3.属性表示当前节点的第一个子节点:firstChild4.属性表示当前
- JavaScript 的变量、数据类型
wtbdwzbh
笔记JavaScriptjavascript笔记
一、变量变量:装数据的容器,数据可以修改。其本质是变量是内存中存放数据的空间。varage//声明一个变量ageage=10//给变量赋值varage=10//变量初始化,给变量同时声明和赋值更新变量一个变量被赋予新的值之后,原来的值就被覆盖掉了。同时声明多个变量只写一个var,要用英文逗号隔开。varname='张三',age=18,heigh=180;使用变量时必须声明,赋值。情况说明结果va
- 【面试题】JavaScript 中 try
2401_84438488
javascript开发语言ecmascript
地址:前端面试题库web前端面试题库VSjava后端面试题库大全作为一位Web前端工程师,JavaScript中的try...catch是我们常用的特性之一。try...catch可以捕获代码中的异常并防止应用程序崩溃。但是try...catch不仅仅是简单地捕获异常。本文我将分享10个有用的try...catch使用技巧,让你在处理异常时更加得心应手。1.捕获所有异常如果你想捕获代码中所有可能的
- JS中【Data】详解
OEC小胖胖
JavaScriptjavascript开发语言ecmascript前端html
在JavaScript中,“Date”是一个内置对象,专门用于处理日期和时间。Date对象提供了多种方法,能够让你创建、操作和格式化日期和时间数据。下面我们将详细讲解Date对象的各个方面,包括它的创建、方法、使用场景和一些常见的坑。1.Date对象的创建1.1无参数构造constnow=newDate();如果不传递任何参数,Date对象将会默认创建一个表示当前日期和时间的对象。1.2通过时间戳
- JS中【try…catch】讲解
OEC小胖胖
JavaScriptjavascript前端开发语言
try...catch语句是JavaScript中用于处理异常(错误)的一种机制。它允许你在代码中捕获并处理运行时错误,从而避免程序因未处理的错误而中断。try...catch语句的基本语法如下:try{//可能会抛出错误的代码}catch(error){//当错误发生时要执行的代码}finally{//无论是否发生错误,都会执行的代码(可选)}详细解释try块:try块中的代码是你认为可能会抛出
- java json工具类_Java 的 JSON 开源类库之JackSon工具类--JSONUtils
奉义天涯
javajson工具类
Java的JSON开源类库之JackSon工具类--JSONUtils,有需要的朋友可以参考下。JSON是JavaScriptObjectNotation的缩写,是一种轻量级的数据交换形式,是一种XML的替代方案,而且比XML更小,更快而且更易于解析。因为JSON描述对象的时候使用的是JavaScript语法,它是语言和平台独立的,并且这些年许多JSON的解析器和类库被开发出来。在这篇文章中,我们
- Vue-cli创建单页面网页
caiyiii
安装npminstall-g@vue/cli创建项目vuecreate项目名选择预设环境使用键盘的上下键进行选择,enter键确定默认情况下是default(bableeslint)bable:下一代JavaScript编译器,将es6语法编译为es5语法eslint:规范代码行为,可组装的JavaScript和jsx检查工具可点击第二个,进行自主选择键盘上下键选择,空格选中创建的项目各个文件no
- AUTOX.JS 新手入门
换个网名有点难
javascript开发语言
工具介绍1.autoxjs1.1autojs介绍Auto.js是一个使用JavaScript编写Android自动化脚本的工具,由于原作者不再维护Auto.js项目,目前常见的两个分支:AutoX和Auto.jsPro。其中AutoX是开源的https://github.com/kkevsekk1/AutoX文档:http://doc.autoxjs.com/#/Auto.jsPro商业化版本,闭
- 前端实现奥运五环图标
小刘|
前端
htmlDocumentcssbody{display:flex;justify-content:center;height:100vh;align-items:center;transform-style:preserve-3d;}.olympic-rings{width:800px;height:400px;display:flex;flex-wrap:wrap;justify-content
- JS中Object.prototype.toString方法解读
OEC小胖胖
JavaScriptjavascript原型模式开发语言
Object.prototype.toString是JavaScript中一个非常重要的方法,用于获取对象的类型信息。它的主要功能是返回一个表示对象类型的字符串。1.基本用法Object.prototype.toString是Object原型链上的一个方法,所有对象都可以访问它。默认情况下,它返回一个类似[objectType]的字符串,其中Type是对象的类型。例如:console.log(Ob
- scrapy学习笔记0828-下
github_czy
scrapy学习笔记
1.爬取动态页面我们遇见的大多数网站不大可能会是单纯的静态网站,实际中更常见的是JavaScript通过HTTP请求跟网站动态交互获取数据(AJAX),然后使用数据更新HTML页面。爬取此类动态网页需要先执行页面中的JavaScript代码渲染页面,再进行爬取。在这里我们采用scrapy官方推荐的Splash渲染引擎,我们需要通过docker来安装splash并使其运行起来,这里就暂时不展开,安装
- 前端 css基础
湫風如兮
css
1.什么是css是一组样式设置的规则,用于控制页面的外观样式2.为什么使用css1.实现内容与样式的分离,便于团队开发2.样式复用,便于网站的后期维护3.页面的精确控制,让页面更精美3.css作用1.页面外观美化2.布局和定位4.css应用方式也称为CSS引用方式,有三种方式:内部样式、行内样式、外部样式4.1.内部样式在title标签下面建一个style标签写css代码优点:在同一个页面内部便于
- 【js】什么是外围作用域
罗橙7号
javascript开发语言ecmascript
外围作用域(OuterScope)是指一个变量或函数定义时所在的上下文环境。在JavaScript中,作用域决定了如何查找变量,以及变量能被访问的范围。以下是关于外围作用域的几个关键点:概念:函数作用域:在JavaScript中,函数内部声明的变量在外部是不可见的,这形成了函数作用域。如果一个变量在当前函数作用域中没有找到,JavaScript解释器会继续在定义该函数的作用域中查找,这个作用域就是
- 【js】charCodeAt()用法
罗橙7号
javascript前端开发语言
在JavaScript中,charCodeAt()方法是字符串对象的一个方法,它返回在指定的位置的字符的Unicode编码。这个方法接受一个参数,即字符的位置(索引),索引从0开始。以下是如何使用charCodeAt()方法的示例:varstr="a";varcode=str.charCodeAt(0);//返回'a'的Unicode编码console.log(code);//输出97,因为'a'
- 【js】箭头函数和普通函数在this指向的区别
罗橙7号
javascript前端开发语言
在JavaScript中,箭头函数(ArrowFunctions)和普通函数(FunctionDeclarations/Expressions)在this的指向上有显著的不同:普通函数:函数定义时:this的值在函数被调用时才会确定,它取决于函数是如何被调用的。独立调用:如果函数是直接调用的(而不是作为对象的方法),在非严格模式下this指向全局对象(在浏览器中通常是window),在严格模式下t
- vue3+element-plus实现table表格整列的拖拽
不恰香菜辣baga
vue.jselementui
参考文章:https://blog.csdn.net/candy0521/article/details/136470284一、为防止原文章不见了将参考文章代码拷过来了(不好意思):这是参考文章的代码可直接复制粘贴运行import{nextTick,onMounted,reactive,ref}from"vue";importSortablefrom'sortablejs';consttableD
- javascript之三元运算符
冰暮流星
javascript笔记javascript开发语言ecmascript
javascript三元运算符和c语言的很相似,语法格式都是条件?代码1:代码2等同于if(条件){代码1}else{代码2}假如要制作一个输入两个数据,比较大小并输出最大数的网页代码如下letnum1=+prompt('请输入第一个数:')letnum2=+prompt('请输入第二个数:')num1>num2?alert(`最大值是:${num1}`):alert(`最大值是:${num2}`
- APRIL 14TH–20TH 2018 -3
monkey_y
2018年4月15日19:11:30ScienceandtechnologySpreadinglifetothegalaxy:LongshotsEvenlookingintotakingsmall,simpleanimalssuchastardigradesalongtoseehowtheyreacttothejourneyisdeemedtoocontroversialforNASA,andth
- 使用css3实现【水波纹扩散效果】
自不量力的A同学
css3前端css
使用css3实现【水波纹扩散效果】在CSS3中,我利用::before和::after伪元素以及动画(animation)来创建一个简单的水波纹扩散效果。下面是一个基础的示例:Html.container{position:relative;overflow:hidden;}.wave-effect{position:absolute;top:0;left:0;width:100%;height:
- react面试题十
笃励
react.jsjavascript前端
一、React中的ContextAPI有什么作用?React中的ContextAPI是React提供的一种在组件树之间共享数据的方法,而无需在每个层级手动地通过props传递。这对于那些需要在多个层级间传递的数据(如当前认证的用户、主题或首选的UI语言)来说非常有用,因为它可以避免"propdrilling"(即通过组件树逐层传递props的过程)。ContextAPI主要包含两个React组件:
- 使用css实现水球效果
——jinqiang12345
htmlcss动画
通过在制定overflow:hidden的元素上添加非常大圆形,而且圆形设置圆角,并不断滚动,数量多了就可以显示出水波效果@keyframesroll{form{transform:rotate(0deg);}to{transform:rotate(360deg);}}.shuiqiu{width:200px;height:200px;border-radius:50%;border:5pxsol
- css特效之水滴效果
Zhu Xiaopi
css特效集合csshtml
css特效之水滴效果想看看效果:html代码:<divclass="
- vue3+ts+canvas项目中图片进行矩形批注
嘴巴嘟嘟
vuejavascript前端vue.js
canvas是什么?一个html5支持的新标签,见名知意,canvas就是画板的意思,可以在canvas上画画。css画三角形很简单,但是要画五角星呢,不妨试试canvas(文档有教学)今天我们做的是在图片中画矩形,顾名思义就是模仿批注功能。看效果:废话不多说直接上代码删除import{ref,reactive,onMounted}from"vue";constflag=ref(false);co
- CSS 的使用方式,CSS的基本结构
x星默y
三块基石前端css
CSS的使用方式CSS用于描述元素外观,即元素是什么模样也称为元素样式它该怎么用呢?解答之前先来思考几个问题内容是什么?有意义的存在CSS不是吗?进一步来说,CSS不就是内容吗?对于内容该怎么做?使用元素来装载我使用CSS是在做什么?描述元素的外观进一步讲,不就是相关的信息吗?对于相关的信息该怎么做?使用元素的属性来存储另外,这件事说明了什么?有着明确的目标那该怎么做?单独成文因此,使用CSS的方
- javaScript如何判断一个对象是否存在某个属性
道长道长IOT
javascript开发语言
在JavaScript中检查一个对象是否包含某个属性可以通过几种不同的方法实现。以下是几种常用的方法:1.in操作符in操作符可以用来检测一个属性是否存在于对象中,包括原型链上的属性。constobj={foo:'bar'};if('foo'inobj){console.log('fooisintheobject');}2.hasOwnProperty()方法hasOwnProperty()方法只
- 如何使用React-Lottie将动画添加到React应用
cukw6666
javavuepythonreactjavascriptViewUI
介绍(Introduction)AdobeAfterEffectscanbeanintuitivewaytogeneratewebanimations,buttherehashistoricallybeenproblemsconvertingtheseanimationstowebapps.Itisusuallynecessarytouseathirdpartyprogramtoimportana
- 关于严格模式的具体分析
6230_
前端基础javascript开发语言ecmascript前端html改行学it学习方法
1、什么是ES5概念:ES5指的是:ECMAScript5,它是JavaScript语言的国际标准。ES5通过对现有JavaScript方法添加语句和原生ECMAScript对象做合并实现标准化还引入了一个语法的严格变种,被称为“严格模式”。2、如何开启严格模式写法:"usestrict"解释:只要将"usestrict"这个字符串放在代码的前方,后面的代码就会按照严格模式进行解释开启类型:局部开
- CSS实现水滴效果图
N201871643
热门相关技术分享css前端
CSS实现水滴效果图目录一、引言二、定义三、常用属性四、事件五、实操步骤一、引言水滴效果是一种常见的动画效果,常用于网页设计中。通过使用CSS技术,我们可以实现这种效果,为网页增添生动和吸引力。本文将详细介绍如何使用CSS实现水滴效果,并提供相关技术分析。二、定义水滴效果:指在网页上呈现出水滴从上方滴落的效果,通常伴随着水波纹扩散的动画效果。CSS:层叠样式表(CascadingStyleShee
- 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