- 浏览: 1883100 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (514)
- OPEN (41)
- WARN (33)
- EXPER (16)
- RESOURCE (7)
- TOOL (4)
- DWR (10)
- Struts1.x (10)
- Ibtais (18)
- MyEclipse (30)
- Sql Server (64)
- Tomcat (7)
- APACHE (4)
- JSP (18)
- SERVLET (6)
- ENGLISH (0)
- ECSide (8)
- JasperReports (7)
- JAVA (24)
- JS (42)
- XML (26)
- CVS (8)
- Mind (1)
- JQUERY (2)
- IBATIS (6)
- PROJECT (0)
- STRUTS2 (0)
- PROXOOL (0)
- SPRING (4)
- Hibernate (0)
- SSI (0)
- JBPM (11)
- FLEX (3)
- JSON (2)
- GWT (1)
- jeecms v3 (1)
- Flash (2)
- DATA (1)
- ORACLE (3)
- 查询oracle 中逗号分隔字符串中所有值 (1)
最新评论
-
小小西芹菜:
GoEasy web三步轻松实现web实时推送1. 引入goe ...
服务器推送技术 java -
kg_1997:
这个方法太棒了,可以不用to_date函数,实在是棒!!!
java/oracle日期处理 -
wodesunday:
:idea:
SQL的分段统计查询语句 -
wodesunday:
引用
SQL的分段统计查询语句 -
BlueSkator:
讲的有点浅,没有深入进去
tomcat需要的重新发布和重启服务器的几种情况
GWT中前后台交互有多种方式,包括JSON,XML,RPC 其中RPC是GWT提供给我们的功能,他能够让我们直接在前后台传递对象,而无效考虑中间的传递过程。这样的好处是大大提高了我们的开发效率。 GGWT中前后台交互有多种方式,包括JSON,XML,RPC
其中RPC是GWT提供给我们的功能,他能够让我们直接在前后台传递对象,而无效考虑中间的传递过程。这样的好处是大大提高了我们的开发效率。
GWT是如果后台是如果处理对象,使之序列化,网络传输,反序列化的呢。
下图是RPC过程中的几个核心类。
创建一个RPC,我们需要创建一个Servlet继承RemoteServiceServlet
当页面调用一个RPC时便进入了这个Servlet的doPost方法,此方法在
此方法中GWT将request和response放入线程变量,方便之后的调用
核心步骤在processPost(request,response)方法中。
这个方法在AbstractRemoteServiceServlet中是个抽象方法。RemoteServiceServlet实现了这个方法:
这个核心方法主要的工作是:解析Request中的内容,根据解析出来的内容判断需要调用哪个方法,签名参数是什么。利用反射调用目标Service的方法,最后将返回结果序列化,写入Response。
具体代码上的体现是
1. readContent(request) 解析Request请求
2. processCall(requestPayload) 根据解析出来的结果利用反射调用Servie方法
3. writeResponse(request, response, responsePayload) 将最终结果写入Response
在这些过程中用到了RPC RPCServletUtils 等辅助类,核心功能是编码解码请求
其中RPC是GWT提供给我们的功能,他能够让我们直接在前后台传递对象,而无效考虑中间的传递过程。这样的好处是大大提高了我们的开发效率。
GWT是如果后台是如果处理对象,使之序列化,网络传输,反序列化的呢。
下图是RPC过程中的几个核心类。
创建一个RPC,我们需要创建一个Servlet继承RemoteServiceServlet
当页面调用一个RPC时便进入了这个Servlet的doPost方法,此方法在
AbstraceRemoteServiceServlet中 public final void doPost(HttpServletRequest request, HttpServletResponse response) { // Ensure the thread-local data fields have been initialized try { // Store the request & response objects in thread-local storage. // synchronized (this) { validateThreadLocalData(); perThreadRequest.set(request); perThreadResponse.set(response); } processPost(request, response); } catch (Throwable e) { // Give a subclass a chance to either handle the exception or rethrow it // doUnexpectedFailure(e); } finally { // null the thread-locals to avoid holding request/response // perThreadRequest.set(null); perThreadResponse.set(null); } }
此方法中GWT将request和response放入线程变量,方便之后的调用
核心步骤在processPost(request,response)方法中。
这个方法在AbstractRemoteServiceServlet中是个抽象方法。RemoteServiceServlet实现了这个方法:
public final void processPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException, SerializationException { // Read the request fully. // String requestPayload = readContent(request); // Let subclasses see the serialized request. // onBeforeRequestDeserialized(requestPayload); // Invoke the core dispatching logic, which returns the serialized // result. // String responsePayload = processCall(requestPayload); // Let subclasses see the serialized response. // onAfterResponseSerialized(responsePayload); // Write the response. // writeResponse(request, response, responsePayload); }
这个核心方法主要的工作是:解析Request中的内容,根据解析出来的内容判断需要调用哪个方法,签名参数是什么。利用反射调用目标Service的方法,最后将返回结果序列化,写入Response。
具体代码上的体现是
1. readContent(request) 解析Request请求
2. processCall(requestPayload) 根据解析出来的结果利用反射调用Servie方法
3. writeResponse(request, response, responsePayload) 将最终结果写入Response
在这些过程中用到了RPC RPCServletUtils 等辅助类,核心功能是编码解码请求
发表评论
-
Apache FileUpload组件
2013-11-22 15:05 5451Apache FileUpload组件 在最初的 htt ... -
各种数据库对应的jar包、驱动类名和URL格式
2012-11-20 16:38 1516各种数据库对应的jar包、驱动类名和URL格式 2011 ... -
Java Web Start
2011-09-14 10:45 1351一.首先了解一下什么是java web start 1JNL ... -
The template at a glance一目了然的模板
2011-08-05 09:06 1501The template at a glance一目了然的模板 ... -
FreeMarker
2011-08-05 09:04 1131一目了然的数据模型 As you have seen, th ... -
jeecms v3
2011-07-04 15:28 1572好久没有逛jeecms的官方论坛了,今天去看了下,jeecms ... -
gwt整合ibatis
2011-07-02 09:42 2084最近整合gwt整合ibatis,常见错误 控制台报错: 一.N ... -
GWT RPC原理浅析(二)
2011-06-17 16:14 2857前一篇介绍了RPC大体的流程,核心方法是RemoteServi ... -
五种开源协议
2011-04-25 14:54 1119五种开源协议(BSD,Apache,G ... -
JAVA代码调用客户端摄像头 初步探讨
2011-02-21 16:51 6760首先到sun下载最新的jmf,然后安装。 然后,说一下 ... -
tomcat部署jbpm项目 loader constraint violation
2011-02-11 14:22 1804当tomcat部署jbpm项目 时,启动项目控制台出错 ja ... -
E3.Tree参考手册
2010-12-10 09:52 3585E3.Tree参考手册 (v1.0) 目录 简介 2 系统 ... -
e3.tree 1.5 发布,很好,很强大,有截图[转]
2010-12-07 14:14 1143E3.Tree是E3平台下一个用于构造树型UI(menu,tr ... -
在Action中获取ServletContext实例
2010-11-25 13:43 37701:在Action中获取servletContext的时候可以 ... -
Bean named 'sqlMapClient' must be of type [org.springframework.orm.ibatis.SqlMap
2010-11-22 09:57 4945在整合spring2.5和ibatis2,出现了ibatis的 ... -
spring,ibatis的笔记
2010-11-22 08:51 1045在上文中,我们把iface ... -
spring,ibatis的笔记
2010-11-22 08:51 977在上文中,我们把iface ... -
后台错误处理
2010-11-17 15:10 1329后台处理 if (!isTokenValid(request) ... -
struts1 和Spring整合jar包
2010-11-17 11:33 5017struts1 和Spring整合 struts1 和Spri ... -
spring 与struts的集成
2010-11-17 08:37 1282Struts与Spring的集成主要有两种方式,即Delega ...
相关推荐
6. **学习与实践**:理解GWTRPC的工作原理并掌握其应用,对于开发高效的Web应用程序至关重要。开发者需要熟悉Java和JavaScript,了解HTTP协议,以及JSON序列化和反序列化的概念。同时,阅读和分析"基于GWTRPC的通讯...
压缩包中的“GWTRPC”可能是一个包含示例代码的文件或目录,它可能包括服务接口、服务实现、服务代理以及必要的测试类。这些代码可以让你更好地理解如何实际操作GWT RPC。同时,“说明文档.doc”提供了详细的步骤和...
介绍gwtrpc-spring项目限制了Spring GWT-RPC。 其目的是提供后者的简化和更新版本。得到它Spring GWT-RPC在Maven Central上发布: < dependency> < groupId>fr.sertelon.spring</ groupId> < artifactId>spring-gwt...
根据给定文件的信息,我们可以深入探讨GWT-RPC(Google Web Toolkit Remote Procedure Call)的核心概念、开发流程以及在不同模式下的测试方法。 ### GWT-RPC:大想法 GWT-RPC提供了一种机制,允许客户端...
根据提供的文件信息,我们可以深入探讨GWT-RPC的相关知识点,主要围绕其概念、开发流程以及部署等几个方面展开。 ### GWT-RPC:基础知识与概念 #### RPC:远程过程调用 RPC(Remote Procedure Call)是一种协议,...
根据给定文件的信息,我们可以深入探讨GWT-RPC(Google Web Toolkit Remote Procedure Call)的高级特性,特别是关于处理多线程、部署以及异步方法的处理。这些知识点对于理解和运用GWT-RPC进行高效Web应用开发至关...
通过这个案例,你可以学习如何将GWT应用与数据库集成,理解GWT RPC的工作原理,以及如何安全有效地进行数据库操作。这将有助于你构建更复杂的GWT应用程序,提供丰富的用户体验并确保数据的安全交互。
【GWT 概述】 Google Web Toolkit(GWT)是一个开放源码的开发框架,它允许Java开发人员使用Java语言创建复杂的Ajax应用程序。GWT利用Java的强类型和丰富的库来简化Web应用的开发,同时克服了Ajax开发中的挑战,如...
在学习GWT的过程中,练习StockWatcher可以帮助你掌握GWT的核心组件和工作原理。逐步理解并实践这些知识点,你将能够创建更复杂、功能丰富的GWT应用程序。记得在实践中不断尝试、调试和优化,以加深对GWT的理解。
本文将深入探讨GWT-RPC(Remote Procedure Call)和GWT-Storage的序列化技术,并结合给定的标题和描述,展示如何在客户端实现对象的序列化,以及这个概念证明的意义。 **GWT-RPC序列化** GWT-RPC是GWT提供的一种...
GWT还提供了更高级的RPC(Remote Procedure Call)机制,使得Java对象能够在客户端和服务器之间直接传递。虽然RPC不是基于XMLHttpRequest,但它们底层都依赖于类似的HTTP请求。通过定义服务接口和服务端点,GWT会...
“GWT入门”和“GWT中文教程”显然是针对初学者的,它们可能从最基础的GWT安装、项目配置开始,逐步讲解GWT的核心概念,如UI设计(Widget系统)、事件处理、数据模型和服务器通信(RPC机制)、本地存储、国际化等。...
无论是对于初学者还是有经验的开发者来说,掌握GWT的基本原理和开发流程都是非常有价值的。随着技术的不断进步,虽然GWT可能不再是当前最流行的前端开发框架之一,但它仍然在某些特定场景下发挥着重要作用。
5. **异步通信(GWT RPC)**: GWT提供了Remote Procedure Call (RPC)机制,使得客户端和服务器之间的数据交换变得简单。开发者可以通过定义服务接口和服务实现,方便地进行异步调用。 6. **GWT Gin**: Gin是一个依赖...
通过研究这些示例,开发者可以更好地理解GWT的工作原理和最佳实践。 例如,一个示例可能展示了如何创建一个按钮控件,当用户点击按钮时,通过GWT的RPC机制向服务器发送请求,获取数据并更新页面上的显示。另一个...
例如,询问GWT是什么、模块描述符的作用、GWT模块和入口点类的定义、如何启用断言、GWT小部件的默认样式、国际化、GWT RPC的使用、浏览器定向编译、同源策略在GWT中的影响、如何创建自定义小部件、 UiBinder的作用...
GWT提供了丰富的UI组件库、强大的调试工具以及对异步RPC(Remote Procedure Call)的支持,使得开发复杂的Web应用变得更加便捷。 **GXT (Ext GWT)** 是基于GWT的一个扩展库,提供了更多的UI组件和皮肤,尤其是桌面...
115提供的那个不知道怎么回事,我一直下不下来,后来在论坛...8. GWT-RPC 9. Ext GWT 10. (实战)俄罗斯方块游戏 11. (实战)费用申请审批流程 12. GWT与Flex整合 13. 图片缓存 CSS Sprite 14. 本地化 15. 其他高级功能
1. GWT RPC的工作原理,包括HTTP请求、JSON序列化和异步回调。 2. 如何定义和使用GWT服务接口,以及服务端的实现。 3. 数据对象的序列化与反序列化过程。 4. GWT开发工具的使用,如开发模式和编译器。 5. GXT组件库...