Java學(xué)習(xí)

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經(jīng)搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進(jìn)步

           

          用JSP生成HTM網(wǎng)頁,減輕數(shù)據(jù)庫操作(2)!

          大家跟著做就可以了,這個代碼還可以在修改讓他傳遞個文件名稱,生成文件,按照傳遞的參數(shù)實(shí)現(xiàn)文件名稱,大家自己修改下

          1 toHtml.java(不用修改,直接用)

          package com.jetsum.mystatic;
          import java.io.ByteArrayOutputStream;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.io.OutputStreamWriter;
          import java.io.PrintWriter;
          import javax.servlet.RequestDispatcher;
          import javax.servlet.ServletContext;
          import javax.servlet.ServletException;
          import javax.servlet.ServletOutputStream;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import javax.servlet.http.HttpServletResponseWrapper;

          public class toHtml extends HttpServlet {

          public void service(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
          String url = request.getParameter("urls")!=null?request.getParameter("urls"):"";
          //url是要生成htm的jsp頁面
          String name = "";
          response.setContentType("text/html;charset=gb2312");
          ServletContext sc = getServletContext();
          System.out.println("request.getRealPath"+request.getRealPath(""));
          name = request.getRealPath("") + "/index.htm"; /*生成htm頁 位置在%服務(wù)器的根目錄%/工程名/index.htm 例如:d:/tomcat5.0/webapp/studyteach/index.htm ,注意這里是在根目錄生成,你可以生成后放到你想放的文件夾里,保證其它東西如圖片的路徑正確 這里就寫成name = request.getRealPath("") + "/kszx/kszx.htm"; */

          RequestDispatcher rd = sc.getRequestDispatcher(url);

          final ByteArrayOutputStream os = new ByteArrayOutputStream();

          final ServletOutputStream stream = new ServletOutputStream()
          {
          public void write(byte[] data, int offset, int length) {
          os.write(data, offset, length);
          }

          public void write(int b) throws IOException {
          os.write(b);
          }
          };

          final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));

          HttpServletResponse rep = new HttpServletResponseWrapper(response)
          {
          public ServletOutputStream getOutputStream() {
          return stream;
          }

          public PrintWriter getWriter() {
          return pw;
          }
          };
          rd.include(request, rep);
          pw.flush();
          FileOutputStream fos = new FileOutputStream(name); // 把jsp輸出的內(nèi)容寫到xxx.htm
          os.writeTo(fos);
          fos.close();
          PrintWriter out = response.getWriter();
          out.print("<p align=center><font size=3 color=red>首頁已經(jīng)成功生成!</font></p>");
          }
          }
          web.xml
          中添加
          <servlet>
          <servlet-name>tohtm</servlet-name>
          <servlet-class>com.jetsum.mystatic.toHtml</servlet-class>
          </servlet>

          <servlet-mapping>
          <servlet-name>tohtm</servlet-name>
          <url-pattern>/web/tohtm</url-pattern>
          </servlet-mapping>
          使用方法很簡單 mytest.jsp(wwwroot下)
          <a href="web/tohtm?urls=/kszx/kszx.jsp">生成靜態(tài)頁</a> kszx.jsp為要生成htm的動態(tài)頁
          如果不在wwwroot下,在wwwroot/pp下
          就要寫成
          <a href="../web/tohtm?urls=/kszx/kszx.jsp">生成靜態(tài)頁</a>

          posted on 2009-04-29 16:03 找個美女做老婆 閱讀(593) 評論(2)  編輯  收藏

          評論

          # re: 用JSP生成HTM網(wǎng)頁,減輕數(shù)據(jù)庫操作(2)! 2009-04-29 19:00 fl1429

          沒用過,有什么好的優(yōu)勢嗎?  回復(fù)  更多評論   

          # re: 用JSP生成HTM網(wǎng)頁,減輕數(shù)據(jù)庫操作(2)! 2009-04-30 11:16 找個美女做老婆

          當(dāng)然有,這樣能大大的提高訪問速度, 根本不用去編譯,所以節(jié)省了大量的時間,同時也減輕了 服務(wù)器的壓力
            回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          本blog已經(jīng)搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 永康市| 武威市| 丰城市| 共和县| 张家口市| 颍上县| 芷江| 松溪县| 宁远县| 博罗县| 丘北县| 临漳县| 富阳市| 南靖县| 宜章县| 镇康县| 玉山县| 东山县| 新晃| 江安县| 永定县| 牙克石市| 张家口市| 炉霍县| 渝中区| 亚东县| 天祝| 合山市| 南宫市| 湘阴县| 宜川县| 松溪县| 恩平市| 葵青区| 陆川县| 乃东县| 余庆县| 平罗县| 彝良县| 子洲县| 三台县|