java ace框架是什么(ACE是什么平台)
大家好,如果您还对java ace框架是什么不太了解,没有关系,今天就由本站为大家分享java ace框架是什么的知识,包括ACE是什么平台的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
ACE是什么平台
ACE(Application Creation Environment手机应用开发的简称)平台,是应用之星网站开发团队研发的的手机应用开发平台。ACE是一款在线生成手机应用的平台,从手机页面编辑到应用流程的设计,无需编码,所见即所得,为应用开发者提供了便捷高效的应用创作环境,富有魅力的使用体验。ACE的目标是让所有人都能够开发手机应用,即使你对编程一无所知,也能在3分钟内“开发”一款个性化的手机应用。
应用之星和ACE平台的最大优势在于,它能够帮助你发布应用,提供了应用制作发布“一条龙服务”,真正意义上实现手机应用DIY,同时应用之星最大的亮点是支持应用中嵌入广告,从而获得利益。目前应用之星已经和易传媒,艾德思奇(adsage)和亿动三大广告商合作,随之将跟更多的移动广告联盟达成合作协议。在手机行业应用日益兴起的今天,应用之星的出现符合时代之潮流,具有非常可观的发展前景。
mangos是采用ACE框架么
mangos不是一个魔兽私服模拟器,它是一个开源的自由软件项目,是用c++和C#编程语言,实现的一个支持大型多人在线角色扮演游戏服务器的程序框架,在这个框架下,它理论上应该支持任何客户端的网络游戏,由于现在很多人使用魔兽世界来对它进行测试,所以针对魔兽世界的脚本和数据库文件比较完善,很多人就利用这个开源项目来实现魔兽私服。
首先,mangos项目是一个开源的自由软件(如同linux或者firefox),并且遵守其中最为严格的GPL协议,也就是保证源代码绝对的自由,要了解什么是开源软件,自由软件请自己搜索这方面的资料。
其次开发小组一再强调,这是个研究,教育性质的对怎样开发大型网游的服务器端有好处的项目,是一个技术细节毫无保留向公众开放的软件,是一件很有意义的事情,如果你使用它作为盈利目的,那你本身就违反了软件的协议。所以任何利用mangos项目进行私服活动的组织和个人都违反了mangos的宗旨,mangos项目也不会对它们负责。
mangos的技术细节上是这样的,核心部分是个和特定游戏没有关系的核心框架程序,主要是进行进程调度,创造世界,建立心跳机制,处理网络接入等。数据库也是使用的开源数据库软件MySQL,编译器使用的是GCC。至于游戏内容数据库,游戏人物,时间,世界脚本,都是由这个核心程序所支持的扩展脚本来实现,所以有一些独立出来的项目专门模拟魔兽世界来开发支持mangos的核心程序。现在mangos的核心程序已经放到著名的协同开发网站sourceforge上开发了,使用的开发工具是subversion。大家都可以从sourceforge的subversion数据库中下载最新的源代码程序。
另外有点要注意的是,开源项目是很容易被利用的,有时候有的公司开发了一个软件说是自己做的其实内核都是别人的开源内核,但是公司又不承认,利用了别人的劳动成果赚钱不说,既不回报社区,也对开源自由软件造成了很大的伤害。所以大家注意了,如果看到一个和魔兽世界很像的什么网络游戏?要想想是不是利用的mangos的核心程序。
ace是什么意思
ACE"可以有多种含义,下面是其中一些常见的解释:
ACE(名词):表示“王牌”(英语中的"Ace"),特别是在扑克牌游戏中,"Ace"是最高的牌之一。此外,它也可以表示其它类似的最高地位或成就。
ACE(名词):表示“高手”或“能手”。这个义项通常用来形容某个领域或活动中的顶级专家或技术精英。
ACE(名词):作为缩写,可以表示“美国大学入学考试”(American College Entrance Examination),它是美国大学招生考试的一种。
ACE(名词):作为缩写,还可以表示“自动计算机化工程”(Automation and Control Engineering),它是一个工程学科领域,涉及到自动化和控制系统的设计和开发。
高分java连接SQL server 2000 详细步骤
试试吧,
在JSP中访问Oracle,SqlServer,DB2, Informix,Access数据库
2007-1-13
在JSP中访问Oracle,SqlServer,DB2, Informix,Access数据库
现在有好多初学jsp的网友经常会问数据库怎么连接啊,怎么老出错啊?所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 create table test(test1 varchar(20),test2 varchar(20),然后向这个表写入一条测试纪录,那么现在开始我们的jsp和数据库之旅吧。
一、jsp连接Oracle8/8i/9i数据库(用thin模式)
testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select* from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
二、jsp连接Sql Server7.0/2000数据库
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select* from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
三、jsp连接DB2数据库
testdb2.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql="select* from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
四、jsp连接Informix数据库
testinformix.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url=
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select* from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
五、jsp连接Access数据库
<%@page import="java.sql.*"
import="java.util.*"
import="java.io.*"
import="java.text.*"
contentType="text/html; charset=gb2312"
buffer="20kb"
%><%! int all,i,m_count;
String odbcQuery;
Connection odbcconn;
Statement odbcstmt;
ResultSet odbcrs;
String username,title,content,work,email,url,time,date;
String datetime;
%>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundException e)
{ out.print("驱动程序不存在");
}
try{
odbcconn= DriverManager.getConnection("jdbc:odbc:db1");
odbcstmt= odbcconn.createStatement();
odbcQuery="Select* From book where datetime>2001-4-26 Order By datetime DESC";
odbcrs=odbcstmt.executeQuery(odbcQuery);
int i=0;
while(i<130) odbcrs.next();
while(odbcrs.next())
{
//*/////////////////////////显示数据库的内容用于调试程序是用//
int ii;
try{
try{
for(ii=1;;ii++)
out.print("<br>Cloumn"+ii+" is:"+odbcrs.getString(ii));
}catch(NullPointerException e){
out.print("有空的指针");
}
}catch(SQLException e){
}
}
odbcrs.close();
odbcstmt.close();
odbcconn.close();
}catch(SQLException e)
{ out.print(e);
}
%>
查看(24)评论(0)
Hibernate快速入门
2006-11-10
其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet,甚至JBoss。这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性。
在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss。本文的目的是演示一下Hibernate的安装过程以及最基本的功能,从而给初学者一个低得不能再低的入门门槛。
下载文件
你需要Java SDK、 Hibernate包、Ant包、和JDBC Driver。
1、Hibernate包下载地址:
http://prdownloads.sourceforge.n... t_by=date&sort=desc
2、Ant包下载地址:
http://archive.apache.org/dist/ant/
3、JDBC Driver要根据你用的database来定,一般database官方网站上都会有。Hibernate支持常用的database,比如 MySQL, Oracle, PostgreSQL,和MS-SQL Server。这些数据库都有JDBC Driver:
Oracle JDBC Driver下载地址(下载前必须同意Oracle协议书)
http://otn.oracle.com/software/h... tdocs/jdbc9201.html
MySQL JDBC Driver下载地址
http://dev.mysql.com/downloads/connector/j/3.0.html
PostgreSQL JDBC Driver下载地址
http://jdbc.postgresql.org/download.html
MS-SQL Server JDBC Driver下载地址
http://www.microsoft.com/downloa... bf71&displaylang=en
4、将Hibernate包和Ant包分别解压至c:dev下(此目录不重要,你可以换其它任何目录)。
配置环境
1、你需要添加一个新的环境变量: ANT_HOME,让它指向c:dev<的ANT包所在目录>并在PATH环境变量里添加%ANT_HOME%in。
2、你需要添加一个新的环境变量: JAVA_HOME,让它指向你的j2sdk根目录。并在PATH环境变量里添加%JAVA_HOME%in。
3、创建一个项目ā?目录,比如c:workspaceMy1stHibernate。
在项目目录下,另外创建三个目录: src, classes, lib。
在lib目录下,创建两个目录: hibernate和db。
这样你有了如下的文件结构:
c:workspaceMy1stHibernate
c:workspaceMy1stHibernatesrc
c:workspaceMy1stHibernateclasses
c:workspaceMy1stHibernatelib
c:workspaceMy1stHibernatelibhibernate
c:workspaceMy1stHibernatelibdb
4、将c:dev<的Hibernate包所在目录>hibernate2.jar文件copy到c:workspaceMy1stHibernatelibhibernate下。
将c:dev<的Hibernate包所在目录>lib下的所有文件同样copy到c:workspaceMy1stHibernatelibhibernate下。
将你的JDBC Driver文件(一般是一个jar文件)copy到c:workspaceMy1stHibernatelibdb下。
创建数据库
1、用你最喜爱的database软件,创建一个hibernate_test的数据库。
2、在此数据库下,新建一个table名为CUSTOMER
CREATE TABLE CUSTOMER
(
CID INTEGER NOT NULL PRIMARY KEY, USERNAME VARCHAR(12) NOT NULL, PASSWORD VARCHAR(12)
);
编写Java文件
public class Customer{
private int id;
private String username;
private String password;
public int getId(){
return id;
}
public String getPassword(){
return password;
}
public String getUsername(){
return username;
}
public void setId(int id){
this.id= id;
}
public void setPassword(String password){
this.password= password;
}
public void setUsername(String username){
this.username= username;
}
}
将此类存为c:workspaceMy1stHibernatesrcCustomer.java文件。
编写Test类
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
public class Test{
public static void main(String[] args){
try{
SessionFactory sf= new Configuration().configure().buildSessionFactory();
Session session= sf.openSession();
Transaction tx= session.beginTransaction();
for(int i= 0; i<200; i++){
Customer customer= new Customer();
custoā?mer.setUsername("customer"+ i);
customer.setPassword("customer");
session.save(customer);
}
tx.commit();
session.close();
} catch(HibernateException e){
e.printStackTrace();
}
}
}
将此类存为c:workspaceMy1stHibernatesrcTest.java文件。
创建Hibernate映射文件
因为这里只有一个Class--- Customer和一个Table--- CUSTOMER,你只需要建立一个映射文件--- Customer.hbm.xml,来对应Customer类和CUSTOMER表之间的关系。
<xml version="1.0"?>
<DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<ibernate-mapping>
<lass name="Customer" table="CUSTOMER">
<d name="id" column="CID">
<enerator class="increment"/>
<id>
<roperty name="username" column="USERNAME"/>
<roperty name="password" column="PASSWORD"/>
<class>
<hibernate-mapping>
把此文件存为c:workspaceMy1stHibernatesrcCustomer.hbm.xml,和Customer.java放在同一目录下。
编写Ant build.xml文件
你不一定要知道这个build.xml的细节,其实Ant也不是Hibernate所必须的。这里用Ant是为了简化一些任务,比如:编译、copy、运行,等。
<xml version="1.0"?>
<roject name="My1stHibernate" default="build" basedir=".">
<roperty name="base.dir" value="."/>
<roperty name="src.dir" value="src"/>
<roperty name="lib.dir" value="lib"/>
<roperty name="build.dir" value="classes"/>
<ath id="myclasspath">
<ileset dir="${lib.dir}">
<nclude name="**/*.jar"/>
<fileset>
<athelement location="${build.dir}"/>
<path>
<arget name="init">
<kdir dir="${build.dir}"/>
<target>
<arget name="build" depends="init" description="compile the source files">
<avac classpatrel="external nofollow" rel="external nofollow" href="myclasspath" srcdir="${src.dir}" destdir="${build.dir}"/>
<opy todir="${build.dir}">
<ileset dir="${src.dir}">
ā?<xclude name="**/*.java"/>
<fileset>
<copy>
<target>
<arget name="run" depends="build">
<ava classpatrel="external nofollow" rel="external nofollow" href="myclasspath" classname="Test" fork="true"/>
<target>
<arget name="clean">
<elete includeEmptyDirs="true">
<ileset dir="${build.dir}"/>
<delete>
<target>
<project>
配置Hibernate描述文件
Hibernate描述文件可以是一个properties或xml文件,其中最重要的是定义数据库的连接。我这里列出的是一个XML格式的hibernate.cfg.xml描述文件。
<xml version="1.0" encoding="utf-8"?>
<DOCTYPE hibernate-configuration
PUBLIC"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<ibernate-configuration>
<ession-factory name="java:/hibernate/HibernateFactory">
<roperty name="show_sql">rue<property>
<roperty name="connection.driver_class">
oracle.jdbc.driver.OracleDriver<--这里是Oracle 9i的JDBC driver class名-->
<property>
<roperty name="connection.url">
jdbc:oracle:oci8:@hibernate_test<--这里是Oracle的hibernate_test数据库URL-->
<property>
<roperty name="connection.username">
你的数据库用户名
<property>
<roperty name="connection.password">
你的数据库密码
<property>
<roperty name="dialect">
net.sf.hibernate.dialect.Oracle9Dialect<--这里是Oracle 9i的Dialect-->
<property>
<apping resource="Customer.hbm.xml"/><--指定Customer的映射文件-->
<session-factory>
<hibernate-configuration>
如果你用的不是Oracle 9i,可到C:dev<的Hibernate包所在目录>srchibernate.properties文件里找到你的数据库,然后替换以上相对应的值。
开始运行
到c:workspaceMy1stHibernate下,运行ant run。如果你严格依照以上步骤,应该看到
run:
[java] log4j:WARN No appenders could be found for logger(net.sf.hibernate.cfg.Environment).
[java] log4j:WARN Please initialize the log4j system properly.
[java] Hibernate: insert into CUSTOMER(USERNAME, PASSWORD, CID) values(?,?,?)
BUILD SUCCESSFUL
到你的hibernate_test数据库看一下,在CUSTMOR表里新添了200条记录,但你没有写任何JDBC code。
以后如果你要更换数据库,只需要改变hibernate.cfg.xml描述文件里相应的值即可。
查看(89)评论(4)
掌握 Ajax, Ajax简介
2006-11-10
Ajax由 HTML、JavaScript™技术、DHTML和 DOM组成,这一杰出的方法可以将笨拙的 Web界面转化成交互性的 Ajax应用程序。本文的作者是一位 Ajax专家,他演示了这些技术如何协同工作——从总体概述到细节的讨论——使高效的 Web开发成为现实。他还揭开了 Ajax核心概念的神秘面纱,包括 XMLHttpRequest对象。
五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby成了关注的中心,不知道 Ruby的程序员只能坐冷板凳了。今天,如果想跟上最新的技术时尚,那您的目标就是 Ajax。
但是,Ajax不仅仅是一种时尚,它是一种构建网站的强大方法,而且不像学习一种全新的语言那样困难。
但在详细探讨 Ajax是什么之前,先让我们花几分钟了解 Ajax做什么。目前,编写应用程序时有两种基本的选择:
桌面应用程序
Web应用程序
两者是类似的,桌面应用程序通常以 CD为介质(有时候可从网站下载)并完全安装到您的计算机上。桌面应用程序可能使用互联网下载更新,但运行这些应用程序的代码在桌面计算机上。Web应用程序运行在某处的 Web服务器上——毫不奇怪,要通过 Web浏览器访问这种应用程序。
不过,比这些应用程序的运行代码放在何处更重要的是,应用程序如何运转以及如何与其进行交互。桌面应用程序一般很快(就在您的计算机上运行,不用等待互联网连接),具有漂亮的用户界面(通常和操作系统有关)和非凡的动态性。可以单击、选择、输入、打开菜单和子菜单、到处巡游,基本上不需要等待。
另一方面,Web应用程序是最新的潮流,它们提供了在桌面上不能实现的服务(比如 Amazon.com和 eBay)。但是,伴随着 Web的强大而出现的是等待,等待服务器响应,等待屏幕刷新,等待请求返回和生成新的页面。
显然这样说过于简略了,但基本的概念就是如此。您可能已经猜到,Ajax尝试建立桌面应用程序的功能和交互性,与不断更新的 Web应用程序之间的桥梁。可以使用像桌面应用程序中常见的动态用户界面和漂亮的控件,不过是在 Web应用程序中。
还等什么呢?我们来看看 Ajax如何将笨拙的 Web界面转化成能迅速响应的 Ajax应用程序吧。
老技术,新技巧
在谈到 Ajax时,实际上涉及到多种技术,要灵活地运用它必须深入了解这些不同的技术(本系列的头几篇文章将分别讨论这些技术)。好消息是您可能已经非常熟悉其中的大部分技术,更好的是这些技术都很容易学习,并不像完整的编程语言(如 Java或 Ruby)那样困难。
Ajax的定义
顺便说一下,Ajax是 Asynchronous JavaScript and XML(以及 DHTML等)的缩写。这个短语是 Adaptive Path的 Jesse James Garrett发明的(请参阅参考资料),按照 Jesse的解释,这不是个首字母缩写词。
下面是 Ajax应用程序所用到的基本技术:
HTML用于建立 Web表单并确定应用程序其他部分使用的字段。
JavaScript代码是运行 Ajax应用程序的核心代码,帮助改进与服务器应用程序的通信。
DHTML或 Dynamic HTML,用于动态更新表单。我们将使用 div、span和其他动态 HTML元素来标记 HTML。
文档对象模型 DOM用于(通过 JavaScript代码)处理 HTML结构和(某些情况下)服务器返回的 XML。
我们来进一步分析这些技术的职责。以后的文章中我将深入讨论这些技术,目前只要熟悉这些组件和技术就可以了。对这些代码越熟悉,就越容易从对这些技术的零散了解转变到真正把握这些技术(同时也真正打开了 Web应用程序开发的大门)。
XMLHttpRequest对象
要了解的一个对象可能对您来说也是最陌生的,即 XMLHttpRequest。这是一个 JavaScript对象,创建该对象很简单,如清单 1所示。
清单 1.创建新的 XMLHttpRequest对象
<script language="javascript" type="text/javascript">
var xmlHttp= new XMLHttpRequest();
</script>
下一期文章中将进一步讨论这个对象,现在要知道这是处理所有服务器通信的对象。继续阅读之前,先停下来想一想:通过 XMLHttpRequest对象与服务器进行对话的是 JavaScript技术。这不是一般的应用程序流,这恰恰是 Ajax的强大功能的来源。
在一般的 Web应用程序中,用户填写表单字段并单击 Submit按钮。然后整个表单发送到服务器,服务器将它转发给处理表单的脚本(通常是 PHP或 Java,也可能是 CGI进程或者类似的东西),脚本执行完成后再发送回全新的页面。该页面可能是带有已经填充某些数据的新表单的 HTML,也可能是确认页面,或者是具有根据原来表单中输入数据选择的某些选项的页面。当然,在服务器上的脚本或程序处理和返回新表单时用户必须等待。屏幕变成一片空白,等到服务器返回数据后再重新绘制。这就是交互性差的原因,用户得不到立即反馈,因此感觉不同于桌面应用程序。
Ajax基本上就是把 JavaScript技术和 XMLHttpRequest对象放在 Web表单和服务器之间。当用户填写表单时,数据发送给一些 JavaScript代码而不是直接发送给服务器。相反,JavaScript代码捕获表单数据并向服务器发送请求。同时用户屏幕上的表单也不会闪烁、消失或延迟。换句话说,JavaScript代码在幕后发送请求,用户甚至不知道请求的发出。更好的是,请求是异步发送的,就是说 JavaScript代码(和用户)不用等待服务器的响应。因此用户可以继续输入数据、滚动屏幕和使用应用程序。
然后,服务器将数据返回 JavaScript代码(仍然在 Web表单中),后者决定如何处理这些数据。它可以迅速更新表单数据,让人感觉应用程序是立即完成的,表单没有提交或刷新而用户得到了新数据。JavaScript代码甚至可以对收到的数据执行某种计算,再发送另一个请求,完全不需要用户干预!这就是 XMLHttpRequest的强大之处。它可以根据需要自行与服务器进行交互,用户甚至可以完全不知道幕后发生的一切。结果就是类似于桌面应用程序的动态、快速响应、高交互性的体验,但是背后又拥有互联网的全部强大力量。
加入一些 JavaScript
得到 XMLHttpRequest的句柄后,其他的 JavaScript代码就非常简单了。事实上,我们将使用 JavaScript代码完成非常基本的任务:
获取表单数据:JavaScript代码很容易从 HTML表单中抽取数据并发送到服务器。
修改表单上的数据:更新表单也很简单,从设置字段值到迅速替换图像。
解析 HTML和 XML:使用 JavaScript代码操纵 DOM(请参阅下一节),处理 HTML表单服务器返回的 XML数据的结构。
对于前两点,需要非常熟悉 getElementById()方法,如清单 2所示。
清单 2.用 JavaScript代码捕获和设置字段值
// Get the value of the"phone" field and stuff it in a variable called phone
var phone= document.getElementById("phone").value;
// Set some values on a form using an array called response
document.getElementById("order").value= response[0];
document.getElementById("address").value= response[1];
这里没有特别需要注意的地方,真是好极了!您应该认识到这里并没有非常复杂的东西。只要掌握了 XMLHttpRequest,Ajax应用程序的其他部分就是如清单 2所示的简单 JavaScript代码了,混合有少量的 HTML。同时,还要用一点儿 DOM,我们就来看看吧。
以 DOM结束
最后还有 DOM,即文档对象模型。可能对有些读者来说 DOM有点儿令人生畏,HTML设计者很少使用它,即使 JavaScript程序员也不大用到它,除非要完成某项高端编程任务。大量使用 DOM的是复杂的 Java和 C/C++程序,这可能就是 DOM被认为难以学习的原因。
幸运的是,在 JavaScript技术中使用 DOM很容易,也非常直观。现在,按照常规也许应该说明如何使用 DOM,或者至少要给出一些示例代码,但这样做也可能误导您。即使不理会 DOM,仍然能深入地探讨 Ajax,这也是我准备采用的方法。以后的文章将再次讨论 DOM,现在只要知道可能需要 DOM就可以了。当需要在 JavaScript代码和服务器之间传递 XML和改变 HTML表单的时候,我们再深入研究 DOM。没有它也能做一些有趣的工作,因此现在就把 DOM放到一边吧。
回页首
获取 Request对象
有了上面的基础知识后,我们来看看一些具体的例子。XMLHttpRequest是 Ajax应用程序的核心,而且对很多读者来说可能还比较陌生,我们就从这里开始吧。从清单 1可以看出,创建和使用这个对象非常简单,不是吗?等一等。
还记得几年前的那些讨厌的浏览器战争吗?没有一样东西在不同的浏览器上得到同样的结果。不管您是否相信,这些战争仍然在继续,虽然规模较小。但令人奇怪的是,XMLHttpRequest成了这场战争的牺牲品之一。因此获得 XMLHttpRequest对象可能需要采用不同的方法。下面我将详细地进行解释。
使用 Micr
java ace框架是什么和ACE是什么平台的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!