`
senton
  • 浏览: 205864 次
  • 性别: Icon_minigender_1
  • 来自: 紫禁城
社区版块
存档分类
最新评论

在GWT应用程序中,如何提高性能?

    博客分类:
  • GWT
阅读更多
<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.       <!---->处理长时间的进程:使用IncrementalCommandCommand

参考文档:

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

ImageBundlegwt1.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>

分享到:
评论

相关推荐

    GWT的物联网应用程序

    Google Web Toolkit(GWT)是一种强大的开发工具,专为构建高性能、跨浏览器的Web应用程序而设计。在物联网(IoT)领域,GWT能够发挥其优势,帮助开发者创建能够实时监控和管理温室环境的系统。本文将深入探讨如何...

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

    这种编译过程类似于传统的编译语言,提高了代码的运行效率,使得GWT应用相比直接使用JavaScript编写的应用更为精简和快速。 GWT的另一个优点在于它的版本控制策略。编译后的JavaScript文件基于代码哈希生成唯一的...

    GWT入门 GWT中文教程

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

    利用GWT开发高性能Ajax应用

    【描述】: "本文是关于GWT初学者的入门介绍,探讨如何使用GWT构建高性能的Ajax应用程序,并解释为什么GWT是Ajax开发的理想选择。" 【标签】: "利用GWT开发高性能Ajax应用" 【部分内容】: Google Web Toolkit (GWT...

    gwt 练习 gwt学习

    GWT,全称为Google Web Toolkit,是一个开源的Java框架,用于构建高性能、可维护的...逐步理解并实践这些知识点,你将能够创建更复杂、功能丰富的GWT应用程序。记得在实践中不断尝试、调试和优化,以加深对GWT的理解。

    Java和GWT应用开发.pdf

    Java是一种广泛使用的面向对象的编程语言,而GWT则是一个开放源码的工具,允许开发者使用Java语言来构建高性能、跨浏览器的富互联网应用程序(Rich Internet Applications,RIAs)。在本篇文章中,我们将深入探讨这...

    GWT快速开发(GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的...

    **Google Web Toolkit (GWT)** 是由Google推出的一款开源的Java开发框架,主要用于构建高度交互式的Web应用程序,特别是那些类似Google Maps和Gmail这样的AJAX应用。GWT的设计灵感来源于Java AWT包的设计理念,包括...

    部署一个简单GWT应用到Google App Engine

    在部署GWT应用到GAE的过程中,需要创建一个`web.xml`文件,它是Java Servlet的部署描述符,配置了应用的Servlets和过滤器,以及GWT的远程服务端点。在`web.xml`中,你会定义GWT服务的URL映射,以便GAE知道如何处理...

    GWT

    2. **自动编译**:GWT将Java代码编译为优化过的JavaScript,这使得应用程序在浏览器中的运行效率得到提高,并且能够支持各种浏览器,包括IE、Firefox、Chrome等。 3. **开发工具**:GWT提供了一个强大的集成开发...

    eclipse和firefox浏览器的gwt插件

    GWT(Google Web Toolkit)是Google推出的一款用于构建富互联网应用程序(RIA)的...通过这两个工具,开发者可以高效地构建和测试GWT应用程序,实现与JavaScript开发相当的便捷性,同时利用Java的强大特性和生态系统。

    GWT中文教程(入门进阶)

    **GWT(Google Web Toolkit)** 是一个由Google开发的开源JavaScript开发框架,它允许Java开发者使用Java语言来编写Web应用程序,并自动生成优化过的JavaScript代码。GWT的主要目标是简化复杂的Web开发过程,提高...

    gwt和tomcat整合

    标题中的“gwt和tomcat整合”指的是将Google Web Toolkit (GWT) 应用程序部署到Apache Tomcat...通过以上步骤和知识点,开发者能够成功地将一个GWT应用程序部署到Apache Tomcat服务器上,实现前端与后端的无缝连接。

    firefox和 对应gwt插件

    这个插件通常被称为GWT Developer Plugin,它允许开发者在Firefox中直接运行和调试GWT应用程序,而无需部署到服务器。这大大提高了开发效率,因为开发者可以在本地环境中实时查看和修改代码。 **GWT Developer ...

    GWT Demo,GWT学习时的一些小例子

    GWT(Google Web Toolkit)是由Google开发的一款开源的JavaScript开发框架,主要用于构建高性能、跨浏览器的Web应用程序。GWT通过Java语言进行开发,并将Java代码编译成高效的JavaScript,使得开发者可以利用Java的...

    瑞友应用程序集(GWT-XC)V1.0服务器端和谐补丁

    应用虚拟化技术是一种将应用程序从操作系统中分离出来的方法,使得用户无需在本地计算机上安装即可使用应用。这种方式可以减少对硬件资源的需求,简化软件部署和更新流程,同时有助于防止恶意软件通过应用程序传播。...

    gwt入门-gwt从这里开始

    Google Web Toolkit (GWT) 是一个强大的开源框架,它允许开发者使用 Java 语言来构建复杂的、高性能的 web 应用程序。GWT 提供了一种高效的方法,将 Java 代码编译成 JavaScript 和 HTML,使其能在客户端浏览器中...

    GWT开发环境JAVA

    Google Web Toolkit(GWT)是一个开放源代码的Java框架,它允许开发者使用Java语言来编写富互联网应用程序(Rich Internet Applications,RIA),并将其编译成优化的JavaScript代码,从而在浏览器中运行。GWT的主要...

Global site tag (gtag.js) - Google Analytics