位置: IT常识 - 正文

Java Web中的ServletContext对象(java web中的转发和重定向)

编辑:rootadmin
Java Web中的ServletContext对象

目录

 ServletContext对象

 获取上下文初始化参数的相关方法

 创建ServletContext对象

 1)通过 GenericServlet 提供的 getServletContext() 方法

2)通过 ServletConfig 提供的 getServletContext() 方法

3)通过 HttpSession 提供的 getServletContext() 方法

4)通过 HttpServletRequest 提供的 getServletContext() 方法

上下文初始化参数

局部参数

 全局参数

 获取ServletContext的全局参数

ServletContext 属性与上下文初始化参数对比

实现数据通讯

 数据通讯的程序实例:

 在浏览器中的操作


 ServletContext对象

推荐整理分享Java Web中的ServletContext对象(java web中的转发和重定向),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java web中的web是什么意思,javaweb中servlet的作用,java web中的转发和重定向,javaweb中的servlet调用spark,java web中的转发和重定向,javaweb中的servlet怎么建,javaweb中的servlet调用spark,javaweb中的servlet调用spark,内容如对您有帮助,希望把文章链接给更多的朋友!

Java Web中的ServletContext对象(java web中的转发和重定向)

Web 应用中的所有 Servlet 共享同一个 ServletContext 对象,不同 Servlet 之间可以通过 ServletContext 对象实现数据通讯,因此 ServletContext 对象也被称为 Context 域对象。

域对象是服务器在内存上创建的存储空间,该空间用于不同动态资源(例如 Servlet、JSP)之间传递与共享数据。

 获取上下文初始化参数的相关方法StringgetInitParameter(String name)根据初始化参数名 name,返回对应的初始化参 数值。EnumerationgetInitParameterNames()返回 Web 应用所有上下文初始化参数名的枚举 集合,如果没有上下文初始化参数,则返回一个空的枚举集合。 创建ServletContext对象 1)通过 GenericServlet 提供的 getServletContext() 方法//通过 GenericServlet的getServletContext方法获取ServletContext对象ServletContext servletContext = this.getServletContext();2)通过 ServletConfig 提供的 getServletContext() 方法//通过 ServletConfig的 getServletContext方法获取ServletContext对象ServletContext servletContext = this.getServletConfig().getServletContext();//通过 Config的 getServletContext方法获取ServletContext对象ServletContext context = config.getServletContext();3)通过 HttpSession 提供的 getServletContext() 方法//通过 Session的 getServletContext方法获取ServletContext对象ServletContext context = req.getSession().getServletContext();4)通过 HttpServletRequest 提供的 getServletContext() 方法//通过 HttpServletRequest的 getServletContext方法获取ServletContext对象ServletContext servletContext = req.getServletContext();上下文初始化参数局部参数 <servlet> <init-param> <param-name>name</param-name> <param-value>Lungcen</param-value> </init-param> <init-param> <param-name>password</param-name> <param-value>110120130</param-value> </init-param> </servlet> 全局参数 <context-param> <param-name>姓名</param-name> <param-value>Lungcen</param-value> </context-param> <context-param> <param-name>年龄</param-name> <param-value>19</param-value> </context-param> 获取ServletContext的全局参数Enumeration<String> names = this.context.getInitParameterNames(); while (names.hasMoreElements()) { String s = names.nextElement(); writer.write(s + "->" + context.getInitParameter(s) + "<br/>"); }ServletContext 属性与上下文初始化参数对比不 同 点ServletContext 的属性上下文初始化参数创 建 方 式ServletContext 的属性通过调用 ServletContext 接口的 setAttribute() 方法 创建上下文初始化参数通过 web.xml 使用 元素配置可 进 行 的 操 作ServletContext 的属性可以通过 ServletContext 接口的方法进行读取、新 增、修改、移除等操作上下文初始化参数在容器启动后只能被 读取,不能进行新增、修改和移除操作生 命 周 期ServletContext 中属性的生命周期从创建开 始,到该属性被移除(remove)或者容器关 闭结束上下文初始化参数的生命周期,从容器 启动开始,到 Web 应用被卸载或容器 关闭结束作 用使用 ServletContext 中的属性可以实现 Servlet 之间的数据通讯使用上下文初始化参数无法实现数据通讯实现数据通讯

