欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
請問(wèn)如何將jsp動(dòng)態(tài)網(wǎng)頁(yè)轉換成靜態(tài)頁(yè)面 Java / Web 開(kāi)發(fā)

請問(wèn)如何將jsp動(dòng)態(tài)網(wǎng)頁(yè)轉換成靜態(tài)頁(yè)面

zhangwei9730 (zhangwei
   2003-12-11 09:40:29 在 Java / Web 開(kāi)發(fā) 提問(wèn)

大家好:  
      我最近作的一個(gè)系統。由于大批量的訪(fǎng)問(wèn)。造成數據庫負擔很重。  
  如果我可以將jsp動(dòng)態(tài)網(wǎng)頁(yè)轉換成靜態(tài)頁(yè)面,那么訪(fǎng)問(wèn)的時(shí)候就不需要頻繁的訪(fǎng)問(wèn)數據庫了。但是如何實(shí)現哪?那位高人能指點(diǎn)一二。多謝
問(wèn)題點(diǎn)數:100、回復次數:5
1樓  jewelsh   (blog.mynetech.com)
 回復于 2003-12-11 09:59:48  得分 100

給個(gè)例子你看看。  
  --------------  
  JSP   顯示內容緩存技巧  
  前段時(shí)間做自己社區的論壇,在jive   的基礎上做一個(gè)頁(yè)面顯示所有論壇的帖子,可以稱(chēng)  
  之為總版,模仿Forum   類(lèi)的接口做個(gè)SuperForum   并且實(shí)現Cachable,不過(guò)因為這個(gè)頁(yè)面  
  刷新量比較大,雖然被Cache   了,我還是想辦法進(jìn)行頁(yè)面的緩存,感覺(jué)用jsp   產(chǎn)生的html  
  靜態(tài)內容當緩存,頁(yè)面訪(fǎng)問(wèn)速度應該有所提高。  
  首先想到的一種辦法,是采用java.net   的URLConnection   把服務(wù)器上的jsp   抓過(guò)來(lái)做緩  
  存,不過(guò)我覺(jué)得這樣做太見(jiàn)外了,自己服務(wù)器上的東西,為何要用HTTP   去訪(fǎng)問(wèn).于是想另外一  
  個(gè)辦法,把jsp   的out   對象的輸出控制到自己希望的地方.比如輸出到靜態(tài)文件,又或者保存  
  成全局的字符串變量.這樣的話(huà),瀏覽就不需要執行jsp,只是瀏覽該html   了.僅僅在數據有更  
  新的時(shí)候進(jìn)行一次update   操作,把jsp   重新輸出為html.  
  我覺(jué)得,瀏覽事件比數據插入或更新發(fā)生的次數多的時(shí)候.不妨試試這個(gè)辦法來(lái)提高頁(yè)  
  面訪(fǎng)問(wèn)速度.  
  整件事情有點(diǎn)像把jsp   當作模板,生成靜態(tài)的html   頁(yè)面.  
  將如下代碼寫(xiě)入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   的頁(yè)面  
  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   頁(yè)面結果字符串  
  //   responseWrapper.writeFile(fileName);  
  //   dump   the   contents   寫(xiě)成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   */  
  附件源代碼  
  不過(guò)采用resin   服務(wù)器的話(huà),以上代碼會(huì )失效。因為resin   沒(méi)有實(shí)現getWriter   方法,而  
  是采用getOutputStream   取而代之,所以必須修改些代碼來(lái)迎合resin   運行環(huán)境:  
  /**   *   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.toString());  
  fw.close();  
  }  
  public   ServletOutputStream   getOutputStream()  
  throws   java.io.IOException  
  {  
  return   new   ServletOutputStream();  
  }  
  public   void   write(int   b)  
  throws   IOException  
  {  
  output.write(b);  
  }  
  public   void   write(byte   b[])  
  throws   IOException  
  {  
  output.write(new   String(b,"GBK"));  
  }  
  public   void   write(byte   b[],   int   off,   int   len)  
  throws   IOException  
  {  
  output.write(new   String(b,   off,   len));  
  }  
  };  
  }  
   
  public   void   writeResponse(PrintWriter   out)  
  {  
  out.print(output.toCharArray());  
  }  
  }  
  /**   *   END   File   FileCaptureResponseWrapper.java   */  
 
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
jsp生成靜態(tài)頁(yè)面
Openfire開(kāi)發(fā)帶有JSP和Servlet的插件
通過(guò)HttpServletResponseWrapper修改response輸出流
Java Web servlet與cookie
JAVA實(shí)現遠程文件讀取
java socket編程的一個(gè)例子(線(xiàn)程池)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久