DWR有着很大的用户群体,在很多项目中都有使用,如:Walmart购物网、美国航空订票网。
DWR有大量的特征,比如:调用批处理、处理异常等等。DWR包含两个主要的部分
[list]
[*]一个运行于服务器端的Servlet,它负责处理请求并将响应返回给浏览器
[*]运行在浏览器端的JavaScript,它用于发送请求和动态更新页面
[/list]
有两种方式可以帮助我们学习DWR,一种方式是下载WAR文件,阅读例子,然而,这种方式不能够帮助你认识DWR和你的应用程序的交互是多么的简单,所以推荐如下3个简单的步骤:
[list]
[*]1 安装dwr 的jar文件
[/list]
下载dwr.jar文件,将其放在你的应用程序的WEB-INF/lib目录下。你也许在那里已经放置了很多jar文件。从2.0版本以后,DWR还需要commoning-logging包。
[list]
[*]2 编辑config文件
[/list]
如下几行代码需要添加到WEB-INF/web.xml中,<servlet>块需要跟在其它<servlet>块后,<servlet-mapping> 也需要做同样处理。
如果你正在使用的是DWR 1.X,servlet-class 行应该包含如下内容uk.ltd.getahead.dwr.DWRServlet,1.x可以和2.x一起工作,但是推荐使用新版本的。
之后在WEB-INF目录下web.xml的旁边新建dwr.xml。 一个简单的例子如下:
显然地, 如果你使用的是1.x版本,应该将上面代码中的1.0替换为2.0, 10替换为20.
DWR的配置文件定义了可以被JavaScript创建和使用的类。 在上面的例子中, 我们定义了2个类并给出了它们在JavaScript中的名字。
new 标志着将会使用无参的构造方法。
DWR还有一些限制需要记住:
避免使用预留字符:JavaScript的大部分预留字符和java的一致,所以你不能在任何地方使用“try()”方法。值得注意的是"delete()",对于JavaScript其有特殊的含义但对于java则没有
避免使用重载方法
[list]
[*]3 跳转到如下URL
[/list]
http://localhost:8080/[YOUR-WEBAPP]/dwr/
你应该能够看到一个页面,该页面展现了你在步骤2中配置的类。 通过链接你可以得到所有方法的索引。这些页面通过例子告诉你如何使用DWR。
[img]http://congpeixue.iteye.com/upload/attachment/45069/0d41a508-3bba-31e7-99d4-fe26c3e4b197.jpg[/img]
后面我们将提供4个例子用来说明如何使用dwr
动态更新文本 [url]http://congpeixue.iteye.com/blog/258000[/url]
Resource Forward[url]http://congpeixue.iteye.com/admin/blogs/258114[/url]
编辑Table [url]http://congpeixue.iteye.com/admin/blogs/258256[/url]
快速输入地址[url]http://congpeixue.iteye.com/admin/blogs/258732[/url]
DWR有大量的特征,比如:调用批处理、处理异常等等。DWR包含两个主要的部分
[list]
[*]一个运行于服务器端的Servlet,它负责处理请求并将响应返回给浏览器
[*]运行在浏览器端的JavaScript,它用于发送请求和动态更新页面
[/list]
有两种方式可以帮助我们学习DWR,一种方式是下载WAR文件,阅读例子,然而,这种方式不能够帮助你认识DWR和你的应用程序的交互是多么的简单,所以推荐如下3个简单的步骤:
[list]
[*]1 安装dwr 的jar文件
[/list]
下载dwr.jar文件,将其放在你的应用程序的WEB-INF/lib目录下。你也许在那里已经放置了很多jar文件。从2.0版本以后,DWR还需要commoning-logging包。
[list]
[*]2 编辑config文件
[/list]
如下几行代码需要添加到WEB-INF/web.xml中,<servlet>块需要跟在其它<servlet>块后,<servlet-mapping> 也需要做同样处理。
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
如果你正在使用的是DWR 1.X,servlet-class 行应该包含如下内容uk.ltd.getahead.dwr.DWRServlet,1.x可以和2.x一起工作,但是推荐使用新版本的。
之后在WEB-INF目录下web.xml的旁边新建dwr.xml。 一个简单的例子如下:
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
<create creator="new" javascript="Demo">
<param name="class" value="your.java.Bean"/>
</create>
</allow>
</dwr>
显然地, 如果你使用的是1.x版本,应该将上面代码中的1.0替换为2.0, 10替换为20.
DWR的配置文件定义了可以被JavaScript创建和使用的类。 在上面的例子中, 我们定义了2个类并给出了它们在JavaScript中的名字。
new 标志着将会使用无参的构造方法。
DWR还有一些限制需要记住:
避免使用预留字符:JavaScript的大部分预留字符和java的一致,所以你不能在任何地方使用“try()”方法。值得注意的是"delete()",对于JavaScript其有特殊的含义但对于java则没有
避免使用重载方法
[list]
[*]3 跳转到如下URL
[/list]
http://localhost:8080/[YOUR-WEBAPP]/dwr/
你应该能够看到一个页面,该页面展现了你在步骤2中配置的类。 通过链接你可以得到所有方法的索引。这些页面通过例子告诉你如何使用DWR。
[img]http://congpeixue.iteye.com/upload/attachment/45069/0d41a508-3bba-31e7-99d4-fe26c3e4b197.jpg[/img]
后面我们将提供4个例子用来说明如何使用dwr
动态更新文本 [url]http://congpeixue.iteye.com/blog/258000[/url]
Resource Forward[url]http://congpeixue.iteye.com/admin/blogs/258114[/url]
编辑Table [url]http://congpeixue.iteye.com/admin/blogs/258256[/url]
快速输入地址[url]http://congpeixue.iteye.com/admin/blogs/258732[/url]