捷凌网安JAVA频道
捷凌IT教育
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME 开源技术 其他技术 论坛
 您现在的位置: 捷凌网安 >> Java >> J2EE >> ServletJsp >> 正文
jsp生成html(方法简单,只用使用一个serlvet)

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-5-11 3:17:32

  1   toHtml.java(不用修改,直接用)
   
    package com.jetsum.mystatic;

    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 {

        public void service(HttpServletRequest request, HttpServletResponse response)
                        throws ServletException, IOException {
                String url = request.getParameter("urls")!=null?request.getParameter("urls"):"";
                //url是要生成htm的jsp页面
                String name = "";
                response.setContentType("text/html;charset=gb2312");
                ServletContext sc = getServletContext();
                System.out.println("request.getRealPath"+request.getRealPath(""));
                 name = request.getRealPath("") + "/index.htm";      /*生成htm页  位置在%服务器的根目录%/工程名/index.htm 例如:d:/tomcat5.0/webapp/studyteach/index.htm  ,注意这里是在根目录生成,你可以生成后放到你想放的文件夹里,保证其它东西如图片的路径正确     这里就写成name = request.getRealPath("") + "/kszx/kszx.htm";      */

              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(name); // 把jsp输出的内容写到xxx.htm
                os.wrITeTo(fos);
                fos.close();
                PrintWriter out = response.getWrITer();
                out.print("<p align=center><font size=3 color=red>首页已经成功生成!</font></p>");
            }
    }
    web.xml
    中添加
       <servlet>
        <servlet-name>tohtm</servlet-name>
        <servlet-class>com.jetsum.mystatic.toHtml</servlet-class>
    </servlet>

      <servlet-mapping>
        <servlet-name>tohtm</servlet-name>
        <url-pattern>/web/tohtm</url-pattern>
      </servlet-mapping>
    使用方法很简单  mytest.jsp(wwwroot下)
    <a href="web/tohtm?urls=/kszx/kszx.jsp">生成静态页</a>    kszx.jsp为要生成htm的动态页
    如果不在wwwroot下,在wwwroot/pp下
    就要写成
    <a href="../web/tohtm?urls=/kszx/kszx.jsp">生成静态页</a>

  • 上一篇文章:

  • 下一篇文章:
  •  
     最进更新
    普通文章J2SE实现windows读取网卡的物05-11
    普通文章Scala—Java的避难所之main(05-11
    普通文章Spring数据源的灵活配置巧应05-11
    普通文章Spring 与 Log4J 进行动态日05-11
    普通文章Heritrix的多线程ToeThread和05-11
    普通文章应用spring示例开发网站构思05-11
    普通文章Spring 数据源配置与应用05-11
    普通文章Spring中的四种声明式事务的05-11
    普通文章Hibernate+Spring搞定Clob、05-11
    普通文章Hibernate的映射关联关系05-11
     
     推荐文章
    推荐文章Java技术开源搜索引擎04-30
    推荐文章Eclipse中建立自己的JUnit测04-30
    推荐文章Eclipse 3.3上安装jadclipse04-30
    推荐文章spring 编程入门十大问题解答04-30
    推荐文章Java编程中Spring的一些负面04-30
    推荐文章Java应用中Hibernate对多表关04-30
    推荐文章关于hibernate的缓存和CRUD04-30
    推荐文章基于Struts1.2的动态多文件上04-30
    推荐文章演示Struts2实现简单上传代码04-30
    推荐文章J2EE学习笔记--Struts初步认04-30
     
     热点文章
    普通文章J2SE实现windows读取网卡的物05-11
    普通文章Scala—Java的避难所之main(05-11
    普通文章Spring数据源的灵活配置巧应05-11
    普通文章Spring 与 Log4J 进行动态日05-11
    普通文章Heritrix的多线程ToeThread和05-11
    普通文章应用spring示例开发网站构思05-11
    普通文章Spring 数据源配置与应用05-11
    普通文章Spring中的四种声明式事务的05-11
    普通文章Hibernate+Spring搞定Clob、05-11
    普通文章Hibernate的映射关联关系05-11

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号