DRP-Web开发的四个范围

最近再看DRP,王勇讲到关于web开发的四个范围,查阅资料,加上自己的感受和大家分享一下,对比从前学过的ASP.NET视频也是有相似之处!

一.简单介绍:

page(jsp有效)  request(一次请求) session(一次会话)application(当前web应用)page域指的是pageContext.; request域指的是requestHttpServletRequest;session 域指的是 sessionHTTPSession;application 域指的是 applicationServletContext

之所以他们是域对象,原因就是他们都内置了map集合,都有setAttribute getAttribute方法。他们都有自己固定的生命周期和作用域。这四个对象的生命周期(生命周期就是值对象的创建到销毁的期间):

四个域对象的声明周期:

page:jsp页面被执行,生命周期开始,jsp页面执行完毕,声明周期结束。

request:用户发送一个请求,开始,服务器返回响应,请求结束,生命周期结束。

session:用户打开浏览器访问,创建session(开始),session超时或被声明失效,该对象生命周期结束。

application:web应用加载的时候创建。Web应用被移除或服务器关闭,对象销毁。[结束]。

 二.注意:

Page只在当前jsp有效,每次请求分别对应不同的request;Request只在当前请求有效,每次请求分别对应不同的request域;Session只在一次会话中有效,会话结束就无法取到数据了;四个域对象在选择的时候,能用范围小的绝不用范围大的:page:数据只是暂时存在集合,在jsp页面的其他地方要用,用page(页面中自定义的map)。

Request:数据只是做显示的,看完了就没用了。就存request域,请求转发,Servlet产生的处理结果(数据)交给jsp显示,数据转发可以带数据。

Session:数据给用户看完了,一定还要用,会话结束了就没用了。

用户登录,用户信息发给客户端看,看完了,一会访问别的页面还要看用户信息。

购物车,购物车成功了,给用户看购物车,待会随时间可以查看购物车。

请求重定向,因为是两次请求,每一次请求的数据,第二次请求还要看。

application:数据给一个用户用完了,别人还要用。

聊天室,聊天记录,需要给所有的用户看。

统计网站在线人数,所有看到的应该是一个数。

三.总结:

四个域对象在选择的时候,能用范围小的绝不用范围大的。需要定义Map时不如用page,请求Servlet,转发给jsp的数据存request,请求重定向带过去的数据存Session,全局的数据存application.DRP视频是我见过最详细而且王勇老师的认真程度深深的感染了自己。

时间: 2024-11-07 22:30:56

DRP-Web开发的四个范围的相关文章

【读书笔记】PHP和MySQL WEB开发 第四版

php的主要竞争对手是perl,microsoft asp.net, ruby(on rails或其他), javaserver pages,coldfusion php优点 高性能 速度快 具有 shared-nothing架构,可以有效并廉价地对大量服务器进行水平方向拓展 集成针对许多数据库的内置链接 提供许多完成web任务的内置函数 免费,类c语言,易学习 支持面向对象 良好的可移植性 开发方法灵活 开源,文档丰富 mysql优点 高性能 低成本 易学习 易配置 可移植 开源 技术支持好

java web开发入门四(spring)基于intellig idea

spring 1.spring简介 Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架. 且可以和其他框架一起使用:Spring与Struts,  Spring与hibernate (起到整合(粘合)作用的一个框架) Spring提供了一站式解决方案: 1) Spring Core  spring的核心功能: IOC容器, 解决对象创建及依赖关系 2) Spring Web  Spring对web模块的支持. -à 可以与struts整合,让struts的action创建交给spr

第十七章:Python の Web开发基础(四) MVC与Django

本課主題 MVC 介绍 Django 介紹 MVC 介绍 controllers 处理用户请求 views 放置HTML模版 models 操作数据库 MVC框架就是目录的归类 MVC 是一种软件开发的方法,它把代码的定义和数据访问的方法(模型)与请求逻辑 (控制器)还有用户接口(视图)分开来 Django 介紹 Django开发的一般流程包括模型设计.URL设计.视图编码.模板设计,搭建Django应用的一种典型流程是:先设计好模型,然后就尽快把admin 运行起来,以便你的员工.客户可以尽快

如鹏网 静态Web开发 第四章:JSDom

本章主干知识点: 1.<a onclick="f1()"/> document.getElementById("btn1").onclick=function(){} 2.setInterval.setTimeout 3.事件冒泡以及如何阻止事件冒泡: 4.如何动态创建元素和动态添加元素: 5.innerText和innerHTML区别 6.案例:动态加载数据到table中: ---------------------------------------

移动web开发(四)——X-UA-Compatible

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame. Chrome Frame:Chrome Frame可以让旧版IE浏览器使用Chrome的WebKit渲染引擎处理网页,因此旧版IE用户可以体验到包括HTML5在内的众多现代网页技术. 参考: 1.X-UA-Compatible.

JFinal Web开发学习(四)数据库连接与自动生成model

1.新建数据库jfinal_test,user表 /* Navicat MySQL Data Transfer Source Server : . Source Server Version : 50547 Source Host : localhost:3306 Source Database : jfinal_test Target Server Type : MYSQL Target Server Version : 50547 File Encoding : 65001 Date: 20

跟阿根一起学Java Web开发四:邮件发送与短信发送的实现

邮件发送与短信发送常见于用户注册认证以及系统消息提示功能模块,但实现代码过于繁琐:使用JSPGen后,深感其对邮件发送.短信发送的封装让复杂活变得简单很多. 一.基础配置 1.jspgen-config.xml 在框架基础配置文件中,找到mail节点及sms节点,按如下配置: <!-- 邮件服务 --> <mail status="true"> <smtp> <!-- 发送类型(SMTP MX) --> <type>SMTP&

web开发四个作用域

web开发一共有四个作用域,范围从高到低分为appliaction作用域(全局作用域),session作用域,request作用域和page作用域.${base}是el表达式语法,它会自动先从page作用域开始查找,如果没有再找request作用域,然后是session,最后再是application作用域.如果你需要制定哪个作用域中的base变量,可以这样写:${requestScope.base}取得request作用域中的base变量:希望对你有帮助.

高性能WEB开发:重排与重绘

DOM编程可能最耗时的地方,重排和重绘. 1.什么是重排和重绘 浏览器下载完页面中的所有组件--HTML标记.JavaScript.CSS.图片之后会解析生成两个内部数据结构--DOM树和渲染树. DOM树表示页面结构,渲染树表示DOM节点如何显示.DOM树中的每一个需要显示的节点在渲染树种至少存在一个对应的节点(隐藏的DOM元素disply值为none 在渲染树中没有对应的节点).渲染树中的节点被称为"帧"或"盒",符合CSS模型的定义,理解页面元素为一个具有填充