74.【JavaWeb -02】(六)

简介: 74.【JavaWeb -02】

4.最高级服务器关闭:数据才会消失.

pageContext.setAttribute("name1","吉士先生1");   //保存的数据只在一个页面中有效
    request.setAttribute("name2","吉士先生2");      //保存的数据只在一次请求中有效,请求转发会携带这个数据
    session.setAttribute("name3","吉士先生3");      //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name4","吉士先生4");  //保存的数据只在服务器中有效,从打开服务器到关闭服务器

验证页面和转发的局限

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--内置对象--%>
<%
    pageContext.setAttribute("name1","吉士先生1");   //保存的数据只在一个页面中有效
    request.setAttribute("name2","吉士先生2");      //保存的数据只在一次请求中有效,请求转发会携带这个数据
    session.setAttribute("name3","吉士先生3");      //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name4","吉士先生4");  //保存的数据只在服务器中有效,从打开服务器到关闭服务器
%>
<%
//通过pageContext进行获取存的信息
  String name1 = (String) pageContext.findAttribute("name1");
  String name2 = (String) pageContext.findAttribute("name2");
  String name3 = (String) pageContext.findAttribute("name3");
  String name4 = (String) pageContext.findAttribute("name4");
%>
<%--使用el表达式进行输出--%>
<h1>输出的值为</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
</body>
</html>
<%--
  Created by IntelliJ IDEA.
  User: 22612
  Date: 2022/11/12
  Time: 8:47
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
//通过pageContext进行获取存的信息
  String name1 = (String) pageContext.findAttribute("name1");
  String name2 = (String) pageContext.findAttribute("name2");
  String name3 = (String) pageContext.findAttribute("name3");
  String name4 = (String) pageContext.findAttribute("name4");
%>
<%--使用el表达式进行输出--%>
<h1>输出的值为</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
</body>
</html>

1.第一个页面

第二个页面打开,

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--内置对象--%>
<%
    pageContext.setAttribute("name1","吉士先生1");   //保存的数据只在一个页面中有效
    request.setAttribute("name2","吉士先生2");      //保存的数据只在一次请求中有效,请求转发会携带这个数据
    session.setAttribute("name3","吉士先生3");      //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name4","吉士先生4");  //保存的数据只在服务器中有效,从打开服务器到关闭服务器
%>
<%
//通过pageContext进行获取存的信息
  //从底层到高层(作用域) page-->request-->session-->application
  String name1 = (String) pageContext.findAttribute("name1");
  String name2 = (String) pageContext.findAttribute("name2");
  String name3 = (String) pageContext.findAttribute("name3");
  String name4 = (String) pageContext.findAttribute("name4");
  pageContext.forward("/pageDemo2.jsp");
%>
<%--使用el表达式进行输出--%>
<h1>输出的值为</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
</body>
</html>
<%--
  Created by IntelliJ IDEA.
  User: 22612
  Date: 2022/11/12
  Time: 8:47
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
//通过pageContext进行获取存的信息
  String name1 = (String) pageContext.findAttribute("name1");
  String name2 = (String) pageContext.findAttribute("name2");
  String name3 = (String) pageContext.findAttribute("name3");
  String name4 = (String) pageContext.findAttribute("name4");
%>
<%--使用el表达式进行输出--%>
<h1>输出的值为</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
</body>
</html>

转发:

44.JSP标签,JSTL标签,EL表达式

1.EL表达式:

1.定义:

语言是一种简单的语言,提供了在 JSP 中简化表达式的方法,目的是为了尽量减少JSP页面中的Java代码,使得JSP页面的处理 程序 编写起来更加简洁,便于开发和维护。 [2] 在JSP中访问模型对象是通过EL表达式的语法来表达。 所有EL表达式的格式都是以“$ {}”表示。

2.作用:

(1).获取数据

1. 默认从小到大的范围中找,找到第一个就返回。 
${name}
2.获取指定的位置: 切记没有pageScope
获取request作用域中的username: ${requestScope.username}
获取session作用域中的username: ${sessionScope.username}
获取application作用域中的username: ${applicationScope.username}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>EL表达式</title>
</head>
<body>
<%
    pageContext.setAttribute("username","zhangsan");
    request.setAttribute("username","lisi");
    session.setAttribute("username","wangwu");
    application.setAttribute("username","zhaoliu");
%>
  ${username}
  ${username}
</body>
</html>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>EL表达式</title>
</head>
<body>
<%
    pageContext.setAttribute("username","zhangsan");
    request.setAttribute("username","lisi");
    session.setAttribute("username","wangwu");
    application.setAttribute("username","zhaoliu");
%>
  ${requestScope.username}
  ${sessionScope.username}
  ${applicationScope.username}
</body>
</html>

3.获得集合中的值和集合的长度         array是集合的变量名.
${arry[1]}--${arry[2]}
${arry.size()}
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>EL表达式</title>
</head>
<body>
<%
    ArrayList<String> list=new ArrayList<>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    request.setAttribute("arry",list);
%>
${arry[1]}--${arry[2]}<br>
${arry.size()}
</body>
</html>

相关文章
|
1月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
307 37
|
4月前
|
存储 前端开发 JavaScript
基于JavaWeb实现停车场管理系统
基于JavaWeb实现停车场管理系统
|
4月前
|
前端开发 JavaScript Java
图书借阅管理平台|基于JavaWeb实现图书借阅系统
图书借阅管理平台|基于JavaWeb实现图书借阅系统
|
10天前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
21 2
|
17天前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
20 5
|
1月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
4月前
|
前端开发 Java 关系型数据库
JavaWeb开发简介
JavaWeb开发简介
50 0
|
27天前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
62 2
|
1月前
|
SQL JSON JavaScript
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
Vue 指令、生命周期、this和$、vue脚手架进行模块化开发/ElementUI框架、综合案例,element商品列表展示增删改查
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
|
4月前
|
SQL Java 数据库连接
JavaWeb Mapper代理开发
JavaWeb Mapper代理开发