当前位置:
文档之家› Java Web开发教程第3章 JSP基础
Java Web开发教程第3章 JSP基础
application
page page page
图3.1
exception
ng.Throwable
page
注意在JSP中提供了4种属性的作用范围,分别e范围:指所设置的属性仅在当前页面内有效。 request范围:指属性仅在一次请求的范围内有效。 session范围:指的是属性仅在浏览器与服务器进 行一次会话的范围内有效,当和服务器断开连接后, 属性就会失效。 application范围:指属性在整个Web应用中都有效, 直到服务器停止后才失效。
3.2 JSP语法
3.2.1 3.2.2 3.2.3 3.2.4 JSP声明 JSP表达式 JSP注释 JSP指令
3.2.1 JSP声明
JSP在“<%!”和“%>”标记符号之间声明 变量和方法。在“<%!”和“%>”标记符之间 声明变量,即在“<%!”和“%>”之间放置Java 的变量声明语句,Java 语言允许的任何数据类 型变量的类型都可以是JSP变量,通常将这些 变量称为JSP 页面的成员变量。
内置对象名称
request response pageContext session
相对应的类
javax.servlet.ServletRequest javax.servlet.ServletResponse javax.servlet.jsp.pageContext javax.servlet.http.HttpSession
3.2.2 JSP表达式
可以在“<%=”和“%>”之间插入一个 表达式,该表达式必须能求值。表达式的 值由服务器负责计算,并将计算结果用字 符串形式返回到客户端。
3.2.3 JSP注释
JSP中的注释包括HTML注释和JSP注释两 种,HTML注释可以在客户端显示的注释,JSP 注释发送到服务器端,在客户端不能显示的注 释。 1.HTML注释以<!--开始,以-->结束,中间为 注释部分。 2.JSP注释<%--开始,以--%>结束,中间为注 释部分。
3.1.2 JSP 的运行分析
JSP的具体运行过程分为以下步骤: (1)JSP容器先将该JSP文件转换成Java Servlet源程序; (2)转换成功,JSP容器将Java文件编译成文件*.class。如果转换过 程中发现问题,则报错; (3)Servlet容器加载.class文件,创建一个该Servlet的实例,并执行 Servlet的jspInit()方法; (4)执行_jspService()方法来处理客户端的请求; (5).jsp文件修改了,则服务器将根据设置决定是否对该文件重新编 译,如果需要重新编译,则使用重新编译后的结果取代内存中常驻的Servlet, 并继续上述处理过程。 (6)由于系统资源不足等原因,JSP容器调用jspDestroy()方法将 Servlet从内存中移去。 (7)接着Servlet实例便被加入“垃圾收集”处理。 (8)当请求处理完成后,响应对象由JSP容器接收,并将HTML格式 的响应信息发送回客户端。
3.3 JSP内置对象
3.3.1 JSP内置对象概述 3.3.2 request对象 3.3.3 response对象 3.3.4 out对象 3.3.5 session对象 3.3.6 application对象
3.3.1 JSP内置对象概述
JSP 2.0规范中定义了9种内置对象,这9个内置对象都是 Servlet API接口的实例,由JSP规范对它们进行了默认初始化, 因此直接使用。这些内置对象的名称、相对应的类和作用域如 表3.1所示。
在HTML 页面文件中加入java 程序片和JSP 标签就构成了一个JSP 页面文件。一个JSP 页 面除了普通的HTML 标记符外,再使用标记符 号“<%”,“%>”加入Java 程序段。JSP 页面 文件的扩展名为jsp,文件的名字必须符合操 作系统的标识符规定,JSP 名字区分大小写。 为了明显地区分普通的HTML 标记和Java 程序 片段以及JSP 标签,可以用大写字母书写普通 的HTML标记符号。
作用域
request page session page
application
out config page
javax.servlet.ServletContext
javax.servlet.jsp.JspWriter javax.servlet.ServletConfig ng.Object
3.3.2 request对象
request对象用于获取客户端信息,JSP容器会将客户端的请求信息 封装在request对象中。在客户端发出请求时会创建request对象,在请 求结束后,会自动销毁request对象。request对象中包含的主要方法如 下。 void setAttribute(String name, Object value):将指定属性的值设置为 value。 Object getAttribute(String name):获取指定的属性值 String getParameter(String name):获取请求参数名为name的参数值。 Enumeration getParameterNames():获取所有请求参数的名字集合。 String[] getParameterValues(String name):获得name请求参数的参数 值。 void setCharacterEncoding(String encoding):设定编码格式。 request对象中提供了一系列的方法用来获取客户端的请求参数, 这些方法包括getParameter、getParameterNames、getParameterValues等, 通过使用这些方法就可以获取到是客户端请求的参数名称和参数值。
第3章 JSP基础
3.1 JSP页面 3.2 JSP语法 3.3 JSP内置对象 3.4 JSP动作标签 3.5 JavaBean的使用 3.6 Servlet的使用 3.7 本章小结
3.1 JSP页面
3.1.1 编写JSP 页面文件 3.1.2 JSP 的运行分析
3.1.1 编写JSP 页面文件
3.2.4 JSP指令
JSP指令向JSP引擎提供编译信息。JSP指令可以设置全局变 量,如声明类、要实现的方法和输出内容的类型等。通常JSP指 令在整个页面范围内有效,且并不向客户端产生任何输出。所有 的JSP指令都只在当前的页面中有效。 JSP指令包括include指令、page指令、和taglib指令等有三 类指令。 1.include指令 该指令是文件加载指令,用于在JSP文件中插入一个文件。 文件可以包含文本或代码。 2.page指令 page指令用来定义JSP页面的全局属性,会作用于整个JSP 页面。 3.taglib指令 taglib指令,其实就是定义一个标签库以及自定义标签的前 缀。