JavaWeb——JSP语法

本文深入讲解了JSP(JavaServer Pages)技术,涵盖了JSP的基本概念、运行原理、指令标识的使用,如page、include和taglib,以及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="参数值" />

JSPJavaServer Pages)是一种服务器端的动态网页开发技术,它可以将 Java 代码嵌入 HTML 页面中,从而实现动态网页的生成。 JSP 的基本原理是将 JSP 页面翻译成 Servlet,在服务器端执行 Servlet 代码,再将执行结果返回给客户端。因此,我们在使用 JSP 开发网页时,需要先了解 Servlet 的相关知识。 JSP语法基本上就是 HTML 标签加上 Java 代码。以下是一些基本的 JSP 标签: 1. <% ... %>:嵌入 Java 代码,可以用于定义变量、写循环、判断语句等。 2. <%= ... %>:输出 Java 代码的执行结果。 3. <%-- ... --%>:注释,不会被翻译成 Servlet。 4. <jsp:include ... />:包含其他 JSP 页面HTML 页面。 5. <jsp:forward ... />:将请求转发到其他资源(JSP 页面、Servlet 或 HTML 页面)。 6. <jsp:useBean ... />:创建 JavaBean 对象。 7. <jsp:setProperty ... />:为 JavaBean 对象设置属性。 8. <jsp:getProperty ... />:取得 JavaBean 对象的属性值。 在 JSP 页面中,我们还可以使用 EL 表达式 JSTL 标签库来简化代码编写,提高开发效率。 EL(Expression Language)表达式是一种简化的表达式语言,可以用于取值、赋值、计算等操作。例如,${name} 表示取得名为 name 的变量的值。 JSTL(JavaServer Pages Standard Tag Library)是一套标签库,提供了循环、条件判断、格式化、国际化等常用功能的标签。例如,<c:forEach> 标签可以用于循环遍历集合,<c:if> 标签可以用于条件判断。 除了以上标签库,JSP 还支持自定义标签库。我们可以通过编写标签处理器来扩展 JSP 的功能。 JSP 的优点是可以将 Java 代码嵌入 HTML 页面中,使得网页的开发更加灵活方便。但是,由于 JSP 页面需要翻译成 Servlet,因此会增加服务器的负担响应时间。此外,JSP 页面中夹杂着 Java 代码,也不利于代码的维护调试。因此,在开发大型网站时,建议使用 MVC 设计模式,将业务逻辑视图分离,使得代码更加清晰易于维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值