1 /**
 2  * jsp生成静态html网页
 3  */
 4 public class ToHtml extends HttpServlet {
 5     public void service(HttpServletRequest request, HttpServletResponse response)
 6             throws ServletException, IOException {
 7         String url = "";
 8         String name = "";
 9         ServletContext sc = getServletContext();
10         String file_name = request.getParameter("file_name");// 你要访问的jsp文件名,如index,不包括扩展名
11         // 则你访问这个servlet时加参数.如[url]http://localhost/test/toHtml?file_name=index[/url]
12         url = "/" + file_name + ".jsf";// 你要生成的页面的文件名。我的扩展名为jsf .
13         name = ConfConstants.CONTEXT_PATH + "\\" + file_name + ".htm";// 这是生成的html文件名,如index.htm.文件名字与源文件名相同。扩展名为htm
14         // ConfConstants.CONTEXT_PATH为你的应用的上下文路径。
15         RequestDispatcher rd = sc.getRequestDispatcher(url);
16         final ByteArrayOutputStream ōs = new ByteArrayOutputStream();
17         final ServletOutputStream stream = new ServletOutputStream() {
18             public void write(byte[] data, int offset, int length) {
19                 os.write(data, offset, length);
20             }
21
22             public void write(int b) throws IOException {
23                 os.write(b);
24             }
25         };
26         final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));
27         HttpServletResponse rep = new HttpServletResponseWrapper(response) {
28             public ServletOutputStream getOutputStream() {
29                 return stream;
30             }
31
32             public PrintWriter getWriter() {
33                 return pw;
34             }
35         };
36         rd.include(request, rep);
37         pw.flush();
38         FileOutputStream fos = new FileOutputStream(name); // 把jsp输出的内容写到xxx.htm
39         os.writeTo(fos);
40         fos.close();
41         PrintWriter ōut = response.getWriter();
42         out.print("<p align=center><font size=3 color=red>页面已经成功生成!single<br>[url]http://www.xxxx.org/space/?[/url] 233</font></p>");
43     }
44 }

转载于:https://www.cnblogs.com/lr393993507/p/5553282.html

JSP生成静态html网页相关推荐

  1. JSP生成静态HTML页面的实践方法和设计思路

    我们以两个大型网站为例作比较: 51job和智联招聘(先声明我不是为他们作广告,仅以他们为例作技术上的比较) 51job采用的是比较"先进"的php技术,而智联用的是比较落后的as ...

  2. ASP动态网页生成静态Html网页代码

    [摘 要] 生成html网页有利于被搜索引擎收录,不仅被收录的快还收录的全.前台脱离了数据访问,减轻对数据库访问的压力,加快网页打开速度. 网页生成静态Html文件有许多好处,比如生成html网页有利 ...

  3. 动态asp网页批量生成静态html网页问题

    <% '读取模板 set rs=server.createobject("adodb.recordset") rs.open ("select tradeinfo_ ...

  4. 利用Java生成静态HMTL页面的方法收集

    利用Java生成静态HMTL页面的方法收集 生成静态页面技术解决方案之一 转载者前言:这是一个全面的jsp动态页面静态化方案,本站的帖子静态化方案将借鉴这篇帖子中方法.向[url]http://www ...

  5. SEO优化之生成静态网页

    搜索引擎优化是细节上的优化,同样一个网站,同样一些内容,为什么有的排名好,有的排名差,这就在于网站的细节,细节决定成败,怎么让网站排名更好,网站权重更高,不妨先从网页的基础打起,让网页静态化是你不悔的 ...

  6. Freemarker入门小案例(生成静态网页的其中一种方式)

    其实生成静态网页的方式有好多种,我昨天看了一下,Freemarker是其中一种,但是Freemarker现在我们都用得比较少了,现在用得ActiveMQ用来发送信息到静态页面,不过想了一下这个小东西, ...

  7. 编辑器生成静态网页_使用静态网站生成器的7个理由

    编辑器生成静态网页 Static site generators have become increasingly popular and, if my prediction is correct, ...

  8. wordpress真正静态化插件really-static(纯静态html网页生成插件)

    初期被推荐了两款插件:cos-html-catch,,super static cache,really static,本人一直使用的是super static cache还是不错的.但通过个人试用筛 ...

  9. 编辑器生成静态网页_不使用静态网站生成器的7个理由

    编辑器生成静态网页 Trending posts on SitePoint today: 今天在SitePoint上的热门帖子: 7 Ways to Make WordPress Simpler fo ...

最新文章

  1. GreenDao 3.x 注解中ToOne和ToMany的个人理解
  2. 从“冰柜”到“冰棍儿”,下载Github单个文件
  3. JZOJ 5396. 【NOIP2017提高A组模拟10.6】Blocks
  4. cmd长ping记录日志和时间_四个网络命令ping、arp、tracert、route的详细用法
  5. Ubuntu在启动器中添加自定义程序快捷方式
  6. lvs基本概念、调度方法、ipvsadm命令及nat模型示例
  7. Java 反射(Array相关)
  8. 在ubuntu14.04中安装及测试OpenCV
  9. apt报错Hash 校验和不符解决办法
  10. Navicat工具怎么连接oracle数据库
  11. 2012服务器系统安装iis,Windows Server 2012 安装配置IIS教程
  12. 【模块学习】关于磁力计HMC5883L型号探索
  13. 计算导论与c语言基础pdf下载,Cousera 计算导论与C语言基础 学习笔记
  14. 51单片机c语言算法大全,51单片机C语言实例(350例)Proteus仿真和代码都有
  15. (设计模式) (李建忠 C++) 23种设计模式
  16. 互联网金融平台常见绑卡鉴权方式分析对比
  17. ElasticSearch全文搜索引擎
  18. 快手2017校园招聘_笔试_面试
  19. 11月第3周新闻回顾:难忘的光棍节 辛劳的IT人
  20. ios swift模仿qq登陆界面,xml布局

热门文章

  1. Repeating Decimals (计算循环小数)
  2. Angular2组件与指令的小实践——实现一个图片轮播组件
  3. Kenshin Cui's Blog
  4. Linux bind-utils
  5. Windows下配置sphinx+reStructuredText详解
  6. sqlite数据类型、关键词及创建、修改、删除数据表
  7. 什么是区块链钱包?区块链钱包如何运作?
  8. NetworkX系列教程(1)-创建graph
  9. Matlab 数字图像处理1---图像的收缩和放大
  10. 后台获取(Background Fetch) - HTTP 203 Advent