package test;
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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class CreateHTMLTest {
/**
*
* @param request
* @param response
* @param jsp_url
* @param html_url
*/
public static void createHTML(HttpServletRequest request,
HttpServletResponse response, String jsp_url, String html_url) {
FileOutputStream fos = null;
response.setContentType("text/html;charset=gb2312");
ServletContext context = request.getSession().getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(jsp_url);
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final ServletOutputStream stream = new ServletOutputStream() {
public void write(byte[] data, int offset, int length) {
baos.write(data, offset, length);
}
public void write(int b) throws IOException {
baos.write(b);
}
};
final PrintWriter pw = new PrintWriter(new OutputStreamWriter(baos));
HttpServletResponse rep = new HttpServletResponseWrapper(response) {
public ServletOutputStream getOutputStream() {
return stream;
}
public PrintWriter getWriter() {
return pw;
}
};
try {
dispatcher.include(request, rep);
pw.flush();
fos = new FileOutputStream(html_url);
baos.writeTo(fos);
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
java 静态化 mapping生产静态页面核心代码
最新推荐文章于 2021-12-08 08:06:00 发布