擷取jsp產生的html分頁檔

來源:互聯網
上載者:User
import java.io.ByteArrayOutputStream;
import java.io.File;
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");   
     url = "/jsp/wzgManager/managerUser.jsp";   
   
      //這是產生的html檔案名稱,如index.htm.      
     name="/jsp/wzgManager/managerUser.doc";  
     name = getServletContext().getRealPath(name);
     
     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();          
   
       //把jsp輸出的內容寫到xxx.htm  
       File file = new File(name);
       if (!file.exists()) {
           file.createNewFile();
           
       }
       System.out.println(name);
       FileOutputStream fos = new FileOutputStream(file);    
   
       os.writeTo(fos);   
       fos.close();   
   
       response.setContentType("text/html;charset=gbk");
       PrintWriter out=response.getWriter();   
       out.print("<p align=center><font size=3 color=red>首頁已經成功產生!Andrew</font></p>");   
       }   
 }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.