`

关于GWT中RequestBuilder的缓存问题

阅读更多
今天遇到一个需求, 就是在前段每隔1分钟遍发送请求到后台读取当前数据库状态, 本来感觉很简单的问题花了好久才解决,而罪魁祸首就是缓存, 原代码如下:

	public  void checkDBStatusTrigger(){

    	Timer refreshTimer = new Timer() {
			public void run() {
		      
				RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,  "chcekDBStatus.do");
				builder.setHeader("Cache-Control","no-cache"); 
				
				try {
					builder.sendRequest(null, new RequestCallback() {
						@Override
						public void onResponseReceived(Request request, Response response) {
							String flag = response.getText();
							//Window.alert("Responose:"+flag);
							if(flag!=null && !"".equals(flag))
								GwtConstants.DB_STATUS = Boolean.parseBoolean(flag);	
							else
								GwtConstants.DB_STATUS = false;
						}

						@Override
						public void onError(Request request, Throwable e) {
							GwtConstants.DB_STATUS = false;
						}
					});
				} catch (Exception e) {
					GwtConstants.DB_STATUS = false;
					e.printStackTrace();
				}	
			}
    	};
    	
    	refreshTimer.scheduleRepeating(REFRESH_INTERNAL);
    }


很简单的一段代码, 但奇怪的是只有第一次访问后台代码了,以后始终不再访问后台, 搜了大量参考之后得知貌似得传一个变量到后台, 所以改进一小段代码后问题就解决了.


RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,  "chcekDBStatus.do?sessionid=(new Date().toString()));

太蛋疼的问题了, 具体原因现在还不知道...
分享到:
评论

相关推荐

    GWT入门 GWT中文教程

    EXT-GWT的API和DOC文档对于学习和使用EXT-GWT至关重要,它们详尽地介绍了各个组件的用法和功能,帮助开发者了解如何在项目中集成和使用这些组件。 接下来,“Gwt-Ext基础-中级-进阶”这部分教程可能涵盖了从基础到...

    GWT中的xmlHttpRequest

    在GWT(Google Web Toolkit)开发中,XMLHttpRequest(XHR)是实现客户端与服务器间异步数据交换的关键技术。GWT提供了对XHR的封装,使得开发者可以方便地使用JavaScript的XMLHttpRequest对象,而无需直接接触底层的...

    Gwt中文手册,GWt入门

    Gwt中文手册,GWt入门Gwt中文手册,GWt入门Gwt中文手册,GWt入门

    GWT性能优化,利用GWT开发高性能Ajax应用,始终做好缓存, 程序压缩

    5. **使用异步通信**:GWT的RequestBuilder和RPC机制鼓励异步通信,避免阻塞UI,提升用户体验。 6. **优化CSS和图片**:合并CSS文件,减少HTTP请求,使用CSS Sprites技术整合图片,进一步减少加载时间。 7. **利用...

    GWT中文教程(入门进阶)

    **GWT(Google Web Toolkit)** 是...在学习GWT的过程中,不断实践和理解这些知识点,你将能够熟练掌握GWT,创建出高效、互动性强的Web应用。同时,不要忘记关注GWT社区的最新动态,以便了解最新的开发工具和技术趋势。

    关于GWT的部署介绍

    GWT 编译器是整个 GWT 平台的核心,它将 Java 代码转换为可在浏览器中执行的 JavaScript 代码。这个编译器支持 Java 语言的大部分特性,包括基本类型、异常处理、java.lang 和 java.util 包中的类与接口,以及正则...

    GWT中文教程 .

    EXT-GWT2.0.1+API+DOC Gwt-Ext基础-中级-进阶GWT中文教程

    GWT简介.docx

    5. **异步通信(Ajax)**:GWT内置了异步通信机制,通过GWT的RequestBuilder或GWT-RPC(Remote Procedure Call)实现与服务器的无缝交互,实现页面的无刷新更新。 6. **本地化支持**:GWT支持多语言环境,开发者...

    gwt 2.1.0 工具下载

    在GWT 2.1.0版本中,它提供了丰富的功能和改进,使得Web应用的开发更为高效和便捷。 1. **GWT的核心理念**:GWT的核心理念是“Write Once, Run Anywhere”,即一次编写,到处运行。它将Java代码编译成高效的...

    关于GWT的Eclipse插件安装

    关于GWT(Google Web Toolkit)的Eclipse插件安装是一个重要的步骤,对于想要学习和使用GWT进行Web应用开发的人员来说,这是一个基础且必要的环节。GWT是一种开放源码的Java框架,它允许开发者使用Java语言来编写...

    GWT发送HTTP请求简明教程

    在使用`RequestBuilder`之前,你需要确保在你的GWT模块配置文件(如`.gwt.xml`)中引入了`HTTP`继承: ```xml <!-- ... --> <inherits name="com.google.gwt.user.theme.standard.Standard"/> ...

    gwt文档整理

    开发者可以通过这些文档深入理解GWT的各个组件和功能,解决开发过程中遇到的问题。同时,社区和论坛提供了丰富的资源和经验分享,有助于快速上手和解决问题。 6. **最佳实践** 在使用GWT时,遵循一些最佳实践能...

    gwt 练习 gwt学习

    在GWT的实践中,"StockWatcher"是一个经典的入门示例,它通常用来教授GWT的基础知识。StockWatcher应用会模拟一个股票监视器,展示股票的价格变动。这个项目涉及到以下关键知识点: 1. **GWT SDK安装与设置**:首先...

    GWT-api文档

    GWT-api文档是关于GWT库的一份详细参考资料,涵盖了GWT框架的各种API、类、接口和方法,对于理解和使用GWT进行开发至关重要。 GWT的核心特性包括: 1. **Java到JavaScript的编译**:GWT将Java源代码通过编译器转换...

    SmartGWT 12.0

    它使用GWT的RequestBuilder或GWT-RPC服务来实现后台数据的无感知加载。 6. **性能优化** SmartGWT 12.0 版本很可能引入了一些性能优化措施,比如更高效的组件渲染、减少内存占用和提升响应速度等。这有助于提高大...

    GWT实现文件上传文件上传

    在GWT中实现文件上传,首先需要理解的是GWT的事件处理机制,因为文件上传通常涉及到用户交互,比如点击按钮选择文件。这需要我们监听FileUpload组件的onChange事件,当用户选取文件后触发相应的处理函数。在这个处理...

    GWT入门教程

    通过GWT的RequestBuilder或GWT-RPC,开发者可以轻松实现JSON或XML数据的交换。 ### 2. 开始GWT项目 **2.1 创建新项目** 首先,你需要安装GWT SDK,并使用Eclipse或IntelliJ IDEA等IDE创建一个新的GWT项目。在项目...

    GWT通信机制初探

    1. **RequestBuilder**: 这是GWT中最基础的通信方式,用于发送HTTP请求。你可以创建一个`RequestBuilder`实例,设置其方法(GET或POST)、URL以及请求头,然后调用`send()`方法发送请求。接收到响应后,会触发预先...

Global site tag (gtag.js) - Google Analytics