jsp作为Java Web开发中常用的动态页面技术,本身支持直接嵌入html代码,也可以通过转发、包含等方式运行外部html文件,下面详细介绍具体的操作步骤。

一、运行环境准备
要让jsp运行html,首先需要搭建Java Web运行环境,核心是需要安装Servlet容器,这里以常用的Tomcat为例:
- 安装JDK,配置好JAVA_HOME环境变量,确保java命令可以在命令行正常执行
- 下载Tomcat压缩包,解压到本地目录,无需安装,解压即可使用
- 启动Tomcat,访问
localhost:8080,如果看到Tomcat欢迎页说明环境搭建成功
二、jsp直接嵌入html的运行步骤
jsp页面的本质是在html基础上嵌入Java代码,所以可以直接在jsp中编写html内容,这是最基础的运行方式。
1. 编写jsp文件
在Tomcat的webapps/ROOT目录下新建一个test.jsp文件,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp运行html示例</title>
</head>
<body>
<h1>这是jsp页面中的html内容</h1>
<p>下面是一段普通的html段落:欢迎学习jsp和html的协同开发</p>
<ul>
<li>列表项1</li>
<li>列表项2</li>
</ul>
</body>
</html>
2. 访问运行
启动Tomcat后,在浏览器中访问localhost:8080/test.jsp,就能看到页面正常展示其中的html内容,这种方式下jsp引擎会把jsp中的html代码直接输出到响应中。
三、jsp包含外部html文件的运行步骤
如果html文件已经单独编写完成,不需要重复把内容写到jsp中,可以通过jsp的包含指令来运行外部html。
1. 准备外部html文件
在webapps/ROOT目录下新建一个demo.html文件,内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>外部html文件</title>
</head>
<body>
<h2>这是独立的html文件内容</h2>
<p>该文件被jsp包含后会在jsp页面中展示</p>
</body>
</html>
2. 编写包含html的jsp文件
新建include.jsp文件,使用@include指令包含外部html:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp包含html示例</title>
</head>
<body>
<p>jsp页面自身的内容</p>
<%-- 包含外部html文件 --%>
<%@ include file="demo.html" %>
<p>jsp页面包含后的后续内容</p>
</body>
</html>
3. 访问运行
访问localhost:8080/include.jsp,页面会先展示jsp自身的内容,然后展示被包含的html内容,最后展示jsp后续的内容,实现jsp运行外部html的效果。
四、jsp转发到html的运行步骤
如果需要从jsp页面跳转到html页面运行,可以通过请求转发的方式实现,这种方式html文件不需要被jsp直接包含,而是作为独立的响应页面。
1. 编写转发的jsp文件
新建forward.jsp文件,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp转发到html</title>
</head>
<body>
<%
// 转发到demo.html页面
request.getRequestDispatcher("demo.html").forward(request, response);
%>
</body>
</html>
2. 访问运行
访问localhost:8080/forward.jsp,页面会自动跳转到demo.html的内容,浏览器地址栏仍然显示forward.jsp的路径,这是服务器端转发的特性。
五、常见问题说明
- 如果访问jsp出现404错误,检查文件路径是否正确,Tomcat是否启动成功
- 如果html中的中文出现乱码,确保html文件的编码是UTF-8,同时jsp页面也设置
charset=UTF-8 - 包含外部html时,file属性填写的是相对路径,相对于当前jsp文件的位置