JSP语法

  • 什么是JSP
  • JSP简介
  • JSP运行原理
  • 使用JSP指令标识
  • 页面指令page
  • 文件包含指令include
  • 引用标签库指令taglib
  • 使用JSP脚本
  • 注释的魅力
  • 常用的JSP动作标识
  • 包含动作标识\
  • 请求转发的动作标识\
  • 子动作标识\


什么是JSP

JSP简介

JSP(Java Server Pages)是基于Java语言的动态网页技术,它以“.jsp”为拓展名。在一个jsp页面中,可以包括指令标识,HTML代码,JavaScript代码,嵌入的Java代码,注释和JSP动作标识等内容,但这些并不是一个JSP页面所必需的。

JSP运行原理

当JSP文件被部署到Web服务器中后,并不能直接回应给浏览器,它的运行需要经历四个关键阶段

如下图

javasprint 教程 javaspript_Web


当浏览器向Web应用服务器请求一个JSP页面时,Web应用服务器将其转换为一个Servlet文件(即一个.java文件),然后将这个Java文件编译成一个字节码文件(即.class文件),最后Web应用服务器加载转换后的Servlet实例,处理客户端的请求,并返回HTML格式的响应回应给客户端浏览器

使用JSP指令标识

指令标识主要用于设定整个JSP页面范围内都有效的相关信息,这些标识会被服务器解释执行,但不会产生任何内容输出到网页中。
JSP包含了page,incline和taglib3个之类标识。它们语法结构相同,定义方法如下:
<%@ 指令名 属性1="属性值1" 属性2="属性值2" ……%>

页面指令page

page指令提供了共13个属性。下面对常用的进行介绍。

属性

作用

languag

指定当前页面中使用的语言

contentType

设置JSP页面的MIME类型和字符编码

pageEncoding

设置JSP页面的编码格式

import

导入JSP页面的类包

buffer

设置out对象使用的缓冲区大小,默认大小是8KB

autoFlush

指定缓冲区已满时,自动将缓冲区中的内容输出到客户端

isErrorPage

将当前JSP页面设置成错误处理页面,用于处理另外一个JSP页面的错误

errorPage

指定当前页面出现异常时,所调用的另一个页面(即错误处理页面)

session

指定当前JSP页面是否支持session,默认为true

isELIgnored

指定是否禁用EL表达式

isThreadSafe

指定JSP页面是否是线程安全的

文件包含指令include

语法格式如下:
"<%@ inculde file="path" %> 该指令只有file一个属性,用于指定要包含文件的路径,可以是相对路径,也可以是绝对路径。

引用标签库指令taglib

用于声明一个标签的引用。语法格式如下:
"<%@ taglib prefix="tagPrefix" uri="tagURI" %> taglib:声明指令为taglib指令。
prefix:用于指定标签库的前缀。
uri:用于指定标签库文件的位置。

使用JSP脚本

代码片段的语法格式如下:
"<% Java代码或是脚本代码 %> JSP表达式的语法格式如下:
"<%= 表达式 %> 声明标识的语法格式如下:
"<%! 声明变量或方法的代码 %>由于使用声明标识的变量是全局的,所以在多个用户并发的时候会产生线程安全的问题,此种方式应用很少。

注释的魅力

注释

代码

HTML注释

<!-- 注释内容 -->

JSP隐藏注释

<%-- 注释内容 --%>

代码片段中的注释

单行 //注释内容 多行:/*注释内容*/

HTML并不是安全的注释方式,可以通过查看网页源代码的方式查看到所编写的注释内容。

常用的JSP动作标识

包含动作标识<jsp:include>

用于包含其他界面,可以是动态也可以是静态。
语法格式如下:
<jsp:include page="url" flush="false|true" /> 或:

<jsp:include page="url" flush="false|true" >
	子动作标识<jsp:param>
</jsp:include>

请求转发的动作标识<jsp:forward>

用于将当前请求转发到其他的Web资源(HTML界面,JSP界面,Servlet等).
语法格式如下:
<jsp:forward page="url" /> 或:

<jsp:forward page="url" >
 子动作标识<jsp:param>
</jsp:forward>

子动作标识<jsp:param>

可以作为其他标识的子标识,用于为其他标识传递参数。
语法格式如下:
<jsp:param name="参数名" value="参数值" />