JavaWeb——JSP语法

什么是JSP

JSP简介

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

JSP运行原理

当JSP文件被部署到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="参数值" />

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值