在 Servlet 中,调用 ServletContext 接口的 setAttribute() 方法可以创建一些属性,这些属性被存 放在 ServletContext 对象中。应用中所有 Servlet 都可以对这些属性进行访问和操作,通过它们可以实现应用内不同 Servlet 之间的数据通讯。

voidsetAttribute(String name, Object object)把一个 Java 对象与一个属性名绑定,并将它作为一个属 性存放到 ServletContext 中。 参数 name 为属性名,参数 object 为属性值。voidremoveAttribute(String name)从 ServletContext 中移除属性名为 name 的属性。ObjectgetAttribute(String name)根据指定的属性名 name,返回 ServletContext 中对应 的属性值。 数据通讯的程序实例:package com.zpark.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;@WebServlet(urlPatterns = "/LLL.do")public class MyServlet04 extends HttpServlet { @Override public void init() throws ServletException { getServletContext().setAttribute("count", 0); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Integer count = (Integer) getServletContext().getAttribute("count"); count++; getServletContext().setAttribute("count", count); resp.setContentType("text/html;charset=utf-8"); PrintWriter writer = resp.getWriter(); writer.write("欢迎来到界面" + count); writer.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); doGet(req, resp); }}package com.zpark.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;@WebServlet("/Lun5.do")public class MyServlet05 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter writer = resp.getWriter(); Integer count = (Integer) getServletContext().getAttribute("count"); writer.write("今天是一个好日子" + count); writer.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setCharacterEncoding("utf-8"); doGet(req, resp); }} 在浏览器中的操作

本文链接地址:https://www.jiuchutong.com/zhishi/300078.html 转载请保留说明!

上一篇:【node进阶】深入浅出前后端身份验证(下)---JWT(node实战)

