JSP简介
首先,JSP既不是一种编程语言,也不是一种文件格式,这是一种将静态标签(超文本标记语言HTML)和Java结合,以制作动态页面的技术。在JSP技术中,我们可以在HTML中插入Java代码。
JSP技术实现的关键在于内嵌于网络服务器的JSP引擎,服务器要根据HTTP请求需要的JSP资源,将其一步步解析为HTML资源,并返回给浏览器进行渲染展示,流程如下
- 转译
.jsp---->.java - 编译
.java-->.class - 转化
.class-->HTML 以上工作全部都由网络服务器软件完成,更详细地说,首先由服务器中的JSP引擎将客户端请求的JSP资源解析为.class文件,该文件也是Servlet类型的字节文件,最后由Servlet工具将该Servlet类型转化为HTML资源。注意上述三步中没有浏览器软件的参与,浏览器只需要渲染HTML等前端样式即可。
由此可见,Servlet技术的目的不仅仅在于处理浏览器客户端的HTTP请求,同时也实现了.jsp到.html的解析引擎功能。
What can browser do? 浏览器可以渲染以下几种但不完全只有以下几种资源类型
- HTML静态网页
- CSS 网页样式
- JavaScript脚本,B/S交互逻辑
- 图像类型,如
jpeggifpng等- 视频/音频等多媒体类型
- XML 传输和存储数据
- JSON 轻量级数据交换格式
- PDF 文档显示
- WebAssembly 二进制指令格式,提高浏览器应用运行性能
基础语法
JSP指令
<%@ page ... %>定义页面属性,如脚本语言,字符编码,EL表达式是能等等1
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ include ... %>引入其他文件<%@ taglib ... %>引入外部标签库,其中prefix属性指调用该标签库中标签时需要使用该前缀c:<...>1
<% prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>