"本文主要介绍了JSP页面的构成元素,包括三个主要的指令:page、include和taglib,以及JSP页面中的表达式、脚本片段、声明等基本语法。此外,还概述了JSP的九个内置对象及其四种作用域的概念。" JSP页面元素的构成主要包括三个指令和多种脚本元素,它们共同决定了JSP页面的行为和内容。首先,`page指令`用于定义JSP页面的属性,如设置页面语言、内容类型、导入包等。通常建议将page指令放在JSP页面的顶部,以便维护代码的可读性。一个页面可以有多个page指令,每个指令针对不同的属性进行设置。 `include指令`则允许我们将一个JSP页面的内容嵌入到另一个JSP页面中,这种包含是静态的,意味着在JSP编译时就已经合并。通过指定被包含组件的URL(绝对或相对),可以实现内容的复用,提高代码效率。 `taglib指令`是用来引入自定义标签库的,这样我们可以在JSP页面中使用定义好的定制行为,增强页面功能和可维护性。 JSP页面中的脚本元素包括表达式、脚本片段和声明。`表达式`如`<%=表达式%>`,用于直接输出表达式的值,但要注意,表达式不需要以分号结尾。`脚本片段`以`<%...%>`包裹,其中的Java代码会被原样翻译到生成的Servlet中,必须遵循Java语法。`声明`元素`<%!...%>`用于在页面级别定义变量、方法或静态代码块,这些内容会被翻译到Servlet的外部,属于类的范围。 此外,JSP提供了九个内置对象,它们分别是`pageContext`、`exception`、`config`、`out`、`session`、`request`、`response`、`application`,这些对象对应于Servlet生命周期中的不同阶段和上下文。`四种作用域`定义了这些对象的可见范围:`application`作用于整个Web应用程序,多个用户间共享;`session`作用于单个用户的整个会话;`request`作用于一次HTTP请求,包括转发;`page`仅限于当前JSP页面。 `out对象`是JspWriter的一个实例,主要用于输出数据。它有一个内部的缓冲区,用于临时存储数据,直到缓冲区满或者调用flush()方法时,数据才会被写入到响应流中。掌握这些基础知识对于理解和操作JSP页面至关重要。
page指令:page指令用于定义JSP页面的各种属性,无论指令出现在页面中的什么地方,它作用的都是整个JSP页面,
为了保持程序的可读性和遵循良好的编程习惯,page指令通常放在整个JSP页面的起始位置,一个页面可以有多个page指令。
<%@ page language="java" contentType="text/html,ISO-8859-1" import="java.util.*,java.sql.*,java.io.*"
include指令:用于引入其他JSP页面,如果使用include指令引入了其他JSP页面,那么JSP引擎将把这两个JSP翻译成一个Servlet,所以include指令引入通常也成为静态引入。
<%@ include file=“被包含组件的绝对URL或相对URL"%>
taglib指令:使用标签库定义显得自定义标签,在JSP页面中启用定制行为
表达式:
在JSP页面中执行的表达式 <%=表达式%>,注意表达式不以分号结束。
例如,当前时间:<%= new java.util.Date() %>
脚本片段:
在JSP页面中插入多行java代码 <% Java代码 %>,JSP引擎在翻译JSP页面时,
会将JSP脚本片段中的Java代码原封不动的放到Servlet的_jspServlet方法中,
所以,<% %>中的Java代码必须严格遵循java语法。
声明:
在JSP页面中定义变量或者方法 <%! Java代码 %>,
声明中的Java代码被翻译到_jspService方法的外面,属于类,
所以可以声明成员变量并初始化,也可以声明方法或定义方法,同时还可以声明静态代码块。
JSP 九个内置对象和四种作用域
九个内置对象:page pageContext exception config out session request response application
四种作用域:
application 作用于整个Web应用,多个用户之间共享
session 作用于整个Web应用,单个用户之间共享。
request 作用于请求,转发间请求共享。
page 作用于当前页面,当前页面可见。
out对象
缓冲区:Buffer,即内存中的一块区域用来保存临时数据
out对象:是JspWriter类的实例,是向客户端发送文本常用的对象,是通过调用pageContext对象的getOut方法返回的,
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 37
- 资源: 22
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构