servlet 生成 html 静态
来源:互联网 发布:八爪鱼数据采集器 编辑:程序博客网 时间:2024/05/14 02:14
package com.servlet;
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;
/***
* 生成html
* 注意: 支持请求 jsp , serlvet(request.getRequestDispatcher(path).forward(request, response))
* 如要批量,修改 doGet()内代码.
* @author wei
*
*/
public class ToHtml extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("text/html; charset=utf-8");
String url = "";
String name = "";
ServletContext sc = getServletContext();
// 你要访问的jsp文件,如index.jsp
// 则你访问这个servlet时加参数.
//file_name 文件名 file_url 请求url
// 如http://localhost/toHtml?file_name=index&file_url=index.jsp
String file_name = request.getParameter("file_name");
String file_url = request.getParameter("file_url");
// 这是你要生成HTML的jsp文件,如
// http://localhost/index.jsp的执行结果.
url = "/" + file_url;
// 这是生成的html文件名,如index.htm.
name = sc.getRealPath("")+"/" + file_name + ".html";
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
FileOutputStream fos = new FileOutputStream(name);
os.writeTo(fos);
fos.close();
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
- servlet 生成 html 静态
- Servlet生成html页面
- jsp生成静态html
- 生成静态html
- 生成静态html
- 静态生成HTML
- Java生成静态HTML
- jsp生成静态html
- php 生成静态html
- 生成html静态页
- php生成静态html
- asp生成静态HTML
- php生成静态html
- Java生成静态HTML
- Java生成静态HTML
- asp中生成静态HTML
- ASP生成静态HTML文件
- Php 生成静态html文件
- 解决iText 5.0.1生成pdf,加入iTextAsian.jar 出现异常 Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.的
- [转] c#调用dll
- Android Display System --- Surface Flinger
- 杜拉拉
- 取消IE 8浏览器的任务预览
- servlet 生成 html 静态
- 程序员应知——首先检查自己的问题
- JavaScript readyState的五种状态详解
- 深入Java单例模式
- 破递归
- 关键词 收录
- 从控制台中读取数据01
- MIME 参考手册
- 远程线程dll注入