ZengChang

          統計

          留言簿(1)

          積分與排名

          友情鏈接

          閱讀排行榜

          評論排行榜

          用servlet將JSP轉換為靜態頁面

          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="";
          ????String?name="";
          ????
          ????????ServletContext?sc?=?getServletContext();
          ????????
          ????????String?file_name=request.getParameter("file_name");//
          你要訪問的 jsp 文件 , index.jsp
          ??//
          則你訪問這個 servlet 時加參數 . http://localhost/toHtml?file_name=index

          ????????url?=?"/"+file_name+".jsp";//
          這是你要生成 HTML jsp 文件 ,
          ???????????????????????????????????//http://localhost/index.jsp
          的執行結果 .

          ????????name="/home/resin/resin-2.1.6/doc/"+file_name+".htm";//
          這是生成的 html 文件名 , index.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 輸出的內容寫到 xxx.htm
          ????????os.writeTo(fos);
          ????????fos.close();
          ????????PrintWriter?out=response.getWriter();
          ????????out.print("<p?align=center><font?size=3?color=red>
          首頁已經成功生成! Andrew</font></p>");
          ????}
          }

          posted on 2006-05-31 16:18 ZengChang 閱讀(588) 評論(2)  編輯  收藏 所屬分類: 學習筆記

          評論

          # re: 用servlet將JSP轉換為靜態頁面 2006-09-13 15:55

          此類怎么用啊
            回復  更多評論   

          # re: 用servlet將JSP轉換為靜態頁面 2006-09-25 20:17 bubble

          收藏一下 !!!
          :p  回復  更多評論   

          主站蜘蛛池模板: 琼中| 荥经县| 商丘市| 天气| 南川市| 古蔺县| 巨鹿县| 高雄县| 当阳市| 兴国县| 韶关市| 阿坝县| 汉中市| 石屏县| 海晏县| 秀山| 梅州市| 浦江县| 西乌| 平江县| 富顺县| 四子王旗| 库伦旗| 八宿县| 惠东县| 长治县| 四川省| 当涂县| 西充县| 甘肃省| 利津县| 永靖县| 定陶县| 马尔康县| 安新县| 伊金霍洛旗| 新乡县| 孟村| 华坪县| 康定县| 汨罗市|