【网页设计】第四周 JavaSript
第四周 JSP
一 JSP概述
含义:
Java Server Pages, 广泛使用的服务器端脚本语言之一;(运行在服务器端 BS结构)
由服务器端的JSP引擎执行JSP代码,然后将结果以HTML页面形式发送到客户端。
JSP页面:使用JSP编写的程序文件(扩展名为.jsp)。
JSP页面主要由传统的HTML代码和嵌入到其中的Java代码组成。 (动态生成页面内容)
在一个JSP页面中,可以包括:HTML代码、CSS代码、JavaScript代码、嵌入的Java代码、指令标识、动作标识、注释等内容。
二 JSP运行原理
1. Web浏览器发送来一个页面请求 ---> 判断是否为JSP页面请求 (页面是HTML页面请求:直接将请求的页面代码传回Web浏览器)
---> 请求的是JSP页面 (JSP引擎检查是否为第一次请求)
---> ① 第一次请求:JSP引擎就将此JSP页面代码转换为Servlet代码(.java),然后对其进行编译生成字节码(.class)文件并执行
---> ②不是第一次请求且没有被修改过:JSP引擎调用JVM执行已经编译生成过的字节码文件(而不会重复编译)
----> 并将执行结果传给Web浏览器进行显示
三 脚本标识
分类:
(1)JSP表达式 :
语法格式:<%= 表达式 %>
表达式:可以是Java语言的任何表达式,其最终结果将被转换为字符串予以输出
(2)
① 声明标识 (生命周期是从创建开始到服务器关闭结束)
含义:用于在JSP页面中定义全局的变量或方法(可被整个JSP页面访问)
语法格式: <%! 声明变量或方法的代码 %>
<%! int num = 0; //全局变量 int check(){ //全局方法 num++; return num; } %>
② 代码片段(生命周期是从创建开始到页面被关闭,关闭后就会被销毁)
含义:JSP页面中的嵌入Java代码或脚本代码(在页面请求的处理期间被执行)。
通过Java代码可以定义变量或流程控制语句等;
通过脚本代码可以应用JSP内置对象在页面上输出内容、处理请求和响应、访问session等。
语法格式:
<% Java代码或脚本代码 %>
(3)脚本程序
四 page指令
1. 含义:指定整个JSP页面的相关属性
2. 语法格式:<%@ page 属性名1="属性值1" 属性名2="属性值2" ... %>
3. 常用属性:
(1)language属性
用于指定JSP页面使用的语言,目前仅支持Java语言。
例如:
<%@ page language="java"%>
(2)import属性
用来指定JSP页面需要导入的类包(供页面中嵌入的Java代码使用或调用)。
例如:
<%@ page import="java.util.Date" %>
(3)session属性
指定JSP页面是否使用HTTP的session(会话)对象。默认值为true。
例如:
<%@ page session="false"%>
(4)pageEncoding属性
指定JSP页面编码格式,即文件编码(字符集)。为支持中文,通常将该属性设置为GBK或UTF-8。
例如:
<%@ page pageEncoding="utf-8"%>
(5)contentType属性
指定JSP页面的MIME类型和字符编码,客户端浏览器会根据该属性显示网页内容。
例如:
<%@ page contentType = "text/html; charset=utf-8"%>
......
五 包含指令
1.含义:将其他文件包含到当前JSP页面中。
2. 分类 :
静态包含:
使用include指令(文件包含指令) 将其他文件包含到当前JSP页面中
语法格式:
<%@ include file="path"%>
动态包含:
1. 含义:使用包含文件标识 <jsp:include> 将其他的文件包含到当前JSP页面中。
2. 语法格式:
<jsp:include page=“url” flush=“false|true“ / > 或 <jsp:include page="url" flush="false|true">
子动作标识: <jsp:param> </jsp:include>
参数说明:
page属性:用于指定被包含文件的相对路径。
flush属性:设置是否刷新缓冲区。默认值为false。
子动作标识<jsp:param>:用来向被包含的动态页面中传递参数。
静态包含与动态包含的区别:
1. 前者被包含文件和包含文件中的变量(或方法)名称不能相重
2. 前者通过file属性指定被包含文件,而且file属性不支持任何表达式;后者通过page属性指定被包含文件,而且page属性支持JSP表达式
六 跳转指令
① 含义:JSP的请求转发标识<jsp:forward> ,用于将请求转发到其他的Web资源,之后当前页面不再执行,而是去执行该标识指定的目标页面,并由目标页面向浏览器返回结果。
② 语法格式:
<jsp:forward page="url"/> 或
<jsp:forward page="url">
子动作标识<jsp:param>
</jsp:forward >
(2)动作标识<jsp:param>
① 含义:可以作为其他标识的子标识,用于向其他标识传递参数。
② 语法格式: <jsp:param name= "参数名" value="参数值" / >
参数说明:
name: 用于指定参数名称;
value : 用于设置对应的参数值。
参数以 “参数名 = 参数值” 形式加入到转发的请求中。
七 JSP注释
(1)显示注释:客户端查看源代码时可见
<!-- <%= new Date() %> -->
(2)隐式注释:客户端不可见
<%-- 注释内容 --%>
(HTML中的注释只有一种:显示注释 <!-- 注释内容 --> )