JSP

注意: srcmain 下除了放java文件夹和resources文件夹, 不建议放其他文件夹.

其他文件夹建议放在web/statics下, 包括img, css, js, plugins等等

9大内置对象

  • PageContext (存东西)
  • Request (存东西)
  • Response
  • Session (存东西)
  • Application (ServletContext) (用来存东西)
  • config (ServletConfig)
  • out
  • page (基本不用了解)
  • exception

pageContextDemo01.jsp

<%--Created by IntelliJ IDEA.User: asusDate: 2020/6/9Time: 23:20To 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.setAttribute("name1", "num1"); //保存的数据只在一个页面中有效request.setAttribute("name2", "num2"); //保存的数据只在一次请求中有效, 请求转发会携带这个数据session.setAttribute("name3", "num3"); //保存的数据只在一次会话中有效, 从打开浏览器到关闭浏览器有效application.setAttribute("name4", "num4"); //保存的数据只在服务器中有效, 从打开服务器到关闭服务器有效%>
<%--脚本片段中的代码, 会被原封不动生成到JSP.java
要求: 这里面的代码, 必须保证Java语法的正确性--%><%
//    从pageContext取出, 我们通过寻找的方式来
//    从底层到高层(作用域)String name1 = (String)pageContext.getAttribute("name1");String name2 = (String)pageContext.getAttribute("name2");String name3 = (String)pageContext.getAttribute("name3");String name4 = (String)pageContext.getAttribute("name4");String name5 = (String)pageContext.getAttribute("name5"); //不存在//  pageContext.forward("pageDemo02.jsp");
//  加入上述语句后pageDemo02.jsp运行结果将多出num2一行.%><%--使用EL表达式输出--%><h1>取出的值为:</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3>${name5}</h3>
<h3><%=name5%>></h3>
</body>
</html>

最终的显示结果:

num1

num2

num3

num4

null

pageDemo02.jsp

<%--Created by IntelliJ IDEA.User: asusDate: 2020/6/9Time: 23:56To 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.getAttribute("name1");String name2 = (String)pageContext.getAttribute("name2");String name3 = (String)pageContext.getAttribute("name3");String name4 = (String)pageContext.getAttribute("name4");String name5 = (String)pageContext.getAttribute("name5"); //不存在%><%--使用EL表达式输出--%><h1>取出的值为:</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3><%=name5%>></h3>
</body>
</html>

最终的显示结果:

num3

num4

null

寻找过程:

Page->Request->Session->Application->null

JVM: 双亲委派机制类似

request: 客户端向服务器发送请求, 产生的数据, 用户看完就没用了, 比如: 新闻, 用户看完没用的

session: 客户端向服务器发送请求, 产生的数据, 用户用完一会儿还有用, 比如: 购物车;

application: 客户端向服务器发送请求, 产生的数据, 一个用户用完了, 其他用户还可能使用, 比如: 聊天数据;

jsp九大内置对象和四大作用域_JSP学习3相关推荐

  1. JSP九大内置对象和四大作用域和Servlet的三大作用域对象

    一.JSP九大内置对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用 内置对象特点: 由JSP规范提供,不用编写者实例化. 通过Web容器实现和管理 所有 ...

  2. 小汤学编程之JavaEE学习day03——JSP组成结构、JSP原理、JSP生命周期、JSP九大内置对象、四大作用域、JSP的MVC模式

    一.JSP组成结构 二.JSP的原理 1.JSP的运行原理     2.分析JSP所生成的Servlet代码     3.JSP的执行过程 三.JSP生命周期 四.JSP九大内置对象 五.JSP四大作 ...

  3. JSP九大内置对象,四大作用域

    JSP九大内置对象 内置对象是在java脚本不需要创建,就可以直接使用的对象. ①request:代表请求 (用得多) HttpServletRequest对象.就是servlet里面的request ...

  4. jsp 九大内置对象 和 四大作用域的区别

    JSP中一共有九个内置的对象,分别是:request.response.session.application.out.pagecontext.config.page.exception 1.requ ...

  5. easyui不同的jsp页面之间混乱_16.jsp九大内置对象,四大作用域

    更多内容来源:http://mp.weixin.qq.com/mp/homepage?__biz=MzA5OTQ1ODE1NQ==&hid=6&sn=843337a7d99318392 ...

  6. JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)

    JSP的基本构成:HTML文件+Java片断+JSP标签 三大指令:page指令.include指令.taglib指令. page指令: 1.language属性:设置当前页面中编写JSP脚本使用的语 ...

  7. html四大作用域,JSP的三六九四(三大指令、六大标签、九大内置对象、四大作用域)...

    JSP的基本构成:HTML文件+Java片断+JSP标签 三大指令:page指令.include指令.taglib指令. page指令: 1.language属性:设置当前页面中编写JSP脚本使用的语 ...

  8. jsp的九大内置对象和四大作用域

    看到网上一些Jsp内置对象介绍的都不是很全,今天我把各位大神的整理了一下. JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用. 一.reque ...

  9. JSP中九大内置对象与四大作用域

    四大作用域: 1.servletcontext域(application域) 作用的范围是:整个web应用程序. 数据产生之后,不仅等会还要用 ,还要给别人用,则使用servletcontext. 作 ...

最新文章

  1. 我们单位里新来的应届毕业生(转贴)
  2. codevs 2612 最有分解方案 (贪心)
  3. Python入门100题 | 第036题
  4. SpringBoot整合RabbitMQ 实现五种消息模型
  5. 64位服务器IIS不能识别32位framework版本。IIS没有Asp.net切换界面的解决办法。
  6. 独家:Havok 发布新的 AI 中间件
  7. 2.6 Word2Vec
  8. bzoj 1005: [HNOI2008]明明的烦恼(prufer数列)
  9. 产品设计体会(8007)产品经理的主要职责
  10. 切换Pycharm的Python版本
  11. 了解华为HCIP认证
  12. tensorflow 77 tensorflow android版本demo win10 下 编译
  13. 时间管理表 - 《周计划表》
  14. python中的计数函数_Python Numpy统计函数
  15. 电脑怎么设置计算机系统,细说电脑怎么设置wifi
  16. java开源魂斗罗源代码_C++魂斗罗源代码
  17. 数据库(mysql)之事务和存储引擎
  18. 如何在word中使用latex输入下括号?
  19. 企业为何都用电子招投标 现代电子招投标系统介绍
  20. oracle goldengate 数据库复制配置手册

热门文章

  1. JSP中include指令的乱码问题
  2. unique函数_走进C++11(三十四)unique_ptr
  3. Nginx配置服务器静态文件支持跨域访问
  4. PHP利用反射根据类名反向寻找类所在文件
  5. codeforces 960A Check the string
  6. [译] 这可能是 2018 年最好的一篇 PHP 性能测评(包含 5.6 到 7.2,以及 HHVM)
  7. Ubuntu 14.04 hadoop单机安装
  8. CSS hack浏览器兼容一览表
  9. 在线即时通讯工具的网页即时聊天的html代码
  10. 局域网内同时使用两台路由器的配置方法