JSP实用教程第二章JSP语法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

本章学习的是JSP的语法


2.1 JSP页面的基本结构

一个JSP页面可由5种元素组合而成:

(1) 普通的HTML标记和JavaScript标记。

(2) JSP标记,如指令标记、动作标记。

(3) 变量和方法的声明。

(4) Java 程序片。

(5) Java 表达式。

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>页面标题</title>
</head>
<body>
	<%-- 这是JSP注释 --%>
	<%-- 在这里可以写Java代码 --%>
	<h1>页面内容</h1>
</body>
</html>

2.2 声明变量和定义方法

在<%!和%>标记符号之间声明变量,定义方法以及定义类

<%!  声明变量或定义方法  %> 

2.2.1声明变量

  <%!和%>之间声明的变量在整个JSP页面内都有效,与标记符在JSP页面中所在的书写位置无关,但习惯上把<%!、%> 标记符写在JSP页面的前面。

对于在“<%!”和“%>”标记符号之间定义方法,可以在Java程序片中调用该方法。方法内声明的变量只在该方法内有效,当方法被调用时,方法内声明的变量被分配内存,方法被调用完毕即可释放这些变量所占的内存。  对于在“<%!”和“%>”标记符号之间定义类,可以在Java程序片中使用该类创建对象。

2.3    Java 程序片

可以在<%和%>之间插入Java 程序片。

一个JSP页面可以有许多程序片,这些程序片将被Tomcat服务器按顺序执行。 在程序片中声明的变量称作JSP页面的局部变量。局部变量的有效范围与其声明的位置有关,即局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。

当多个用户请求一个JSP页面时,Tomcat服务器为每个用户启动一个线程,该线程负责执行字节码文件响应用户的请求。Tomcat服务器使用多线程来处理程序片.

HTML中的标记
<%
    java程序片
%>
HTML中的标记
<%
    java程序片
%>

2.4 Java表达式

可以在<%=%>之间插入一个可求值的表达式(注意:不可插入语句, <%=是一个完整的符号,“<%”和“=”之间不要有空格)。

Java表达式可以写在<HTML>之前,也可以写在<HTML>和</HTML>之间或</HTML>之后。

<%=X+Y%>

2.5JSP中的注释

HTML注释:

在标记符号“<!--”和“-->”之间加入注释内容:

<!--    注释内容     -->

JSP注释:

在标记符号“<%--”和“--%>”之间加入注释内容:

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

2.6JSP指令标记

2.6.1page指令标记

page 指令用来定义整个JSP页面的一些属性和这些属性的值。

<%@ page   属性1="属性1的值"  %>
<%@ page   属性2="属性2的值"  %>
… …
<%@ page   属性n="属性n的值"  %>

也可以用一个page指令指定多个属性的值,如:

<%@ page   属性1="属性1的值"  属性2= "属性2的值"  ……%>

page 指令标记可以指定属性: contentType、import、language、session、buffer、auotFlush 、isThreadSafe、pageEncoding 、inform的值

2.6.1.1contentType属性

属性值的一般形式是: "MIME类型"

 <%@ page contentType="text/html " %>

page指令只能为contentType指定一个值,不允许两次使用page指令给contentType属性指定不同的属性值。

2.6.1.2pageEncoding 属性

只能为pageEncoding指定一个值,不允许两次使用page指令给pageEncoding属性指定不同的或相同的属性值。

例如:

<%@ page pageEncoding = "utf-8" %> 那么保存JSP页面应当将“编码”选择为“utf-8”

2.6.1.3language属性

language属性定义JSP页面使用的脚本语言,该属性的值目前只能取"java"。

为language属性指定值的格式是:

<%@ page  language="java" %>

language属性的默认值是"java",即如果在JSP页面中没有使用page指令指定该属性的值的,那么,JSP页面默认有如下的page指令:

<%@ page  language="java" %>

2.6.1.4import 属性

该属性的作用是为JSP页面引入Java运行环境提供的包中的类。

<%@ page  import="java.io.*", "java.time.LocalDate" %>
<%@ page  import="java.util.*" %>
<%@ page  import="java.io.*"  %>

2.6.1.5session属性

session 属性用于设置是否需要使用内置的session对象。session的属性值可以是true或false。session属性默认的属性值是true。

2.6.1.6buffer属性

内置输出流对象out负责将服务器的某些信息或运行结果发送到用户端显示。buffer属性用来指定out设置的缓冲区的大小或不使用缓冲区。

<%@ page buffer= "24kb" %>

2.6.1.7autoFlush属性

autoFlush可以取值true或false。autoFlush属性的默认值是true。

2.6.1.8isThreadSafe 属性

isThreadSafe的属性值可取true或false。

2.6.1.9info 属性

info属性的属性值是一个字符串,其目的是为JSP页面准备一个常用但可能要经常修改的字符串。

<%@ page info= "we are students" %>

2.6.2 include 指令标记

如果需要在JSP页面内某处整体嵌入一个文件,就可以考虑使用include指令标记,其语法格式如下:

<%@ include file= "文件的URL " %>

2.7jsp动作标记

2.7.1include动作标记

include 动作标记语法格式为:

<jsp:include page= "文件的URL" />
或
<jsp:include page= "文件的URL" >
   param子标记
</jsp:include>

2.7.2param动作标记

param标记以“名字—值”对的形式为其他标记提供附加信息。

<jsp:param  name= "参数"  value= " 参数的值" />

2.7.3 forward 动作标记

<jsp:forward page="要转向的页面" />
或
<jsp:forward page="要转向的页面" >
   param子标记
</jsp:forward>

指令的作用是:从该指令处停止当前页面的执行,而转向执行page属性指定的JSP页面。需要注意的是,当前页面使用forward动作标记转向后,尽管用户看到了转向后的页面的效果,但浏览器地址栏中显示的仍然是转向前的JSP页面的URL地址,因此,如果刷新浏览器的显示,将再次执行当前浏览器地址栏中显示的JSP页面。


 

总结

本章学习的jsp语法在后续的写程序代码中起到重要作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值