08-【jsp重点】
jsp的四个作用域和9个内置对象
jsp内置对象【重点】:pageContext、request、session、application、response、out、page、exception、config
作用:servlet 和 jsp进行数据交互 ,四个作用域和 9 个内置对象中的 四个作用域对象
内置对象:不需要声明,直接使用的对象,就是内置对象(隐含对象)
9个内置对象:作用域对象 实现 servlet和jsp的 数据的共享,在 servlet执行转发或重定向的时候实现数据共享
四个作用域相关的内置对象:(重点的重点)
pageContext 作用范围 是一个页面,javax.servlet.jsp.PageContext 类的实例
request 作用范围 是一次请求 ,可以是多个页面,HttpServletRequest类的实例
session 作用范围 是一次会话,可以是多个请求,HttpSession
application (servletContext对应的对象) 作用范围 整个web应用 ,可以是多个会话,ServletContext类的实例
两个输出相关的对象:
response 对应 servlet中 HttpServletResponse类的实例
out 功能类似于 PrintWriter
是 JspWriter 的实例
三个打酱油的对象:
page java中的this (jsp----->servlet 类 ----servlet类中的this )
exception 对应 Exception中java.lang.Throwable类的实例
config ServletConfig类的实例
作用域范围详解:
pageContext:作用范围 是一个页面 javax.servlet.jsp.PageContext 类的实例
test_scope.jsp

当用转发跨页面时:<jsp:forward page="ok.jsp"></jsp:forward>
ok.jsp
test_scope.jsp
效果图:
request:作用范围 是一次请求 ,可以是多个页面
/* request跨页面 ,在一次请求内共享 数据 */
request.setAttribute("str", "今天天气不错");
=================================
/* 测试 request对象 取值 */
String str = (String)request.getAttribute("str");
代码【test_scope.jsp、ok.jsp】
test_scope.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'test_scope.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<!--
pageContext:作用范围 是一个页面 javax.servlet.jsp.PageContext 类的实例
request:作用范围 是一次请求 ,可以是多个页面
-->
<%
/* 测试pageContext对象 */
// 存数据
pageContext.setAttribute("name", "迪丽热巴");
// 取数据
Object uname = pageContext.getAttribute("name"); /* request跨页面 ,在一次请求内共享 数据 */
request.setAttribute("str", "今天天气不错");
%>
test_scope.jsp 输出结果:
<%=uname %>
<!-- 转发 -->
<jsp:forward page="ok.jsp"></jsp:forward>
</body>
</html>
ok.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
<%
/* 测试 pageContext对象 */
Object uname = pageContext.getAttribute("name"); /* 测试 request对象 取值 */
String str = (String)request.getAttribute("str");
%>
一次请求 ,跨页面取值<hr>
<%=uname %><br>
<%=str %>
</body>
</html>
08-【jsp重点】的更多相关文章
- [转] Jsp 重点
讲师:传智播客 方立勋 4个域对象: pageContext | page 域 request | request 域 session | session 域 servletContext | app ...
- 你也可以当面霸-Servlet与JSP的原理及特点
既然是面试系列,就是面试官和应聘者之间的对话.本文是采用一问一答的形式呈现给读者的,这样能有一个明确的考察点,不像理论知识那么枯燥. 01.什么是Servlet技术 Servlet是和平台无关的服务器 ...
- springJDBC一对多关系,以及Java递归,jsp递归的实现
maven编译,springMVC+spring+springJDBC框架. 要实现的功能是一个文件夹下,可能显示n个文件夹,每个文件夹下又可能显示n个文件夹.... 前台效果:
- jsp内置对象-session对象
一.session概述 隐含对象session是javax.servlet.http.HttpSession接口实现类的对象,用于保存用户的状态信息. 在web开发中,服务器为每个用户浏览器创建一个会 ...
- JSP行为
JSP行为标签使用XML语法结构来控制servlet引擎.它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等.行为标签只有一种语法格式,它严格 ...
- JavaBean技术
引言: JavaBeans与一般Java类的编写类似. 在JSP页面中要使用JavaBeans,只要在JSP页面中使用JavaBeans的操作标记就可以了. JavaBeans的编写和使用非常简单,下 ...
- (转)Yale CAS + .net Client 实现 SSO(6)
第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 第四部分:实现基于数据库的身份验证 第五部分:扩展基于数据库的身份验证 第六 ...
- Result
1.常用四种类型: a) dispatcher(默认) 服务器跳转(普通转发),就是forward到一个JSP或者HTML或者其他结果页面,不能是Action 视图请求地址是 ...
- SSM框架开发web项目系列(六) SpringMVC入门
前言 我们最初的javaSE部分学习后,基本算是入门了,也熟悉了Java的语法和一些常用API,然后再深入到数据库操作.WEB程序开发,渐渐会接触到JDBC.Servlet/Jsp之类的知识,期间可能 ...
- [原创]手把手教你写网络爬虫(7):URL去重
手把手教你写网络爬虫(7) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 本期我们来聊聊URL去重那些事儿.以前我们曾使用Python的字典来保存抓取过的URL,目的是将重复抓取的UR ...
随机推荐
- Apache 流框架Flink简介
1.Flink架构及特性分析 Flink是个相当早的项目,开始于2008年,但只在最近才得到注意.Flink是原生的流处理系统,提供high level的API.Flink也提供 API来像Spark ...
- MATLAB学习(三)元素访问和常用代数运算
>> A=[1,2;3,4],B=[0,2;4,5] A = 1 2 3 4 B = 0 2 4 5 >> C=A>=B C = 1 1 0 0 >> D=A ...
- 改进后的socket轮子,欢迎挑战
运行环境.net core2.1 下载地址
- 一次神奇的JVM调优
老张接个新项目,项目可是不小,好多模块.使用Intellij import new project, 结果卡在writing class中,而且mac的风扇一直转,像是要变成直升机起飞. 等啊等,in ...
- java1.7新特性:try-with-resources
转载:https://blog.csdn.net/fanxiaobin577328725/article/details/53067163 首先看代码: import org.junit.Test; ...
- Mysql——常用命令
查看版本:show variables like '%version%' 或者 select version() 是否开启binlog:show variables like 'log_bin ...
- ElasticSearch——Logstash输出到Elasticsearch配置
位置 在Logstash的.conf配置文件中的output中配置ElasticSearch 示例: output { elasticsearch{ action => "index& ...
- 在java中有关于反射的皮毛----自己的简略认知
白首为功名.旧山松竹老,阻归程.欲将心事付瑶琴.知音少,弦断有谁听? 反射(reflection): 当我们在看到这个名词首先会想到的是,我们在上高中时学的物理,那么在java开发中,反射这个名词是怎 ...
- LeetCode.1207-唯一的元素出现次数(Unique Number of Occurrences)
这是小川的第次更新,第篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第269题(顺位题号是1207).给定一个整数数组arr,当且仅当该数组中每个元素的出现次数唯一时,返回tr ...
- kubeadm安装集群系列-4.证书更新
证书更新 默认证书一年有效期 一旦证书过期,使用kubectl时会出现如下提示:`Unable to connect to the server: x509: certificate has expi ...