首页数据库mssqlserver.jar?java连接sql server的jar包存放在哪儿

mssqlserver.jar?java连接sql server的jar包存放在哪儿

编程之家2023-11-0195次浏览

无论是mssqlserver.jar还是java连接sql server的jar包存放在哪儿,它们都是当前热门话题。如果你对它们感到好奇,那么请跟随小编的脚步,一起来揭开它们的秘密吧!

mssqlserver.jar?java连接sql server的jar包存放在哪儿

如何连接sql server数据库

使用Java连接SQL Server数据库

用Java连接SQL Server2000数据库有多种方法,下面介绍其中最常用的两种(通过JDBC驱动连接数据库)。

1.通过Microsoft的JDBC驱动连接。此JDBC驱动共有三个文件,分别是mssqlserver.jar、msutil.jar和msbase.jar,可以到微软的网站去下载(http://www.microsoft.com/downloa...&displaylang=en),如果你下载的是setup.exe,还需要安装它,安装后会生成上面的三个jar文件。此JDBC驱动实现了 JDBC 2.0。

驱动程序名称:com.microsoft.jdbc.sqlserver.SQLServerDriver(即下面的classforname)

数据库连接URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname(即下面的url)

2.通过JTDS JDBC Driver连接SQL Server数据库,此驱动的文件名为jtds-1.2.jar,下载路径为(http://sourceforge.net/project/showfiles.php?group_id=33291),此驱动支持Microsoft SQL Server(6.5, 7.0, 2000和2005)和Sybase,并且实现了JDBC3.0,是免费的。

mssqlserver.jar?java连接sql server的jar包存放在哪儿

驱动程序名称:net.sourceforge.jtds.jdbc.Driver(即下面的classforname)

数据库连接URL:jdbc:jtds:sqlserver://localhost:1433/dbname(即下面的url)

JDBC连接SQL Server数据库的Bean代码网上大把的有,下面摘录其中的一部分:(请将localhost和1433改成你实际应用中的SQL Server服务器地址和端口号,dbname改成你实际的数据库名)

1.importjava.sql.*;

2.publicclassDatabaseConn{

3.

mssqlserver.jar?java连接sql server的jar包存放在哪儿

4.privateConnectionconn;

5.privateStatementstmt;

6.privateStringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";

7.privateStringclassforname="com.microsoft.jdbc.sqlserver.SQLServerDriver";

8.privateStringuid="sa";

9.privateStringpwd="password";

10.

11.publicDatabaseConn(){}

12.

13./**

14.*<p>通过MicrosoftJDBC驱动获得数据库连接</p>

15.*@returnConnection

16.*@exceptionClassNotFoundException,SQLException

17.*/

18.publicConnectiongetConnection()

19.{

20.try

21.{

22.Class.forName(classforname);

23.if(conn==null||conn.isClosed())

24.conn=DriverManager.getConnection(url,uid,pwd);

25.}

26.catch(ClassNotFoundExceptionex)

27.{

28.ex.printStackTrace();

29.}

30.catch(SQLExceptionex)

31.{

32.ex.printStackTrace();

33.}

34.returnconn;

35.}

36.

37.}

java连接sql server的jar包存放在哪儿

我自己总结的知识拿出来与大家分享一下吧..当然可能还有什么不对的地方,希望指出:

***msbase.jar、mssqlserver.jar、msutil.jar(支持sql2000):

早期的连接数据库Jar包:在连接数据时候需要手动导入驱动包。即手动导入class.forName(驱动名称);

***SQL Server JDBC Driver 2.0----sqljdbc.jar和sqljdbc4.jar

新版JDBC连接数据库Jar包,支持sql2005,sql2008

Sqljdbc.jar

使用 sqljdbc.jar类库时,应用程序必须首先按class.forName(驱动名称)注册驱动程序。Jdk1.6以上版本不推荐使用.

用Java连接sqlserver数据库时候几个jar包有什么区别

我自己总结的知识拿出来与大家分享一下吧..当然可能还有什么不对的地方,希望指出:

***msbase.jar、mssqlserver.jar、msutil.jar(支持sql2000):

早期的连接数据库Jar包:在连接数据时候需要手动导入驱动包。即手动导入class.forName(驱动名称);

***SQL Server JDBC Driver 2.0----sqljdbc.jar和sqljdbc4.jar

新版JDBC连接数据库Jar包,支持sql2005,sql2008

Sqljdbc.jar

使用 sqljdbc.jar类库时,应用程序必须首先按class.forName(驱动名称)注册驱动程序。Jdk1.6以上版本不推荐使用.

Sqljdbc4.jar

在 JDBC API 4.0中,DriverManager.getConnection方法得到了增强,可自动加载 JDBC Driver。因此,使用sqljdbc4.jar类库时,应用程序无需调用 Class.forName方法来注册或加载驱动程序。调用 DriverManager类的 getConnection方法时,会从已注册的 JDBC Driver集中找到相应的驱动程序。sqljdbc4.jar文件包括“META-INF/services/java.sql.Driver”文件,后者包含.sqlserver.jdbc.SQLServerDriver作为已注册的驱动程序。现有的应用程序(当前通过使用 Class.forName方法加载驱动程序)将继续工作,而无需修改。

注意: sqljdbc4.jar类库要求使用 6.0或更高版本的 Java运行时环境(JRE)。

高分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="bchome-60c4-3b56-09e9-1768 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

文章到此结束,希望我们对于mssqlserver.jar的问题能够给您带来一些启发和解决方案。如果您需要更多信息或者有其他问题,请随时联系我们。

vps加速器,免费vps试用7天加速器安卓能用的加速器域名交易(域名投资交易平台有哪些)