Servlet三大作用域

简介

本文介绍对于java-web开发中Servlet三大域对象的理解(request、session、application(ServletContext))。

1.request

定义

request即一个请求,只要发出一个请求就会创建一个request

作用

常用于服务器间同一请求不同页面之间的参数传递,常应用于表单的控件值传递。

方法

request.getParameter()

获取通过类似post,get等方式传入的数据,即获取Web客户端到Web服务端的数据,代表HTTP请求数据。

request.setAttribute()

将 request.getParameter() 方法获取的数据保存到request域中,即将获取的数据重新封装到一个域中。

request.getAttribute()

返回在 request.setAttribute() 封装的域中存在的数据。

2.session

定义

服务器会为每个会话创建一个session对象,所以session中的数据可供当前会话中所有servlet共享。Session 是一个接口(HttpSession),每个客户端都有自己的一个 Session 会话。

作用

常用于web开发中的登陆验证界面(当用户登录成功后浏览器分配其一个session键值对)。

获取session对象方法

 1.在Servlet中:HttpSession session = request.getSession();

 2.直接使用:<%session.serAttribute("name","admin")%>

注:session.setAttribute(); session.getAttribute();等方法原理同request。

3.application(servletContext)

定义

中文意思是应用程序,能够利用计算机操作系统的某些服务,也可以利用其它应用程序所支持的服务。所有的用户都可以取得此信息,此信息在整个服务器上被保留。Application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据。ServletContext在服务器启动时创建,在服务器关闭时销毁,一个JavaWeb应用只创建一个ServletContext对象,所有的客户端在访问服务器时都共享同一个ServletContext对象。

作用

存储数据和访问来自任何页面的变量,类似于session。不同之处在于,所有用户分享一个application。

获取session对象方法

 1.在Servlet中:ServletContext app01 = this.getServletContext();
                          app01.setAttribute("name", "kaixuan");    //设置一个值进去

                           ServletContext app02 = this.getServletContext();
                           app02.getAttribute("name");    //获取键值对 

 2.直接使用:<%session.serAttribute("name","admin")%>

总结


 生命周期
    request:只限于一次请求
    session:一次会话(多次请求)
    application:项目的加载到卸载


 作用范围
    requset:所有被请求转发的Servlet
    session:所有的Servlet
    application:所有的Servlet(换一个浏览器演示,跟session作用域区分)
 
 如何正确的选择作用域
    request:跟当前操作功能相关
    session: 跟用户信息相关

    application:跟项目全局信息相关

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值