`
Joy.zhang
  • 浏览: 58820 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

JSP显示内容缓存技巧

    博客分类:
  • Jsp
阅读更多
整件事情有点像把jsp当作模板,生成静态的html页面.

  将如下代码写入web-xml

<filter>
<filter-name>FileCaptureFilter</filter-name>
<filter- class>com.junjing.filter.FileCaptureFilter</filter-class>
</filter>

<filter- mapping>
<filter-name>FileCaptureFilter</filter-name>
<url- pattern>/latest.jsp</url-pattern>
</filter-mapping>

  latest.jsp是我要cache的页面

  java源码代码如下

/** * START File FileCaptureFilter.java */

package com.junjing.filter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class FileCaptureFilter implements Filter
{
 private String protDirPath;
  public void init(FilterConfig filterConfig)
  throws ServletException
  {
   protDirPath = filterConfig.getServletContext().getRealPath("/");
  }
 public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)
  throws IOException, ServletException
  {
  String fileName = protDirPath + "forum/lastest.html";
   PrintWriter out = response.getWriter();
  FileCaptureResponseWrapper responseWrapper = new FileCaptureResponseWrapper((HttpServletResponse)response);
   chain.doFilter(request, responseWrapper);
  // fill responseWrapper up
  String html = responseWrapper.toString();
  //得到的html页面结果字符串
  // responseWrapper.writeFile(fileName);
  // dump the contents 写成html文件,也可以保存在内存
  //responseWrapper.writeResponse( out );
   // back to browser
   //responseWrapper.sendRedirect("lastestThread.jsp");
  }

   public void destroy() {}
}

/** * END File FileCaptureFilter.java */
/** * START File FileCaptureResponseWrapper.java */

package com.junjing.filter;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class FileCaptureResponseWrapper
 extends HttpServletResponseWrapper
  {
  private CharArrayWriter output;
  public String toString()
  {
   return output.toString();
  }
  public FileCaptureResponseWrapper(HttpServletResponse response)
  {
    super(response);
   output = new CharArrayWriter();
  }

   public PrintWriter getWriter()
  {
   return new PrintWriter(output);
  }

  public void writeFile(String fileName)
   throws IOException
   {
    FileWriter fw = new FileWriter(fileName);
    fw.write( output.toCharArray() );
     fw.close();
   }

  public void writeResponse(PrintWriter out)
  {
   out.print( output.toCharArray() );
  }
 }
 /** * END File FileCaptureResponseWrapper.java */
分享到:
评论

相关推荐

    JSP实用技巧集合,jsp编程的一些小技巧总结

    jsp编程的一些小技巧总结,绝对实用。包括JSP编程中常用的js技术。 1.JSP编程中常用的js技术 2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4. 两级下拉列表框联动菜单? 5. java中如何把一个目录...

    jsp实现将动态网页转换成静态页面的方法

    jsp 显示内容缓存技巧 前段时间做自己社区的论坛,在jive 的基础上做一个页面显示所有论坛的帖子,可以称之为总版,模仿forum 类的接口做个superforum 并且实现cachable,不过因为这个页面刷新量比较大,虽然被cache ...

    jsp编程技巧集锦

    JSP编程技巧集锦 <br>需要者请联系:e_mail:fzlotuscn@yahoo.com.cn QQ:595563946<br><br>目 录 <br>1. JSP编程中常用的js技术 2. 在下拉列表框里选择一个值后跳出新窗口? 3. 在JSP中启动execl? 4...

    JSP JSP编程技巧

    2. **分离关注点**:将业务逻辑移到JavaBeans,保持JSP页面专注于显示。 3. **使用布局模板**:通过`<jsp:include>`和`<jsp:useBean>`实现页面复用和布局管理。 4. **错误处理**:确保有合适的异常处理机制,避免在...

    JSP通用分页显示1.2.rar_java 分页显示_jsp_jsp 分页_jsp 分页_jsp分页

    **JSP分页显示技术详解** 在Web开发中,数据量较大的时候,通常需要采用分页的方式来展示数据,以提高用户体验并减轻服务器负担。JSP(JavaServer Pages)作为Java平台上的动态网页技术,提供了丰富的功能来实现这...

    jsp编程技巧 创建表示层之类

    此外,通过JSP显示这些数据,可以使用JSTL的`<c:forEach>`标签遍历列表,生成表格或列表视图。 七、异常处理与错误页面 表示层类应包含处理异常的机制,确保在出现错误时能优雅地展示错误信息,而不是显示不友好的...

    jsp小技巧实例

    缓存静态内容;使用session管理用户状态时,注意清理无用的session。 这些小技巧涵盖了JSP开发中的常见问题和解决方案,通过学习和实践这些技巧,你可以更有效地编写和维护JSP应用程序,提高开发效率,同时提升用户...

    jsp分页显示

    **JSP分页显示**是Web开发中常见的...通过以上内容,我们可以了解到JSP分页显示的基本原理和实现方法。在实际项目中,我们需要根据具体需求和性能要求,灵活运用这些技术和策略,为用户提供高效、流畅的数据浏览体验。

    一些JSP开发技巧,自己学完后整理出来的,还是比较有用

    10. **优化JSP缓存**:通过设置合适的缓存策略,可以减少服务器对JSP页面的重新编译,提高响应速度。 11. **使用自定义标签库**:创建和使用自定义标签库可以使代码更模块化,提高代码复用性,并且让页面更易读。 ...

    jsp技巧

    使用`<jsp:include page="header.jsp" flush="true" />`可以缓存静态内容,提高页面加载速度。同时,合理使用session和cookie,避免不必要的网络传输。 ### 8. **国际化与本地化** 通过`<fmt:message>`标签和资源包...

    jsp网页设计40种常见的网页技巧

    本文将围绕“jsp网页设计40种常见的网页技巧”这一主题,结合JavaScript的应用,来深入探讨一些实用的技术点。 1. **响应式设计**:确保你的JSP页面能在不同设备上自适应显示,利用CSS3的媒体查询实现。 2. **模板...

    Jsp中如何让图片在div中居中

    在讨论JSP页面中图片居中的问题时,首先需要掌握一些基础的CSS布局知识,包括display属性的使用、垂直居中的方法、margin属性的自动居中技巧以及W3C标准对页面渲染的影响。 当涉及到在div中居中一张图片时,CSS是...

    jsp新闻发布系统源代码

    对于初学者,可以通过分析和修改这个源代码来学习JSP开发、数据库交互、MVC模式应用以及Web应用的部署和调试技巧。 综上所述,"jsp新闻发布系统源代码"是一个完整的项目实例,它涵盖了JSP开发中的多种技术和实践,...

    jsp编程技巧

    - 业务逻辑应放在JavaBean或Servlet中,JSP仅负责显示数据,遵循MVC模式。 - 使用Model2架构,提高代码的可维护性和可扩展性。 7. **错误处理和日志记录** - 使用`<error-page>`配置处理特定HTTP错误代码的页面...

    《JSP2.0技术手册》

    3. **动态表格展示**:使用JSP和JSTL显示动态生成的数据表格,体现JSP的动态内容生成能力。 4. **邮件发送功能**:结合JavaMail API,利用JSP发送电子邮件。 **六、最佳实践与进阶技巧** 1. **MVC设计模式**:了解...

    jsp,asp页面高亮字查询显示

    可以通过使用缓存、节流或防抖函数等技巧来优化。 6. 兼容性处理:不同的浏览器可能对某些JavaScript特性支持不一,因此需要考虑兼容性问题,确保在各种环境下都能正常工作。 通过"HighlightWord"这个文件,我们...

    JSP技巧集

    JSP技术的核心在于它的“页面组件”,这些组件在服务器端运行,并能够生成HTML、XML或其他格式的文档,然后发送到客户端进行显示。 ### JSP基本概念 1. **JSP页面结构**:一个JSP页面可以包含HTML、CSS、...

    jsp开发指南(从基础到小项目实践)

    2. **Servlet控制逻辑,JSP显示视图**:推荐采用MVC(Model-View-Controller)架构,Servlet处理业务逻辑,JSP负责展示数据。 ### 四、JSP实战 1. **简单实例**:创建一个Hello, World! JSP页面,了解JSP运行机制...

    jsp分页技巧

    JSP分页技巧不仅涉及对变量和SQL查询的合理设计,还需要关注性能优化,例如缓存机制的引入、数据库索引的优化等,以确保在处理大量数据时仍能保持良好的响应速度。此外,随着技术的发展,现代Web框架如Spring Boot...

    JSP实现BBS论坛

    **JSP实现BBS论坛** 是一种常见的Web应用程序开发任务,尤其在软件工程课程设计和毕业设计中常见。它涉及到多种技术的综合运用,...通过分析这些文件,可以进一步学习和理解JSP实现BBS论坛的具体实现细节和编程技巧。

Global site tag (gtag.js) - Google Analytics