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