bean.java
package com.cw.entity;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Bean {
private String[] citys = new String[] { "杭州", "上海", "香港", "武汉", "南京" };
public String[] getCitys() {
return this.citys;
}
public String sendPost(String url) {
String result = "";
try {
URL httpurl = new URL(url);
HttpURLConnection httpConn = (HttpURLConnection) httpurl
.openConnection();
httpConn.setDoInput(true);
BufferedReader in = new BufferedReader(new InputStreamReader(
httpConn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
in.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("没有结果!" + e);
}
return result;
}
}
index.jsp
<%@ page language="java" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="dwr/interface/bean.js"></script>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<style type="text/css">
.tips-loading {
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: url(img/reg0.gif) lightyellow no-repeat 3px center; PADDING-BOTTOM: 1px; OVERFLOW: hidden; WIDTH: 300px; COLOR: #808080; TEXT-INDENT: 20px; LINE-HEIGHT: 16px; PADDING-TOP: 2px
}
.tips-pass {
BACKGROUND: url(img/reg4.gif) #e9ffeb no-repeat 0px -2px; COLOR: #333
}
</style>
</head>
<body>
<div
style="position:absolute; left: 14px; top: 49px; width: 968px; height: 70px; background:#CCCCCC">
<label style="position:absolute; left: 52px; top: 22px;">
<input type="text" name="url" size="50" value="http://www.baidu.com">
</label>
<label
style="position:absolute; left: 422px; top: 21px; width: 140px;">
<input name="Input" type="submit" value="获取内容" onClick="getData()">
</label>
<div id="status" style="position:absolute; width:278px; left: 501px; top: 24px; height: 20px; background-color:#CCCC99"></div>
</div>
<p>
</p>
<textarea
style="position: absolute; left: 13px; top: 125px; width: 968px; height: 419px;"
id="showresult"></textarea>
<script type="text/javascript">
function $(id){
return document.getElementById(id);
}
function getData(){
$("status").className="tips-loading";
$("status").innerHTML=" 正在读取数据...";
bean.sendPost(dwr.util.getValue("url"),function(data){
$("showresult").value=data;
$("status").className="tips-pass";
$("status").innerHTML=" 读取完毕!";
});
}
</script>
</body>
</html>
dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="bean">
<param name="class" value="com.cw.entity.Bean" />
<include method="getCitys" />
<include method="sendPost"/>
</create>
</allow>
</dwr>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<!-- <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>-->
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>
initApplicationScopeCreatorsAtStartup
</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>500</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
分享到:
相关推荐
"Ext tree 结合dwr 调用后台数据"这个主题涉及到两个关键的技术:Ext JS的Tree组件和Direct Web Remoting (DWR)。这两个技术的结合使得前端用户界面能够动态地展示并操作后台的数据。 首先,让我们来了解一下**Ext ...
在描述中提到,默认的JSON加载器是通过URL属性指定从远程服务器获取JSON数据的接口。这意味着,当我们将EasyUI组件与DWR结合使用时,我们需要对`url`属性进行特殊处理。通常,EasyUI组件如表格或下拉框等,会通过`...
这些方法将用于处理分页请求,例如获取特定页码的数据。 2. **创建Java服务端接口**:编写一个Java类,提供处理分页请求的方法。这个方法可能接受页码和每页大小作为参数,然后从数据库或其他数据源中检索相应的...
2. `loader`:加载器配置,用于定义如何获取和处理数据,我们可以在这里配置DWR调用的URL和方法名。 3. `store`:存储数据的Store对象,通常会配置为一个TreeStore,用于处理树形结构的数据。 4. `nodeType`:如果...
这将使DWR通过Spring获取名为"bookDao"的bean,并将其暴露给客户端。 总之,DWR框架通过注解简化了原本繁琐的XML配置,使得开发者能够更加专注于业务逻辑,提高了开发效率。同时,DWR提供了丰富的注解类型,覆盖了...
DWR(Direct Web Remoting)是一个开源的Java库,它允许在JavaScript和Java之间进行安全、高效的远程调用。这个例子展示了如何在Web应用程序中使用DWR与Tomcat数据库连接池来实现Ajax交互,从而实现实时的客户端-...
而“访问零度电子书库获取更多资源.url”则可能是一个链接,指向一个包含更多DWR或其他相关技术资源的电子书库,读者可以通过这个链接获取更多的学习材料和最新资讯。 总的来说,《Practical DWR 2 Projects》是一...
4. 在JavaScript中使用DWR:通过DWR的API,可以直接调用服务器端的方法,获取或更新数据。 示例中提到的实时股市报价和Web聊天室是Ajax技术常见的应用场景。实时股市报价通过Ajax实现股票数据的实时更新,而不需要...
- **简化远程调用**:DWR让远程调用如同调用本地函数一样简单,隐藏了所有与网络通信相关的复杂性。 - **JavaScript与Java无缝连接**:DWR允许开发者直接从JavaScript调用Java对象,无需了解底层的通信协议。 - **...
例如,我们可以使用`dwr.engine.async.call`方法来发起一个远程调用,并提供一个回调函数来处理返回的结果。 为了测试这个设置,我们可以创建一个简单的Web页面(如DWRTest.html),在这个页面上使用JavaScript直接...
加载器配置了数据URL为`'test'`,这意味着当用户展开树节点时,DWR会向服务器请求数据。 接着,创建了一个根节点`_root`,表示“中国”,并设置了其未选中的状态。然后,将根节点设置为树的根节点,并渲染到页面上...
总的来说,DWR和JPA的结合提供了强大的远程方法调用能力,使得我们可以直接在客户端处理SERVER端的数据。通过正确配置DWR,处理事务和对象关系,以及优化数据传输,我们可以构建出高效、灵活的Web应用。
通过结合DWR和Struts,可以实现一个功能完善且用户体验良好的文件上传进度条。这种方式不仅提高了Web应用的交互性,还简化了开发流程,使得开发者能够更加专注于业务逻辑的实现。对于那些希望提升用户上传文件体验的...
DWR通过创建远程对象(Remote Objects)使得JavaScript可以直接调用服务器端的Java方法,实现异步更新页面。这样,用户在进行在线考试时,可以实时提交答案、获取反馈,提高用户体验。同时,DWR还提供了安全机制,...
DWR通过AJAX(Asynchronous JavaScript and XML)技术提高了用户体验,用户无需刷新页面就能获取服务器的更新数据。 在项目中,源码和LW(可能指的是Lightweight或者LiveWire,一种早期的前端动态技术)的提供意味...
总结,Ajax无刷新技术结合DWR框架,为Web开发者提供了高效、便捷的方式来创建动态、交互性强的页面。理解并掌握这些知识,对于提升Web应用的性能和用户体验至关重要。在实际开发中,我们应充分利用Ajax和DWR的特性,...