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;
}
}