JSP三个指令及9个内置对象
注:本文编写方便自己以后用到时查阅
include指令:
作用: 在当前页面用于包含其他页面
语法: <%@include file="xxx.jsp"%>
注意:
1)原理是把被包含的页面(xxx.jsp)的内容翻译到包含页面中,合并成翻译成一 个java源文件,再编译运行,这种包含叫静态包含(源码包含)
2)如果使用静态包含,被包含页面中不需要出现全局的html标签了!!!(如html、head、 body 当然出现也不会报错)
page指令:
作用: 告诉tomcat服务器如何把jsp文件翻译成java文件
默认写法:<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
属性介绍:
language="java" //告诉服务器使用什么动态语言来翻译jsp文件
import="java.util.*" //告诉服务器java文件使用什么包导入包,多个包之间用逗号分割
pageEncoding="utf-8" //告诉服务器使用什么编码翻译jsp文件(成java文件)
注意:在开发工具中,以后只需要设置pageEncoding即可解决中文乱码问题,因为contentType属性会默认设置和pageEncoding一致
contentType="text/html; charset=utf-8" //服务器发送浏览器的数据类型和内容编码
errorPage="error.jsp" //配置了之后,当页面运行出错后,会跳转到对应的错误页面
isErrorPage="false" //默认为false,当设为true后,可以使用内置对象exception,否则不能使用
buffer="8kb" //out内置对象的款存大小,当超过款存后,立马向浏览器中写出内容
session="true" //是否可以使用内置对象session,默认true
isELIgnored="false" //是否忽略EL表达式,默认false
taglib指令:
作用:用于导入jstl标签库
| 内置对象 | 对应的类型 | 解释 |
| request | HttpServletRequest | |
| response | HttpServletResponse | |
| config | ServletConfig | |
| application | ServletContext | |
| session | HttpSession | |
| exception | Throwable | |
| page | Object(this) | 当前页面编译后的class |
| out | JspWriter | |
| pageContext | PageContext |
pageContext对象:
pageContext对象的类型是PageContext,叫jsp的上下文对象
1)可以获取其他八个内置对象
如:
HttpServletRequest request= pageContext.getRequest(); //等价于request内置对象
HttpServletResponse response = pageContext.getResponse(); ////等价于response内置对象
HttpSession session = pageContext.getSession(); //...
JspWriter out = pageContext.getOut(); //... ...
2)本身是一个域对象
#四个域对象
| ServletContext | context域 |
| HttpServletRequet | session域 |
| HttpSession | request域 |
| PageContext | page域 |
| 作用: 保存数据和获取数据,用于共享数据 | |
#保存数据
1)默认情况下,保存到page域
pageContext.setAttribute("name");
2)可以向四个域对象保存数据
pageContext.setAttribute("name",域范围常量)
#获取数据
1)默认情况下,从page域获取
pageContext.getAttribute("name")
2)可以从四个域中获取数据
pageContext.getAttribute("name",域范围常量)
#域范围常量:
PageContext.PAGE_SCOPE
PageContext.REQUEST_SCOPE
PageContext..SESSION_SCOPE
PageContext.APPLICATION_SCOPE
3)自动在四个域中搜索数据
pageContext.findAttribute("name"); //搜索顺序: page域 -> request域 -> session域- > context域(application域)
JSP三个指令及9个内置对象的更多相关文章
- JSP学习 三大指令、九个内置对象、JavaBean、EL表达式
1.page-->最复杂:<%@page language="java" info="xxx"...%> * pageEncoding和con ...
- JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用
Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由 ...
- JSP基本的语法、3个编译指令、7个动作指令、9个内置对象
一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...
- 二、JSP的3个编译指令,7个动作指令,9个内置对象
JSP 3个编译指令 1) page指令(基本不需要用到,使用默认即可) 主要属性: 1.Language:指定脚本所采用的语言类型,现在只支持java 2.Extends:定义当前jsp产生的se ...
- JSP(二)----指令,注释,内置对象
## JSP 1.指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 %> <%@ page con ...
- JSP EL表达式 与输入有关的内置对象
与输入有关的隐含对象有两个param和paramValues,用来取得用户的请求参数.在使用EL之前可以使用如下代码取得用户的请求参数: request.getParameter(String nam ...
- Jsp(3):内置对象和四种域对象的理解
由来:在jsp开发中,会频繁使用到一些对象 .例如HttpSession,ServletContext,ServletContext,HttpServletRequet.所以Sun公司设计Jsp时,在 ...
- JSP 脚本中的 9 个内置对象
JSP 脚本中包含了 9 个内置对象,这 9 个内置对象都是 Servlet API 接口的实例,只是 JSP 规范对它们进行了默认初始化. 这 9 个内置对象如下: 1.application:ja ...
- 详解JSP九个内置对象
[JSP]☆★之详解九个内置对象 在web开发中,为方便开发者,JSP定义了一些由JSP容器实现和管理的内置对象,这些对象可以直接被开发者使用,而不需要再对其进行实例化!本文详解,JSP2 ...
随机推荐
- 64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法
原文地址:64位Win2008_VS2012使用ODP.NET遭遇问题和解决办法 最近为使用Oracle11G数据库做个快速开发的小程序,使用64位Win2008+Vs2012环境,结果碰壁连环,幸好 ...
- js 打印网页指定内容
function doPrint() { setTimeout(function() { bdhtml=window.document.body.innerHTML; sprnstr="&l ...
- Javascript 母羊生小羊问题,递归
农场买了一只小羊,这种羊在第一年是小羊,第二年的年底会生一只小羊,第三年不生小羊,第四年的年底还会再生下一只小羊,第五年就死掉了. 要计算N年时农场里有几只羊. [凡是碰到“一生二.二生三.三生万物” ...
- JavaScript高级程序设计39.pdf
第13章 事件 JavaScript与HTML之间的交互式通过事件来实现的. 事件流 事件流描述的是从页面中接收事件的顺序,IE和Netscape提出了完全相反的事件流概念,IE是事件冒泡流,Nets ...
- kvm 对虚拟机里面插u盘
KVM虚拟机上关于宿主机的USB设备使用问题探究 KVM usb passthrough就是将宿主机的usb接口直接给虚拟机使用,usb接口上的设备也就直接可以在虚拟机上使用: 测试通过usb pas ...
- nyoj 757 期末考试【优先队列+贪心】
期末考试 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 马上就要考试了,小T有许多作业要做,而且每个老师都给出来了作业要交的期限,如果在规定的期限内没 交作业就会扣 ...
- Centos系统python2.x升级python3.x
1. Centos7初始安装的python版本为2.7.5 2.下载最新的python3.5.2,解压到/usr/local/src 3. 配置.编译.测试.安装(根据软件的README说明) ./c ...
- ROS学习笔记(九)——ROSSERVICE
NEW 1 $ roscore NEW 2 $ rosrun turtlesim turtlesim_node NEW 3 $ rosrun turtlesim turtle_teleop_key N ...
- Android开发——新特性与知识点回顾
Fragment 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容 生命周期方法跟Activity一致,可以理解把其为就是一个Activity 定义布局文件作为Fra ...
- iOS socket原理及连接过程详解
连接过程图解(度娘的拿过来用)