servlet三大作用域:request,session,application

javaweb开发中Servlet三大域对象的应用(request、session、application(ServletContext))。 1. request request是表示一个请求,只要发出一个请求就会创建一个request,它的作用域:仅在当前请求中有效。 用处:常用于服务器间同一请求不同页面之间的参数传递,常应用于表单的控件值传递。 方法:request.setAttribute(); request.getAttribute(); request.removeAttribute(); request.getParameter(). 2. session 服务器会为每个会话创建一个session对象,所以session中的数据可供当前会话中所有servlet共享。 会话:用户打开浏览器会话开始,直到关闭浏览器会话才会结束。一次会话期间只会创建一个session对象。      用处:常用于web开发中的登陆验证界面(当用户登录成功后浏览器分配其一个session键值对)。 方法:session.setAttribute(); session.getAttribute(); session.removeAttribute(); 获得session对象方法:     在Servlet中:HttpSession session = request.getSession();     由于session属于jsp九大内置对象之一,当然可以直接使用。例如:<%session.serAttribute("name","admin")%>。   session被销毁           1)session超时;           2)客户端关闭后,再也访问不到和该客户端对应的session了,它会在超时之后被销毁;           3)调用session. invalidate(); 备注: session是服务器端对象,保存在服务器端。并且服务器可以将创建session后产生的sessionid通过一个cookie返回给客户端,以便下次验证。(session底层依赖于cookie) 3. Application(ServletContext) 作用范围:所有的用户都可以取得此信息,此信息在整个服务器上被保留。Application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据。ServletContext在服务器启动时创建,在服务器关闭时销毁,一个JavaWeb应用只创建一个ServletContext对象,所有的客户端在访问服务器时都共享同一个ServletContext对象;ServletContext对象一般用于在多个客户端间共享数据时使用; 获取Application对象方法(Servlet中):                      ServletContext app01 = this.getServletContext();                    app01.setAttribute("name", "kaixuan");    //设置一个值进去                     ServletContext app02 = this.getServletContext();                      app02.getAttribute("name");    //获取键值对   ServletContext同属于JSP九大内置对象之一,故可以直接使用 备注:服务器只会创建一个ServletContext 对象,所以app01就是app02,通过app01设置的值当然可以通过app02获取。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

RMI原理及实现

1 简介 RMI是远程方法调用的简称,像其名称暗示的那样,它能够帮助我们查找并执行远程对象的方法。通俗地说,远程调用就象将一个class放在A机器上,然后在B机...

1948
来自专栏Ken的杂谈

【问题解决】MySQL修改字符编码解决中文乱码问题

901
来自专栏Java3y

Servlet第四篇【request对象常用方法、应用】

什么是HttpServletRequest HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所...

4425
来自专栏FreeBuf

Weevely命令传输分析

前言 Weevely是一款使用python编写的webshell工具,集webshell生成和连接于一身,可以算作是linux下的一款菜刀替代工具(限于php)...

2739
来自专栏爱撒谎的男孩

用户管理模块之个人信息修改

1.4K3
来自专栏python学习之旅

Python网络爬虫笔记(一):网页抓取方式和LXML示例

(一)   三种网页抓取方法 1、    正则表达式: 模块使用C语言编写,速度快,但是很脆弱,可能网页更新后就不能用了。 2、    Beautiful So...

5204
来自专栏人工智能LeadAI

用Python使用C语言程序(Windows平台)

前言 在机器学习中,很多时候我们需要Python和C的混合编程,最重要的原因是为了性能效率的提升: 解释型语言一般比编译型语言慢,一般提高性能的有效做法是,先做...

5894
来自专栏Linux驱动

第3阶段——内核启动分析之prepare_namespace()如何挂载根文件系统和mtd分区介绍(6)

内核启动并初始化后,最终目的是像Windows一样能启动应用程序,在windows中每个应用程序都存在C盘、D盘等,而linux中每个应用程序是存放在根文件系统...

5288
来自专栏zingpLiu

Python 【web框架】之Flask

flask 是Python实现的轻量级web框架。没有表单,orm等,但扩展性很好。很多Python web开发者十分喜欢。本篇介绍flask的简单使用及其扩展...

1422
来自专栏desperate633

Python爬虫之requests库入门requests库的get方法理解requests库的异常爬去网页通用的代码框架resquests库主要方法的解析

网络爬虫就是提取网页的信息。 网络爬虫的原则就是谨记“the website is API”,就是我们所面对的对象和信息来源都是各个website。现在pyt...

1633

扫码关注云+社区

领取腾讯云代金券