JSP(Java Server Page)的全程是Java服务页面,是一种web动态页面技术,事实上JSP就是嵌入了Java程序段的HTML文件。JSP文件后缀名为.jsp。JSP由HTML要素(静态部分)、JSP元素(动态部分)和JSP注释组成。
JSP元素包括脚本元素、指令元素和动作元素。JSP运行时文件会被翻译成Java类文件(class),并且产生Java对象。
JSP和servlet一样时一种服务器端技术,同样运行在web服务器端。JSP定义在Java web工程中WebRoot根路径下或者其某个目录下,其访问方式和访问HTML文件一致。
JSP在运行时会动态编译成一个Servlet,其本质上就是一个Servlet,JSP是对Servlet对象的扩展,但和Servlet技术有很大不同。
Servlet和JSP在服务器端运行后均可以在客户端产生Web动态页面,但在构建Web动态页面方面JSP比Servlet具有很多优势。Servlet完全是由Java程序代码构成,擅长于流程空值和业务路基处理,通过Servlet来生成动态页面结构不清晰,页面效果不能预览,对编程者要求也高(既要求能编程,还要会美工)。JSP由HTML代码和JSP元素构成,对页面的静态内容和动态内容进行了有效分离,可以方便地编写Web动态页面。
JSP元素
脚本元素
1、声明
声明用来在JSP页面中声明变量和定义方法。
<%! %>
2、脚本
脚本是嵌入在JSP页面中Java代码段。
<% %>
3、表达式
表达式的元素在运行后会被自动转化为字符串,然后插入到这个表达式的JSP文件的位置显示。
<%= %>
结尾没有分号
%和=之间不能有空格
指令元素
指令元素不是用来进行逻辑处理或者产生输出代码的,而是通过指令中的属性配置项JSP客户端发出一些指示,从而控制JSP页面的某些特征。
三种指令:page指令、include指令和taglib指令
1、page指令
page指令用于设置JSP页面的属性,这些属性将用于和Web服务器通信,控制生成的Servlet结构。
<%@page 属性名="属性值" 属性名="属性值"%>
2、include指令
include指令元素将file属性指定页面内容静态包含到当前页面。
<%@include file="xxx.jsp"%>
3、taglib指令
声明用户在当前JSP页面使用JSTL标签或者用户自定义的标签时使用taglib指令,将标签库描述符文件导入JSP页面。
<%@taglib uri="tiglibURL" prefix="tagPrefix"%>
动作元素
1、<jsp:param>
用于指定参数以及与其对应的值,跳转或包含的页面可以用request对象来读取这些参数的值。
<jsp:param name="参数名" value="参数值" />
2、<jsp:forward>
用于实现请求的转发,转发目标组件可以是JSP文件、HTML文件或者servlet。
<jsp:forward page="URL" flush="true|false" />
flush用来指定是否使用缓冲区
3、<jsp:include>
将page属性指定页面动态包含到当前页面。
<jsp:include page="relativeURL" flush="true|false">
JSP内置对象
内置对象又称为隐含对象,内置对象在JSP页面初始化时由Web容器为用户自动创建,使用JSP进行页面编程时可以不加声明和创建,直接在Java脚本和表达式中使用这些对象。
JSP内置对象有9个。
request、response、session、application、pageContext、out、config、page、exception