表格标记里面增加内容的另一种方法。
E使用 DOM 操作 XML 文档
在数据表示方面, XML 文档更加结构化。 DOM 在支持 HTML 的基础上提供了一系列的 API ,支持针对 XML 的访问和操作。利用这些 API ,我们可以从 XML 中提取信息,动态的创建这些信息的 HTML 呈现文档。处理 XML 文档,通常遵循“加载 XML 文档 à 提取信息 à 加工信息 à 创建 HTML 文档”的过程。下面的例子演示了如何加载并处理 XML 文档。
这个例子包含两个 JS 函数。 loadXML() 负责加载 XML 文档,其中既包含加载 XML 文档的 2 级 DOM 代码,又有实现同样操作的 Microsoft 专有 API 代码。需要提醒注意的是,文档加载过程不是瞬间完成的,所以对 loadXML() 的调用将在加载文档完成之前返回。因此,需要传递给 loadXML() 一个引用,以便文档加载完成后调用。
例子中的另外一个函数 makeTable() ,则在 XML 文档加载完毕之后,使用最后前介绍过的 DOM 应用编程接口读取 XML 文档信息,并利用这些信息形成一个新的 table 表格。
例子 7 -- sample6_1.htm :
无标题文档
function loadXML(handler) {
var url = "employees.xml";
if(document.implementation&&document.implementation.createDocument) {
var xmldoc = document.implementation.createDocument("", "", null);
xmldoc.onload = handler(xmldoc, url);
xmldoc.load(url);
}
else if(window.ActiveXObject) {
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.onreadystatechange = function() {
if(xmldoc.readyState == 4) handler(xmldoc, url);
}
xmldoc.load(url);
}
}
function makeTable(xmldoc, url) {
var table = document.createElement("table");
table.setAttribute("border","1");
table.setAttribute("width","600");
table.setAttribute("class","tab-content");
document.body.appendChild(table);
var caption = "Employee Data from " + url;
table.createCaption().appendChild(document.createTextNode(caption));
var header = table.createTHead();
var headerrow = header.insertRow(0);
headerrow.insertCell(0).appendChild(document.createTextNode(" 姓名 "));
headerrow.insertCell(1).appendChild(document.createTextNode(" 职业 "));
headerrow.insertCell(2).appendChild(document.createTextNode(" 工资 "));
var employees = xmldoc.getElementsByTagName("employee");
for(var i=0;i
var e = employees[i];
var name = e.getAttribute("name");
var job = e.getElementsByTagName("job")[0].firstChild.data;
var salary = e.getElementsByTagName("salary")[0].firstChild.data;
var row = table.insertRow(i+1);
row.insertCell(0).appendChild(document.createTextNode(name));
row.insertCell(1).appendChild(document.createTextNode(job));
row.insertCell(2).appendChild(document.createTextNode(salary));
}
}
供读取调用的 XML 文档 – employees.xml :
Programmer
32768
Sales
70000
CEO
100000
处理XML 文档
脱离 XML 文档的 AJAX 是不完整的。在本部分未完成之前,有读者说 AJAX 改名叫 AJAH ( H 应该代表 HTML 吧)比较合适。应该承认, XML 文档在数据的结构化表示以及接口对接上有先天的优势,但也不是所有的数据都应该用 XML 表示。有些时候单纯的文本表示可能会更合适。下面先举个 AJAX 处理返回 XML 文档的例子再讨论什么时候使用 XML 。
7.5.1 、处理返回的 XML
例子 8 -- sample7_1.htm :
在这个例子中,我们采用之前确定的 AJAX 开发框架,稍微修改一下 body 内容和 processRequest 的相应方式,将先前的 employees.xml 的内容读取出来并显示。
body 的内容如下:
value=" 读取 XML" onClick="send_request('employees.xml')">
processRequest() 方法修改如下:
// 处理返回信息的函数
function processRequest() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
var returnObj = http_request.responseXML;
var xmlobj = http_request.responseXML;
var employees = xmlobj.getElementsByTagName("employee");
var feedbackStr = "";
for(var i=0;i循环读取 employees.xml 的内容
var employee = employees[i];
feedbackStr += " 员工: " + employee.getAttribute("name");
feedbackStr +=
" 职位: " + employee.getElementsByTagName("job")[0].firstChild.data;
feedbackStr +=
" 工资: " + employee.getElementsByTagName("salary")[0].firstChild.data;
feedbackStr += "\r\n";
}
alert(feedbackStr);
} else { // 页面不正常
alert(" 您所请求的页面有异常。 ");
}
}
}
运行一下,看来效果还不错:
7.5.2 、选择合适的 XML 生成方式
现在的 web 应用程序往往采用了 MVC 三层剥离的设计方式。 XML 作为一种数据保存、呈现、交互的文档,其数据往往是动态生成的,通常由 JavaBean 转换过来。由 JavaBean 转换成 XML 文档的方式有好几种,选择合适的转换方式往往能达到事半功倍的效果。下面介绍两种常用的方式,以便需要的时候根据情况取舍。
A 、类自行序列化成 XML
类自行序列化成 XML 即每个类都实现自己的 toXML() 方法,选择合适的 API 、适当的 XML 结构、尽量便捷的生成逻辑快速生成相应的 XML 文档。显然,这种方式必须要求每个类编写专门的 XML 生成代码,每个类只能调用自己的 toXML() 方法。应用诸如 JDOM 等一些现成的 API ,可以减少不少开发投入。例子 9 是一个利用 JDOM 的 API 形成的 toXML() 方法。
例子 9 -- toXml() 的 JDOM 实现 -- Employ 类的 toXml() 方法:
public Element toXml() {
Element employee = new Element(“employee”);
Employee.setAttribute(“name”,name);
Element jobE = new Element(“job”).addContent(job);
employee.setContent(jobE);
Element salaryE = new Element(“salary”).addContent(salary);
employee.setContent(salaryE);
return employee;
}
JDOM 提供了现成的 API ,使得序列化成 XML 的工作更加简单,我们只需要把 toXML() 外面包装一个 Document ,然后使用 XMLOutputter 把文档写入 servlet 就可以了。 toXml() 允许递归调用其子类的 toXML() 方法,以便生成包含子图的 XML 文档。
使用类自行序列化成 XML 的方式,要每个类都实现自己的 toXML() 方法,而且存在数据模型与视图耦合的问题,即要么为每个可能的视图编写独立的 toXML() 方法,要么心甘情愿接收冗余的数据,一旦数据结构或者文档发生改变, toXML() 就要做必要的修改。
B 、页面模板生成 XML 方式
一般的,可以采用通用的页面模板技术来生成 XML 文档,这个 XML 文档可以符合任何需要的数据模型,供 AJAX 灵活的调用。另外,模板可以采用任何标记语言编写,提高工作效率。下面是一个采用 Struts 标签库编写的 XML 文档,输出之前提到的 employees.xml :
Sample8_2.jsp :
<%@ page contentType="application/xml; charset=gb2312" import="Employee"%>
<%@ page import="java.util.Collection,java.util.ArrayList"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%
Employee em1 = new Employee();
em1.setName("J.Doe");
em1.setJob("Programmer");
em1.setSalary("32768");
Employee em2 = new Employee();
em2.setName("A.Baker");
em2.setJob("Sales");
em2.setSalary("70000");
Employee em3 = new Employee();
em3.setName("Big Cheese");
em3.setJob("CEO");
em3.setSalary("100000");
Collection employees = new ArrayList();
employees.add(em1);
employees.add(em2);
employees.add(em3);
pageContext.setAttribute("employees",employees);
%>
采用页面模板生成XML 方式,需要为每个需要的的数据模型建立一个对立的 JSP 文件,用来生成符合规范的 XML 文档,而不能仅仅在类的 toXML() 方法中组织对象图来实现。不过,倒是可以更加方便的确保标记匹配、元素和属性的顺序正确以及 XML 实体正确转义。
参考资料中 Philip McCarthy 的文章还描述了一种 Javascript 对象标注的生成方式,本文在此不赘述。有兴趣的读者可以自行查看了解。
7.5.3 、如何在使用 XML 还是普通文本间权衡
使用 XML 文档确实有其方便之处。不过 XML 文档的某些问题倒是要考虑一下,比如说延迟,即服务器不能立即解析 XML 文档成为 DOM 模型。这个问题在一定程度上会影响 AJAX 要求的快速反应能力。另外,某些情况下我们并不需要使用 XML 来表示数据,比如说数据足够简单成只有一个字符串而已。就好像我们之前提到的数据校验和级联菜单的例子一样。所以,个人认为在下面这些情况下可以考虑使用 XML 来作为数据表示的介质:
l 数据比较复杂,需要用 XML 的结构化方式来表示
l 不用考虑带宽和处理效率支出
l 与系统其他 API 或者其他系统交互,作为一种数据中转中介
l 需要特定各式的输出视图而文本无法表示的
总之,要认真评估两种表示方式的表示成本和效率,选择合适的合理的表示方式。
在关于 AJAX 的系列文章的下一篇,我们将综合使用 DOM 和 XML ,来实现一个可以持久化的简单留言簿。另外,还将试着模拟 MSN Space 的部分功能,来体会 AJAX 的魅力
你可能感兴趣的:(javascript,xml,XHTML)
hive 创建访问用户_Hive权限控制和超级管理员的实现
weixin_39826089
hive 创建访问用户
Hive权限控制Hive权限机制:Hive从0.10可以通过元数据控制权限。但是Hive的权限控制并不是完全安全的。基本的授权方案的目的是防止用户不小心做了不合适的事情。先决条件:为了使用Hive的授权机制,有两个参数必须在hive-site.xml中设置:hive.security.authorization.enabledtrueenableordisablethehiveclientauth
盘点ECMAScript 2024的新提案
前端
前面我们了解了ECMAScript2024(ES15)的5个新特性,现在我们继续学习一下其他令人耳目一新的提案吧。1.模式匹配(初期阶段)JavaScript变得更智能了,有了模式匹配!想象它就像一个超强大的switch语句,可以处理复杂的数据结构。ES15允许你简单地匹配模式,而不是编写一堆嵌套的条件语句来检查对象的形状。️旧方式functioncheckAnimal(animal){if(an
数据可视化大屏设计与实现
木觞清
3天入门Python 数据可视化 echarts python flask javascript html css3
本文将带你一步步了解如何使用ECharts实现一个数据可视化大屏,并且如何动态加载天气数据展示。通过整合HTML、CSS、JavaScript以及后端接口请求,我们可以构建一个响应式的数据可视化页面。1.页面结构介绍在此例中,整个页面分为几个主要部分:大屏展示区域、多个数据图表、动态加载的表格数据,以及地图展示等功能模块。我们将详细介绍每一部分的实现和交互。1.1页面整体结构以下是页面的结构,其中
整理一下一些Qt/C++第三方库
MayZork
qt 开发语言 c++
boost一个广泛的C++库集合,提供了大量的功能模块,包括但不限于数据结构、算法、并发编程、网络编程、文件系统、正则表达式、序列化等。poco也是一个广泛的C++库集合,提供了一套丰富的功能模块,包含网络通信、HTTP、文件系统、XML、JSON、数据库等。libevent轻量级的C语言库,主要用于异步网络编程。它提供了对I/O复用的支持,使得开发者可以在单线程中同时处理多个连接。QCustom
HiveMetaException: Unknown version specified for initialization: 3.1.0(或者其他版本号)
一品_人生
mysql hive 大数据
遇到这个问题,也是很难发现的,查阅很多文章,乱七八糟,也可能是遇到的问题不相同吧,我们从以下两个方面去排查吧1.检查你的hive-site.xml和hive-env.sh,配置对就行,这个网上一大片,注意要正确。2.那就是你解压的hive压缩文件,然后发现要安装mysql,这时你会先检查你本地有没有mysql,使用find/-namemysql(罪源),然后你就一通删除,你没有发现你删除了一个hi
深度学习常用格式转化脚本xml2yolo/coco2yolo/bdd2yolo/frame2video等
qq1309399183
计算机视觉实战项目集合 深度学习 人工智能 格式转化脚本 voc2yolo格式转化 数据集格式转换 xml2yolo coco2yolo
文章目录1.**数据集格式转换脚本**`coco2yolo.py`示例注释:注释说明:`xml2yolo.py`示例注释:注释说明:2.**数据集可视化与统计**`vis_yolo_files.py`示例注释:注释说明:3.**其他工具脚本**`frames2video.py`示例注释:注释说明:该项目提供了一系列用于深度学习的数据处理工具,主要功能包括:数据集格式转换:提供多种脚本,将不同格式的
Apache PDFBox添加maven依赖,pdf转成图片
iteye_10392
网站设计 apache maven pdf
要使用ApachePDFBox将PDF文件转换为图片,并将其添加到Maven项目中,您可以按照以下步骤操作:1.添加Maven依赖在您的pom.xml文件中添加ApachePDFBox的依赖。请确保使用最新版本的PDFBox库。截至2025年,以下是推荐的配置:org.apache.pdfboxpdfbox2.0.27org.apache.pdfboxfontbox2.0.27请检查MavenCe
JODConverter引入maven依赖
iteye_10392
网站设计 maven java
JODConverter是一个基于LibreOffice的Java库,它允许你在Java应用程序中转换办公文档格式。为了使用JODConverter并通过Maven管理依赖,你需要在pom.xml文件中添加适当的依赖项和仓库(如果需要)。请注意,JODConverter本身并不直接处理文件转换,而是通过与LibreOffice的交互来完成这一任务。截至我所知的信息(2025年1月4日),以下是引入
数据类库 Dataclasses 深入指南
陆或愉
数据类库Dataclasses深入指南dataclassDataclassesforTypeScript&JavaScript项目地址:https://gitcode.com/gh_mirrors/da/dataclass项目介绍数据类库(Dataclasses)是Python标准库中的一个模块,自Python3.7起被引入。它通过装饰器@dataclass简化了自定义类的创建过程,自动添加了属性
手摸手系列之---camel ftp监听接收解析xml报文并入库生成Java对象实战
码上艺术家
camel xml camel
前言版本:SpringBoot2.4camel3.5.0最近在做跟一个第三方系统的对接,主要流程就是对方生成XML格式的报文,需要我方将其报文发送到海关申报,然后将申报完的数据再组装成XML报文格式发回到对方的FTP服务器。功能其实挺简单,用Apache的camel-ftp很容易就能实现,下面看看具体如何做吧。一、引入camel依赖:org.apache.camel.springbootcamel
手摸手系列之---camel ftp监听本地报文目录,并在报文生成后上传到远程第三方ftp服务器实战
码上艺术家
camel 服务器 运维
前言版本:SpringBoot2.4camel3.5.0上篇文章已经说过项目需求和主要流程,现在已经接收解析xml报文并入库生成Java对象。下一步就是处理完生成的数据生成XML报文,再返回给第三方ftp服务器了。下面看看怎么做。1.增加camel配置,本地监听目录和远程第三方ftp服务器URL。#camel配置camel:#camelftp服务路由地址route:id:XMLRouteftp:s
使用 Node.js 处理异步编程的挑战
Node.js是一个强大的JavaScript运行时环境,它以其非阻塞、事件驱动的特性闻名,使其在构建高并发应用程序时非常出色。然而,这种异步编程模型也带来了挑战,尤其是当我们需要处理复杂的异步操作时。本文将深入探讨Node.js中异步编程的挑战,并介绍一些常见的解决方案。异步编程的挑战在Node.js中,许多操作都是异步的,比如文件操作、网络请求、数据库查询等。虽然异步操作可以提高应用程序的性能
如何使用JavaScript开发AR(增强现实)移动应用 (一)
Python中的class体内定义方法时,如果没有显式地包含self参数,有时候依然可以被调用。这是一个非常有趣的话题,因为它涉及到对Python中类与对象之间关系的更深理解。要理解为什么这种情况下方法依然能够被调用,我们需要逐步拆解Python类的构造方式以及方法绑定的原理。
JavaScript语言的计算机基础
疯狂小小小码农
包罗万象 golang 开发语言 后端
JavaScript语言的计算机基础引言自1995年由网景公司(Netscape)推出以来,JavaScript已经从一个简单的客户端脚本语言发展成为一种广泛使用的编程语言。如今,它不仅在网页开发中扮演着不可或缺的角色,还成为后端开发、移动应用开发、甚至桌面应用开发的一部分。在本文中,我们将探讨JavaScript语言的基本概念及其背后的计算机基础,以帮助读者更好地理解这种语言及其应用。一、计算机
postcss插件-实现vw适配
ordinary90
前端全栈开发 VUE postcss 前端 javascript
PostCSS是一个用JavaScript编写的插件工具,它可以帮助我们对CSS进行模块化、自动化处理和优化。使用PostCSS插件可以扩展CSS的功能,实现更多的特性,其中一个常用的插件就是实现vw适配的插件。vw(ViewportWidth)是CSS3中的一个单位,它表示相对于视口宽度的百分比。使用vw单位可以根据视口的大小,实现自适应布局。在移动端开发中,vw适配可以帮助我们在不同的屏幕尺寸
TypeScript 学习笔记(七):TypeScript 与后端框架的结合应用
Evaporator Core
typescript 前端框架 学习
1.引言在前几篇学习笔记中,我们已经探讨了TypeScript的基础知识和在前端框架(如Angular和React)中的应用。本篇将重点介绍TypeScript在后端开发中的应用,特别是如何与Node.js和Express结合使用,以构建强类型、可维护的后端应用。2.TypeScript与Node.jsNode.js是一个基于ChromeV8引擎的JavaScript运行时,广泛用于构建后端应用。
在Android 15的设备上关闭edge-to-edge功能
庄风子
Android android
Android15在开发上有很多更新,当APP的targetSdk设置为35,且设备系统为Android15时,APP会自动启动edge-to-edge功能。虽然可视面积变大了,但界面布局也会受影响。如果要强制关闭edge-to-edge功能。可以在style.xml中将windowOptOutEdgeToEdgeEnforcement设置为false,并且指定targetApi为35。true然
Node.js --- 模板引擎EJS
蒜蓉大猩猩
Node.js node.js 后端 express 中间件
1.前言模板引擎是一种工具或库,用于在开发中生成动态内容的HTML页面。它通过将预定义的模板与数据结合,生成最终的输出(如HTML页面、字符串等)。模板引擎广泛应用于前端和后端开发,尤其是在构建动态网站时。2.EJS模板引擎EJS(EmbeddedJavaScriptTemplates)是一种模板引擎,可以帮助我们在HTML页面中嵌入JavaScript代码,用于动态渲染内容。EJS语法简洁且与H
java合并word
mischen520
word合并 java项目实战 java word
最近在做一个需求,主要是将多个word合并输出为一个word,经过调研,代码如下所示:1.导入pom.xmlorg.apache.poipoi-ooxml4.1.22.测试类:packagecom.common.utils;importorg.apache.poi.openxml4j.opc.OPCPackage;importorg.apache.poi.openxml4j.util.ZipSec
Eclipse插件开发二:初识hello word的配置信息
歪桃
eclipse java ide
在之前的文章中,我们创建了一个例子,现在我们来认识这个例子。Eclipse插件开发一:helloword以下是目录结构,主要有一个java类,一个MANIFEST.MF配置,一个plugin.xml配置1.MANIFEST.MFMANIFEST.MF文件的主要作用是提供插件的元数据,使得Eclipse平台能够正确加载和管理插件。它定义了插件的基本信息、依赖关系和执行环境要求,确保插件在运行时能够找
什么是原型,有什么用?
神明木佑
原型模式
在JavaScript中,每个对象都有一个原型(prototype),原型也是一个对象。对象可以从它的原型中继承属性和方法。原型是JavaScript实现继承的基础,它构成了JavaScript中对象之间的链式关系。什么是原型?在JavaScript中,每个对象(除了null)都有一个原型。可以通过`__proto__`属性来访问一个对象的原型。原型本身也是一个对象,它可能拥有自己的原型,这样就形
【JavaScript】事件监听:触摸事件
神明木佑
javascript microsoft 开发语言
JavaScript触摸事件是通过浏览器提供的TouchAPI来实现的。当用户在触摸屏设备上进行交互时,浏览器会捕捉到触摸事件,并将其传递给相应的JavaScript事件处理器。需要注意的是,触摸事件在不同的设备和浏览器上可能有差异,因此在使用触摸事件时应该进行兼容性测试,并根据需要进行适当的兼容性处理。此外,触摸事件通常与其他事件(如点击事件、滚动事件等)结合使用,以实现更复杂的交互效果。一、t
Springboot项目如何消费Kafka数据
布朗克168
Kafka spring boot kafka 后端
目录一、引入依赖二、添加Kafka配置三、创建Kafka消费者(一)Kafka生产的消息是JSON字符串1、方式一2、方式二:需要直接访问消息元数据(二)Kafka生产的消息是对象Order四、创建启动类五、配置Kafka生产者(可选)(一)消息类型为json串(二)消息类型为对象Order六、启动Kafka服务七、测试Kafka消费者九、测试和调试十、结语一、引入依赖你需要在pom.xml中添加
理解 Base64 编码原理及其 JavaScript 实现
red润
前端 javascript 开发语言 前端
理解Base64编码原理及其JavaScript实现下一篇博客在JavaScript中处理中文字符串的Base64编码与解码注意:这里没有处理中文base64编码情况什么是Base64编码?Base64编码是一种将二进制数据转换为可打印字符的编码方式。它将每三个字节(24位)的二进制数据转换为四个字符,每个字符由64个字符集合中的一个表示。这使得数据可以通过文本协议传输(如电子邮件、HTTP请求等
SpringBoot 使用ElasticsearchRestTemplate
hbzslb
spring boot java mybatis
1.pom.xml添加org.springframework.bootspring-boot-starter-data-elasticsearch2.6.22.配置文件配置地址spring:data:elasticsearch:cluster-name:elasticsearchcluster-nodes:localhost:92003.开始使用3.0.创建实体类@Data@AllArgsCons
正则表达式完全指南
silver687
正则表达式
正则表达式完全指南正则表达式(RegularExpression,简称regex或regexp)是一种强大的文本处理工具,用于匹配、查找、替换等操作字符串中符合特定模式的文本。它广泛应用于各种编程语言和文本处理工具中,如Python、JavaScript、grep等。以下是对正则表达式的全面介绍。一、基本概念(一)字符集字符集是正则表达式中最基本的单元,用于匹配特定的字符。•普通字符:大多数字符,
python学习笔记
浅夏入秋^_^
Python 编程语言 python 学习 开发语言
python学习笔记第1-3章基础知识https://www.jetbrains.com/help/pycharm/小技巧:如果在编辑器中未选择任何内容,按⌘C可将文本光标处的整行复制到剪贴板。按两次⌃Space可调用代码补全功能的特殊变体,这样您可以从没有在当前文件中声明的命名空间补全XML标记名称。如果命名空间尚未声明,则会自动生成声明。使用代码|检查代码可对整个项目或自定义范围运行代码分析,
android自定义控件不显示,解决Android Studio Design界面不显示layout控件的问题
叶江流
android自定义控件不显示
AndroidStudio更新到3.1.3后,发现拖到Design中的控件在预览界面中不显示;解决办法:在Styles.xml中的parent="..."中的Theme前添加Base@color/colorPrimary@color/colorPrimaryDark@color/colorAccent补充知识:AndroidStudioXML文件之style标签详解前言:Android的样式一般定
在Unity中如何使用Python
乐极老人*逢人打
unity python 游戏引擎
Unity本身并不直接支持Python作为脚本语言。Unity主要使用C#作为其主要的脚本语言,也支持UnityScript(一种类似JavaScript的语言,但已经逐渐被淘汰)和BOO(也已被淘汰)。然而,虽然Unity不直接支持Python,但你仍然有一些方法可以在Unity项目中使用Python。使用外部进程调用Python:你可以在Unity中创建一个外部进程来运行Python脚本。这可
JavaScript语言基础教程笔记
fanxbl957
各类语言和技术总结笔记 javascript 笔记 开发语言
JavaScript语言基础教程笔记下面是一个全面的JavaScript教程,适合初学者和有一定编程经验的人士。JavaScript是一种广泛用于网页开发的脚本语言,支持事件驱动、函数式以及基于原型的编程风格。要想深入了解请参考:javascript脚本语言教程。JavaScript入门教程1.简介定义:JavaScript(简称JS)是一种高级编程语言,主要用于网页浏览器中实现复杂的交互功能。用
戴尔笔记本win8系统改装win7系统
sophia天雪
win7 戴尔 改装系统 win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
动画合集
换个号韩国红果果
html css
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
[Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
自己写的一个繁体到简体的转换程序
asialee
java 转换 繁体 filter 简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
android意图和意图监听器技术
百合不是茶
android 显示意图 隐式意图 意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
spring3中新增的@value注解
bijian1013
java spring @Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
Jboss启用CXF日志
sunjing
log jboss CXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
struts2验证框架的使用和扩展
白糖_
框架 xml bean struts 正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
读书笔记5
chengxuyuancsdn
重复提交 struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
[时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracle ORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected] :1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
三点定位的算法
haoningabc
c 算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
epoll使用详解
jimmee
c linux 服务端编程 epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
Hibernate对Enum的映射的基本使用方法
linzx0212
enum Hibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
孙子兵法
roadrunners
孙子 兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理