JSP 生成静态HTML页面

JSP实现静态网页入门教程 JavaServer Pages(JSP)是一种动态网页技术,允许开发者将Java代码嵌入到HTML页面中,从而让网页内容能够动态地生成。JSP页面在服务器端运行,生成标准的HTML或XML格式的文档供浏览器读取,它是Java EE规范的一部分。静态网页,顾名思义,是在服务器上直接存储的HTML文件,当用户请求时,直接发送给浏览器进行解析和显示。它们由普通的文本、HTML标签、CSS样式和JavaScript脚本等组成,不包含服务器端的脚本语言处理逻辑,因此页面内容在发送到客户端之前就已完全确定。 阅读详情

在网站项目中,为了访问速度加快,为了方便百度爬虫抓取网页的内容,需要把jsp的动态页面转为html静态页面。通常有2种常用的方式:

1.伪静态,使用URL Rewriter

2.纯静态,本文中代码实现的就是纯静态,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;

/**
 * @Description: jsp生成html页面--使用
 * @author Alpha
 * @date 2015年9月17日 下午1:24:27
 * @version V1.0
 */
public class ToHtml extends HttpServlet {

	private static final long serialVersionUID = -7294946376649752356L;

	public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		ServletContext sc = getServletContext();//为你的应用的上下文路径。

		String fileName = request.getParameter("fileName");// 你要访问的jsp
		// 则你访问这个servlet时加参数.如http://localhost/test/toHtml?fileName=index
		String url = "/" + fileName + ".jsp";// 你要生成的页面的文件名。扩展名为jsp
		String name = sc.getRealPath("/") + fileName + ".html";// 这是生成的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(name); // 把jsp 输出的内容写到xxx.html
		os.writeTo(fos);
		fos.close();
		
		PrintWriter out = response.getWriter();
		out.print("SUCCESS");
		
	}
}
web.xml 配置:

<!-- 生成静态页面 -->
	<servlet>
		<servlet-name>jspToHtmlServlet</servlet-name>
		<servlet-class>com.alpha.servlet.ToHtml</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>jspToHtmlServlet</servlet-name>
		<url-pattern>*.2html</url-pattern>
	</servlet-mapping>


生成方法:

http://localhost:8080/test/idnex.2html?fileName=index 生成首页

JSP生成静态HTML页面的几种方法 立即下载

相关推荐

动态Jsp页面转换成静态Html页面

动态Jsp页面转换成静态Html页面 ,通过一个servlet将指定的jsp转换成相对应的静态html页面。

html和jsp静态网页,JSP生成静态html网页

