`
newleague
  • 浏览: 1476193 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

JSP转换HTML

 
阅读更多

package com.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 My extends HttpServlet {

 protected void service(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  String url = "";
  String name = "";
  String name2 = "";
  String tourl = "";
  ServletContext sc = getServletContext();
  
  url = "/index.jsp";// 这是你要生成HTML的jsp文件,如
  //
http://localhost/index.jsp的执行结果.
  name = "/index.html";// 这是生成的html文件名,如index.htm.
  tourl = name;
  System.out.println(sc.getRealPath("/"));
  name = sc.getRealPath("/") + "
\\index.html";
  name2 = sc.getRealPath("/") + "
\\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
  FileOutputStream fos2 = new FileOutputStream(name2); // 把jsp输出的内容写到xxx.htm
  os.writeTo(fos);
  os.writeTo(fos2);
  fos.close();
  fos2.close();
  PrintWriter out = response.getWriter();
  out
    .print("<p align=center><a href='"
      + tourl
      + "'><font size=3 color=red>index.html created!</font></a></p>");
  out.print("<p align=center><a href='"
    + tourl.substring(0, tourl.length() - 1)
    + "'><font size=3 color=red>index.htm created!</font></a></p>");
  return;
 }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics