<meta content="text/html; charset=utf-8" http-equiv="Content-Type"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 12"><meta name="Originator" content="Microsoft Word 12"><link href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List"><link href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData"><link href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping"><style>
</style>
GWT性能优化
<!---->1.
<!---->处理长时间的进程:使用IncrementalCommand和Command
参考文档:
http://code.google.com/docreader/#p(google-web-toolkit-doc-1-5)s(google-web-toolkit-doc-1-5)t(DevGuideDeferredCommand)
<!---->2.
<!---->使用ImageBundle
<!---->a)
<!---->什么是ImageBundle?
ImageBundle是gwt1.4版本之后中最显著的特性,它使得GWT能将多个图片文件合并成一个图片“条”。这样就可以把它们合并到一个可缓存的HTTP 请求中,而不用通过多个请求来一一取得每个图片文件。使用ImageBundle的另外一个好处就是消除了在图像加载并且调整宽度高度时重新调整布局出现的网页内容“弹动”。
<!---->b)
<!---->如何使用?
参考文档:
http://code.google.com/docreader/#p(google-web-toolkit-doc-1-5)s(google-web-toolkit-doc-1-5)t(DevGuideImageBundles)
<o:p> </o:p>
<!---->3.
<!---->在Servlet容器上(例如Tomcat)使用Filter来实现Caching,参考代码如下:
<!---->a)
<!---->Filter示例代码:
public class CacheFilter implements Filter{
private
FilterConfig filterConfig;
public void
doFilter(ServletRequest request,ServletResponse response,FilterChain
filterChain) throws IOException,ServletException{
HttpServletRequest httpRequest =
(HttpServletRequest)request;
String requestURI =
httpReqest.getRequestURI();
if(requesURI.contains(“.cache.”)){
HttpServletResponse httpResponse =
(HttpServletResponse)response;
httpResponse.setHeader(“Cache-Control”,”max-age=31536000”);
}
filterChain.doFilter(request,response);
}
<o:p> </o:p>
public void
init(FilterConfig filterConfig) throws ServletException{
this.filterConfig = filterConfig;
}
<o:p> </o:p>
public void
destroy(){
this.filterConfig = null;
}
<o:p> </o:p>
}
<o:p> </o:p>
<!---->b)
<!---->在web.xml文件中配置如下所示:
<filter>
<filter-name>CacheFilter</filter-name>
<filter-class>com.gwtapps.server.CacheFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CacheFilter</filter-nam>
<url-pattern>/*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CacheFilter</filter-nam>
<url-pattern>/*.png</url-pattern>
</filter-mapping>
<o:p> </o:p>
<!---->4.
<!---->在Servlet容器上(例如Tomcat)使用Filter来实现Compression,参考代码如下:
<!---->a)
<!---->在server.xml文件中做如下设置:
<Connector port=”8080” redirectPort=”8443” acceptCount=”20”
compression=”on”/>
<o:p> </o:p>
<!---->b)
<!---->Filter示例代码:
public class GZIPFilter implements Filter {
private FilterConfig filterConfig;
<o:p> </o:p>
public void doFilter(ServletRequest
request,ServletResponse response,FilterChain filterChain) throws
IOException,ServletException{
HttpServletRequest httpRequest =
(HttpServletRequest)request;
//skip gzipped files
String requestURI =
httpRequest.getRequestURI();
if(!requestURI.endsWith(“.gz”)){
//check for zip support
String acceptEncoding =
httpRequest.getHeader(“accept-encoding”);
if(acceptEncoding != null &&
acceptEncoding.indexOf(“gzip”) != -1){
// forward to .gz file
try{
RequestDispatcher rd=
filterConfig.getServletContext().getRequestDispatcher(requestURI + “.gz”);
rd.forward(request,response);
return;
}
catch(ServletException e){
//continue;
}
}
}
filterChain.doFilter(request,response);
}
<o:p> </o:p>
public void
init(FilterConfig filterConfig) throws ServletException{
this.filterConfig = filterConfig;
}
<o:p> </o:p>
public void
destroy(){
this.filterConfig = null;
}
}
<o:p> </o:p>
<!---->c)
<!---->在web.xml文件中配置如下所示:
<filter>
<filter-name>GZIPFilter</filter-name>
<filter-class>com.gwtapps.server.GZIPFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>GZIPFilter</filter-name>
<url-pattern>*.html</
url-pattern >
</filter-mapping>
分享到:
相关推荐
Google Web Toolkit(GWT)是一种强大的开发工具,专为构建高性能、跨浏览器的Web应用程序而设计。在物联网(IoT)领域,GWT能够发挥其优势,帮助开发者创建能够实时监控和管理温室环境的系统。本文将深入探讨如何...
这种编译过程类似于传统的编译语言,提高了代码的运行效率,使得GWT应用相比直接使用JavaScript编写的应用更为精简和快速。 GWT的另一个优点在于它的版本控制策略。编译后的JavaScript文件基于代码哈希生成唯一的...
EXT-GWT的API和DOC文档对于学习和使用EXT-GWT至关重要,它们详尽地介绍了各个组件的用法和功能,帮助开发者了解如何在项目中集成和使用这些组件。 接下来,“Gwt-Ext基础-中级-进阶”这部分教程可能涵盖了从基础到...
【描述】: "本文是关于GWT初学者的入门介绍,探讨如何使用GWT构建高性能的Ajax应用程序,并解释为什么GWT是Ajax开发的理想选择。" 【标签】: "利用GWT开发高性能Ajax应用" 【部分内容】: Google Web Toolkit (GWT...
GWT,全称为Google Web Toolkit,是一个开源的Java框架,用于构建高性能、可维护的...逐步理解并实践这些知识点,你将能够创建更复杂、功能丰富的GWT应用程序。记得在实践中不断尝试、调试和优化,以加深对GWT的理解。
Java是一种广泛使用的面向对象的编程语言,而GWT则是一个开放源码的工具,允许开发者使用Java语言来构建高性能、跨浏览器的富互联网应用程序(Rich Internet Applications,RIAs)。在本篇文章中,我们将深入探讨这...
**Google Web Toolkit (GWT)** 是由Google推出的一款开源的Java开发框架,主要用于构建高度交互式的Web应用程序,特别是那些类似Google Maps和Gmail这样的AJAX应用。GWT的设计灵感来源于Java AWT包的设计理念,包括...
在部署GWT应用到GAE的过程中,需要创建一个`web.xml`文件,它是Java Servlet的部署描述符,配置了应用的Servlets和过滤器,以及GWT的远程服务端点。在`web.xml`中,你会定义GWT服务的URL映射,以便GAE知道如何处理...
2. **自动编译**:GWT将Java代码编译为优化过的JavaScript,这使得应用程序在浏览器中的运行效率得到提高,并且能够支持各种浏览器,包括IE、Firefox、Chrome等。 3. **开发工具**:GWT提供了一个强大的集成开发...
GWT(Google Web Toolkit)是Google推出的一款用于构建富互联网应用程序(RIA)的...通过这两个工具,开发者可以高效地构建和测试GWT应用程序,实现与JavaScript开发相当的便捷性,同时利用Java的强大特性和生态系统。
**GWT(Google Web Toolkit)** 是一个由Google开发的开源JavaScript开发框架,它允许Java开发者使用Java语言来编写Web应用程序,并自动生成优化过的JavaScript代码。GWT的主要目标是简化复杂的Web开发过程,提高...
标题中的“gwt和tomcat整合”指的是将Google Web Toolkit (GWT) 应用程序部署到Apache Tomcat...通过以上步骤和知识点,开发者能够成功地将一个GWT应用程序部署到Apache Tomcat服务器上,实现前端与后端的无缝连接。
这个插件通常被称为GWT Developer Plugin,它允许开发者在Firefox中直接运行和调试GWT应用程序,而无需部署到服务器。这大大提高了开发效率,因为开发者可以在本地环境中实时查看和修改代码。 **GWT Developer ...
GWT(Google Web Toolkit)是由Google开发的一款开源的JavaScript开发框架,主要用于构建高性能、跨浏览器的Web应用程序。GWT通过Java语言进行开发,并将Java代码编译成高效的JavaScript,使得开发者可以利用Java的...
应用虚拟化技术是一种将应用程序从操作系统中分离出来的方法,使得用户无需在本地计算机上安装即可使用应用。这种方式可以减少对硬件资源的需求,简化软件部署和更新流程,同时有助于防止恶意软件通过应用程序传播。...
Google Web Toolkit (GWT) 是一个强大的开源框架,它允许开发者使用 Java 语言来构建复杂的、高性能的 web 应用程序。GWT 提供了一种高效的方法,将 Java 代码编译成 JavaScript 和 HTML,使其能在客户端浏览器中...
Google Web Toolkit(GWT)是一个开放源代码的Java框架,它允许开发者使用Java语言来编写富互联网应用程序(Rich Internet Applications,RIA),并将其编译成优化的JavaScript代码,从而在浏览器中运行。GWT的主要...
### 基于GWT和J2EE的Web开发框架的设计实现与应用 ...综上所述,结合GWT和J2EE技术构建的Web开发框架,在保证了开发灵活性的同时,也提高了系统的稳定性和可维护性,对于大型Web应用程序的开发具有重要的参考价值。