教你用servlet将jsp文件内容转为htmlJava认证考试

文章作者 100test 发表时间 2009:04:30 06:30:16
来源 100Test.Com百考试题网


  package examples.
  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 ToHtml extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html. charset=GBK".
  // Initialize global variables
  public void init() throws ServletException {
  }
  // Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  response.setContentType(CONTENT_TYPE).
  service(request, response).
  /**
  * 只有成功初始化后此方法才能被调用处理用户请求。前一个参数提供访问初始请求数据的方法和字段,
  * 后一个提供servlet构造响应的方法。
  */
  }
  // Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  doGet(request, response).
  }
  public void destroy() {
  }
  public void service(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  ServletContext sc = getServletContext().
  String url = "/index.jsp".
  String name = "index.htm". // 这是生成的html文件名
  String pName = "e:\\Tomcat 5.5\\webapps\\jspTohtml\\index.htm". // 生成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().
  FileOutputStream fos = new FileOutputStream(pName). // 把jsp输出的内容写到指定路径的htm文件中
  os.writeTo(fos).
  fos.close().
  response.sendRedirect(name). // 书写完毕后转向htm页面
  }
  }
  在web.xml文件中配置:
  <. servlet>. <. servlet-name>.Tohtml<. /servlet-name>. <. servlet-class>.examples.ToHtml<. /servlet-class>.<. /servlet>. <. servlet-mapping>. <. servlet-name>.Tohtml<. /servlet-name>. <. url-pattern>./Tohtml<. /url-pattern>. <. /servlet-mapping>.
  下面是用来测试的index.jsp:
  <. %@ page contentType="text/html. charset=gb2312" %>.<. html>. <. head>. <. title>.Cache Filter Test<. /title>. <. meta http-equiv="Content-Type" content="text/html. charset=gb2312">. <. /head>. <. body>.简单测试:s=<. % int s=0. // mock time-consuming code for (int i=0.i<. 1000.i ) { for (int j=0.j<. 1000.j ) { s=s j. } }out.print(s).%>. <. /body>.<. /html>.
  更多优质资料尽在百考试题论坛 百考试题在线题库 java认证更多详细资料

相关文章


java认证:数据库中安全知识介绍Oracle认证考试
java认证:简单理解Java中的输出流异常Java认证考试
java认证:高可移植性J2ME软件开发笔记Java认证考试
java认证:Java学习如何走出第一步Java认证考试
教你用servlet将jsp文件内容转为htmlJava认证考试
java认证:tomcat深入内部结构描述Java认证考试
java认证辅导:使用Java命名惯例Java认证考试
如何从JavaFX应用程序进入RESTful网络服务Java认证考试
详解如何让MyEclipse具有强大的提示功能Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