下一篇:FPN细节剖析以及pytorch代码实现

  • switch可以连接蓝牙耳机吗(switch可以连接蓝牙手柄吗)

    switch可以连接蓝牙耳机吗(switch可以连接蓝牙手柄吗)

  • 红米k30pro手机壳怎么拿下来(红米k30pro手机壳怎么拆)

    红米k30pro手机壳怎么拿下来(红米k30pro手机壳怎么拆)

  • word如何统计字数(word如何统计字数且把统计结果填在字符后)

    word如何统计字数(word如何统计字数且把统计结果填在字符后)

  • 计算机外存储器有哪些(计算机外存储器的特点)

    计算机外存储器有哪些(计算机外存储器的特点)

  • 微信跳转不到拼多多(微信跳转不到拼多多怎么解决)

    微信跳转不到拼多多(微信跳转不到拼多多怎么解决)

  • 手机保密柜里的视频别人能看到吗(手机保密柜里的视频怎么不能播放)

    手机保密柜里的视频别人能看到吗(手机保密柜里的视频怎么不能播放)

  • vivov1922a是什么手机(vivov1981a是什么意思)

    vivov1922a是什么手机(vivov1981a是什么意思)

  • 抖音怎么发表自己的视频(抖音怎么发表自己唱的歌)

    抖音怎么发表自己的视频(抖音怎么发表自己唱的歌)

  • usb-c接口是什么意思(usb-c接口是干什么的)

    usb-c接口是什么意思(usb-c接口是干什么的)

  • 深圳通二维码扫码没反应(深圳通怎么扫码)

    深圳通二维码扫码没反应(深圳通怎么扫码)

  • v1816a是什么型号(v181a0是什么型号)

    v1816a是什么型号(v181a0是什么型号)

  • 微信62数据会不会封(微信62数据使用教程)

    微信62数据会不会封(微信62数据使用教程)

  • 微信下载安装了为啥不在桌面上(微信下载安装了找不到了)

    微信下载安装了为啥不在桌面上(微信下载安装了找不到了)

  • 主板南桥坏了能修理吗(主板南桥坏了能修好吗)

    主板南桥坏了能修理吗(主板南桥坏了能修好吗)

  • 8p换电池后还防水吗(苹果8换了电池还能防水吗)

    8p换电池后还防水吗(苹果8换了电池还能防水吗)

  • 抖音直播点亮花钱吗(抖音直播间点灯什么意思)

    抖音直播点亮花钱吗(抖音直播间点灯什么意思)

  • 11promax是双卡吗(11promax是双卡吗?)

    11promax是双卡吗(11promax是双卡吗?)

  • airpods盒子可以关机吗(airpods盒子可以单独充电吗)

    airpods盒子可以关机吗(airpods盒子可以单独充电吗)

  • 苹果max按哪里开机(苹果 iphonemax)

    苹果max按哪里开机(苹果 iphonemax)

  • 主板wifi有什么用(主板带wifi是什么)

    主板wifi有什么用(主板带wifi是什么)

  • iphone 11是双卡双待吗(iphone11是双卡双待怎么插卡)

    iphone 11是双卡双待吗(iphone11是双卡双待怎么插卡)

  • 苹果7p悬浮球在哪设置(苹果7p悬浮球在哪里关闭)

    苹果7p悬浮球在哪设置(苹果7p悬浮球在哪里关闭)

  • msiexec.exe是什么进程介绍

    msiexec.exe是什么进程介绍

  • uniapp退出关闭当前小程序或APP(uniapp关闭当前页面)

    uniapp退出关闭当前小程序或APP(uniapp关闭当前页面)

  • 织梦dedecms5.7无法上传图片的解决方法(织梦停止更新了吗)

    织梦dedecms5.7无法上传图片的解决方法(织梦停止更新了吗)

  • 小规模纳税人销售自建不动产
  • 外地预缴的附加税怎么算
  • 开票地址一定要写全吗
  • 企业为个人承担的个人部分社保
  • 员工事假扣工资怎么做账
  • 互联网公司成本包括哪些
  • 固定资产提折旧 账务处理
  • 普通增值税发票可以抵税吗?
  • 现金预算包括哪些内容,来源是什么
  • 销货清单和发票金额不一致
  • 小企业营业外收入明细
  • 外币应收帐款汇兑损益现流附表
  • 商业折扣如何开发票
  • 销售货物运费的增值税率
  • 印花税征税范围包括所有合同
  • 房屋使用权转让合法吗
  • 返回的工会经费如何做账最新
  • 已认证的发票在哪里查
  • 固定资产报废怎么开票
  • 公司退股清算对股东影响
  • 2019年固态硬盘价格
  • linux如何查找命令
  • 出口退税操作步骤
  • 公司利润为负数 贷款
  • bios里头没有usb功能怎办
  • 报销租房费用开发票
  • 购入固定资产的借款利息支出
  • 新车发生事故报废保险怎么赔付
  • 先开票还是先付款最新规定
  • 外商投资企业和外资企业的区别
  • Symfony2中被遗弃的getRequest()方法分析
  • 企业会计核算应当以权责发生制为基础
  • thinkphp6.0完全开发手册
  • java幂等性是什么
  • string对象放在哪里
  • 物流企业会计核算的具体内容包括
  • 企业为什么要开银行承兑汇票
  • rabbitmq如何解决消息堆积问题
  • windows11/windows10专业清理的系统工具Duplicate Cleaner5.0.13中文破解免费下载
  • 小企业会计准则适用范围
  • sql优化方式
  • mysql存储过程的作用
  • 巧妙利用谐音的广告语
  • 营改增利息收入增值税
  • 餐厅打包盒收费标准通知
  • 期末余额就是本年累计吗
  • 同一控制下企业合并
  • 年终零余额账户额度和收入相等吗
  • 主营业务成本记借方还是贷方
  • 增值税加计抵减企业所得税如何处理
  • 第三方代缴社保合法吗最新规定
  • 走逃失联企业管理办法
  • 工资薪酬所得税税率表最新
  • ca证书费用计入什么科目
  • 如何填写出售固定资产表
  • 工业企业的材料
  • sqlserver 错误6005
  • win7系统突然退化
  • 微软更新kb4474419
  • 一台OpenSuSE系统的服务器的网络配置
  • windows8触摸板设置
  • ubuntu20桌面
  • winhlp32.exe - winhlp32是什么进程
  • win8.1使用教程
  • windows10周年更新
  • 怎么优化win10系统
  • centos怎么编写c语言
  • win10mobile最新版本
  • linux命令行在哪
  • win7系统如何给文件夹加密
  • Nodejs Express4.x开发框架随手笔记
  • nodejs实战教程
  • attributes.add
  • js判断用户输入密码
  • android获取手机的基本信息
  • 用javascript
  • 移动应用界面设计形考1答案
  • python *.py
  • 百旺金赋天津客服
  • 市民服务热线有用吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设