搜索热词下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。/*** jsp生成静态html网页*/public class ToHtml extends HttpServlet {public void service(HttpServletRequest request,HttpServletResponse response)throws...

weixin_39943868的博客 467

java/jsp生成静态页面html/htm

java/jsp生成静态页面html/htm

jsp_首先利用纯HTML写一个简单的登录页面以及后台处理页面【代码】

前台登录页面,纯HTML&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Insert title here&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;form action=

Heihei 's note 1万+

jsp转html(可以运行的程序)

jsp转html(里面可以运行的程序),把地址改一下直接可以运行。里面有调用方法,不用再写jsp调用。

jsp动态生成html 3种方法

jsp动态生成html 3种方法jsp动态生成html 3种方法

jsp网页制作html页面,JSP制作静态网页.ppt

JSP制作静态网页JSP制作静态网页 主要内容 1 制作网站的原型 2 制作注册页面 2.1 HTML的常用标签 2.2 CSS简介 2.3 使用HTML+CSS制作注册页面 2.4 JavaScript简介 2.5 为注册表单添加JavaScript验证 1 制作网站的原型 这里给出了几个主要页面的原型: 1 制作网站的原型 前台首页(帖子列表显示页面)原型: 1 制作网站...

weixin_35599933的博客 1411

「 网络安全常用术语解读 」软件成分分析SCA详解:从发展背景到技术原理再到业界常用检测工具推荐

软件成分分析(Software Composition Analysis,SCA)是一种用于识别和分析软件内部组件及其关系的技术,旨在帮助开发人员更好地了解和管理其软件的构建过程,同时可帮助安全人员揭秘软件内部结构的神秘面纱。SCA技术的发展与软件行业的快速发展密不可分,下面将介绍SCA的发展背景、技术原理以及当前主流SCA工具。

所有成功的背后,都是痛苦的坚持,所有的痛苦,都是傻瓜般的不放弃! 5638

整理Jsp生成html文件

最近在用jsp生成html文件,整理出三种方法,希望对大家有所帮助。 方法1: 为了减轻服务器压力,将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。下面是一个简单的示例 1.buildhtml.jsp 模板文件 2. temp...

iteye_18102的博客 579

在ZYNQMP上点亮800x480 LCD屏:从framebuffer到DRM框架的完整驱动移植实战

本文详细介绍了在ZYNQMP平台上点亮800x480 LCD屏的完整驱动移植实战,从framebuffer到DRM框架的技术实现。内容涵盖硬件配置、设备树设置、显示时序参数调试以及DRM驱动核心实现,帮助开发者快速掌握PetaLinux系统中的LCD驱动开发技巧。

weixin_33701294的博客 428

利用XGBoost实现短期电力负荷预测

本数据集为某地区2009年-2015年的用电负荷,时间片为每分钟这里我们定义了XGB模型作为实例,来进行模型训练,之后我们会对其使用网格搜索找到最优的参数。

优快云 精品推荐 4497

jsp页面中的静态html页面,jsp生成静态html页面

/*** 菜鸟研究一下生成静态页面,因为我是看着API来翻译的,所以如果有不对的话请指出来* 参数requestPageUrl想要生成html的jsp文件路径(如:/frontStage/articleMenuContent.jsp),这是实际存在的jsp文件* (同时我看了一些API想找到只需要传过来一个action也可以的方法,但是找不到...请高手帮帮忙..指点一下)* 参数createPa...

weixin_26968079的博客 630

微信小程序 - 实现人脸识别对比+人脸相似度数据,用户从相册选择或拍照上传两张图片进行人脸对比得到人脸相似度及判断是否是同一个人,微信小程序检测人脸相似度(免费纯前端方案+调用第三方API接口方案)

微信小程序实现人脸识别对比,微信小程序人脸对比 人脸对比识别 人脸对比相似度,实现获取手机摄像头权限,调用相机拍照实现人脸识别相似度对比,小程序人脸相似度对比,快速识别两张照片的相似程度(用百分比)图片相似度对比在线测试,图片相似度对比,微信小程序人脸相似度对比分析,计算两张人脸的相似度,从而判断是否同一个人,并给出相似度评分。小程序如何实现人脸相似度比对,小程序纯前端怎么对比两张图片的相似度,计算两幅图像的相似度,图像相似度对比方法,调用百度AI的人脸识别,微信小程序中实现人脸识别认证,实现人脸检测、人脸

🏆 前端领域优质创作者 4865

jsp生成静态html页面思路【2】

JSP生成静态页实践及其设计思想[2]                        为了减轻服务器压力,将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。下面是一个简单的示例1.buildhtml.jsp @ page contentType="text/html; charset=gb2312" import="jav

静心编程-java-php-jsp-数据库-网站-我们一起成长 928

AMD SDP 优快云 系列文章设计

摘要 本文档规划了7篇AMD SDP协议解析系列文章的技术博客设计方案。基于《Scalable Data Port (SDP) Specification》1.5.0版本(122页),面向SoC/NoC领域的RTL设计与验证工程师,构建从基础概念到验证实现的知识体系。 系列文章严格遵循协议规范边界,采用五类证据标签区分内容来源(规范原文、勘误、验证推导等),禁止补充未定义的实现细节。包含端口控制、事务传输、一致性协议等核心内容,最终落实到验证平台设计与覆盖率模型。 每篇文章采用统一模板:明确规范依据、问题导

元直的博客 169

OData 请求里的 Nextlink 实战:在 ABAP Client Proxy 中优雅处理长列表分页

本文介绍了OData v4标准中的@odata.nextLink分页机制及其在SAP ABAP中的实践应用。重点解析了该机制通过服务端提供的完整URL实现分页获取,客户端只需循环处理直到该字段消失的特点。文章提供了清晰的ABAP代码模板,展示如何通过Remote Client Proxy实现分页数据获取,并强调了仅支持OData v4和远程消费的限制条件。通过HR员工数据聚合的实际案例,说明了流式分页处理的最佳实践,包括服务端过滤、稳定排序和内存控制等关键技术要点,为ABAP开发者提供了可直接落地的解决方案

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 273

jsp生成静态html页面

/** * 菜鸟研究一下生成静态页面,因为我是看着API来翻译的,所以如果有不对的话请指出来 * 参数requestPageUrl想要生成html的jsp文件路径(如:/frontStage/articleMenuContent.jsp),这是实际存在的jsp文件 * (同时我看了一些API想找到只需要传过来一个action也可以的

天才少年程序员-李荣盛专栏 1010

手把手教你学simulink实例--基于Simulink的航空发动机控制系统设计与仿真

航空发动机是飞机的核心动力装置,其性能直接影响飞行器的安全性、经济性和可靠性。现代航空发动机控制系统需要具备高精度、快速响应和强鲁棒性的特点,以适应复杂的飞行环境和任务需求。本项目旨在使用MATLAB/Simulink平台,设计并实现一种适用于涡扇发动机的闭环控制系统,通过调节燃油流量、压气机叶片角度等控制变量,确保发动机在不同工况下稳定运行,并满足推力需求。

MHD0815的博客 277

java 自动生成html_jsp生成静态页面——自动生成全部html文件

生成html页面的主要代码package vip.chencheng.blogstatic;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.PrintWrit...

weixin_39756235的博客 568

游戏大厂射击游戏无缝大世界游戏DS服务器架构设计方案详解

摘要: 本文深入解析游戏大厂无缝大世界射击游戏的分布式服务器(DS)架构设计方案。以《和平精英》《量子特攻》为例,阐述如何通过动态分区、兴趣管理、弹性扩缩等核心技术应对高并发、低延迟、无缝切换等挑战。架构分为世界协调层、分区计算层、物理判定层等模块,结合微服务化、快照同步和Kubernetes调度,实现玩家跨区无感知迁移与一致判定。重点优化动态负载均衡、状态同步算法及容灾备份,依托分布式数据库与多云部署保障高可用性,为同类游戏提供可扩展的技术范本。(149字) 关键词: 无缝大世界、分布式服务器、动态分区、

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 564

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

怎么把jsp转换成html代码,把JSP转换成HTML生成静态页面

package com.simon.web;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import ja...

weixin_39760650的博客 809

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JSP生成静态的HTML页面

转载自:http://suntengjiao1.blog.163.com/blog/static/992110882012925111712224/ 同时可以参考http://www.oschina.net/code/snippet_1862802_37160?p=4#comments这篇文章 特别是下面的评论 很精彩 整体思路:请求 jsp之后,  服务器会把 资源jsp  放入

gwpJava的专栏 1246

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【转载】JSP生成静态Html页面

在网站项目中,为了访问速度加快,为了方便百度爬虫抓取网页的内容,需要把jsp的动态页面转为html静态页面。通常有2种常用的方式: 1.伪静态,使用URL Rewriter 2.纯静态,本文中代码实现的就是纯静态,Servlet实现。 代码: [java]view plaincopy importjava.io.ByteArrayOutputStre...

weixin_33962621的博客 206
上一篇: 今天遇到的奇葩问题:Validation error messages from TagLibraryValidator for fmt
下一篇: eclipse jee中检出项目并转换为Maven project
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值