JSP生成静态html网页

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
/**
 * jsp生成静态html网页
 */
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");// 你要访问的jsp文件名,如index,不包括扩展名
		// 则你访问这个servlet时加参数.如[url]http://localhost/test/toHtml?file_name=index[/url]
		url = "/" + file_name + ".jsf";// 你要生成的页面的文件名。我的扩展名为jsf .
		name = ConfConstants.CONTEXT_PATH + "\\" + file_name + ".htm";// 这是生成的html文件名,如index.htm.文件名字与源文件名相同。扩展名为htm
		// ConfConstants.CONTEXT_PATH为你的应用的上下文路径。
		RequestDispatcher rd = sc.getRequestDispatcher(url);
		final ByteArrayOutputStream ōs = 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
		os.writeTo(fos);
		fos.close();
		PrintWriter ōut = response.getWriter();
		out.print("<p align=center><font size=3 color=red>页面已经成功生成!single<br>[url]http://www.xxxx.org/space/?[/url] 233</font></p>");
	}
}

标签: isp

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:iOS实现爆炸的效果

下一篇:js实现按钮的滑动效果