位置: 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代码实现

  • 儿童新冠疫苗接种记录在哪里查询(儿童新冠疫苗接种2022年新规)

    儿童新冠疫苗接种记录在哪里查询(儿童新冠疫苗接种2022年新规)

  • 苹果6s可以升级ios14吗(苹果6s可以升级ios15吗)

    苹果6s可以升级ios14吗(苹果6s可以升级ios15吗)

  • 抖音为什么关注不了(抖音为什么关注不了对方,显示对方设置隐私)

    抖音为什么关注不了(抖音为什么关注不了对方,显示对方设置隐私)

  • git是用什么语言开发的

    git是用什么语言开发的

  • 微信登录不了(微信登录不了怎么办?手机号也无法登录)

    微信登录不了(微信登录不了怎么办?手机号也无法登录)

  • 苹果两个卡槽有区别吗(苹果两个卡槽有一个没信号)

    苹果两个卡槽有区别吗(苹果两个卡槽有一个没信号)

  • 一加8和一加8pro怎么选(一加8和一加8pro哪个值得买)

    一加8和一加8pro怎么选(一加8和一加8pro哪个值得买)

  • 微信群主暂时无法编辑群公告(微信群主为什么没有权限)

    微信群主暂时无法编辑群公告(微信群主为什么没有权限)

  • 声卡的特效别人听不见(声卡的特效声音是固定的吗)

    声卡的特效别人听不见(声卡的特效声音是固定的吗)

  • 文件管理的压缩包可以删除吗(文件管理的压缩包是干什么用的)

    文件管理的压缩包可以删除吗(文件管理的压缩包是干什么用的)

  • 拼多多上评价了为什么不显示呢(拼多多做评价)

    拼多多上评价了为什么不显示呢(拼多多做评价)

  • cad偏移命令无法偏移(cad偏移命令无法使用)

    cad偏移命令无法偏移(cad偏移命令无法使用)

  • qq收藏的视频怎么打不开了(qq收藏的视频怎么播放)

    qq收藏的视频怎么打不开了(qq收藏的视频怎么播放)

  • 主板点亮一下就灭了是哪的问题(主板一点亮就熄灭)

    主板点亮一下就灭了是哪的问题(主板一点亮就熄灭)

  • 微信被投诉多少次永久封号(微信投诉处理能把钱要回来吗)

    微信被投诉多少次永久封号(微信投诉处理能把钱要回来吗)

  • 蓝牙配对不成功是什么原因(车载蓝牙配对不成功)

    蓝牙配对不成功是什么原因(车载蓝牙配对不成功)

  • 小米电池bn34是啥型号(小米电池bm34)

    小米电池bn34是啥型号(小米电池bm34)

  • 新买的ipad用不用贴膜(新买的ipad不会用)

    新买的ipad用不用贴膜(新买的ipad不会用)

  • 黄钻如何设计qq空间(qq黄钻怎么自定义空间封面)

    黄钻如何设计qq空间(qq黄钻怎么自定义空间封面)

  • 在快手买的东西怎么查(在快手买的东西怎么退款?)

    在快手买的东西怎么查(在快手买的东西怎么退款?)

  • 手机卡暂停服务怎么办(手机卡暂停服务怎么解除)

    手机卡暂停服务怎么办(手机卡暂停服务怎么解除)

  • 苹果铃声怎么设置自己的歌(苹果铃声怎么设置库乐队)

    苹果铃声怎么设置自己的歌(苹果铃声怎么设置库乐队)

  • maral00是华为什么型号(mar aloo华为什么型号)

    maral00是华为什么型号(mar aloo华为什么型号)

  • 小米手机怎样导出照片(小米手机怎样导出照片到电脑)

    小米手机怎样导出照片(小米手机怎样导出照片到电脑)

  • 闲鱼卖家设置自动回复(闲鱼卖家设置自提但是卖家发快递了有问题吗)

    闲鱼卖家设置自动回复(闲鱼卖家设置自提但是卖家发快递了有问题吗)

  • 微博id是微博名吗(微博id是微博昵称)

    微博id是微博名吗(微博id是微博昵称)

  • 三方视频怎么操作(三方视频是什么)

    三方视频怎么操作(三方视频是什么)

  • (全网最详细!!)npm:无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称(全网最详细的破解卡密软件教程[2021首发])

    (全网最详细!!)npm:无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称(全网最详细的破解卡密软件教程[2021首发])

  • vue3+ts项目里如何使用状态管理pinia以及数据持久化(vue ts)

    vue3+ts项目里如何使用状态管理pinia以及数据持久化(vue ts)

  • 微软 New Bing AI 申请与使用保姆级教程(免魔法)(微软 new bing 广告收入)

    微软 New Bing AI 申请与使用保姆级教程(免魔法)(微软 new bing 广告收入)

  • 小规模税控盘抵扣增值税报表怎么填
  • 遗失增值税专用发票如何处理办法
  • 增值税附加税是几个点
  • 小规模纳税人企业购进货物和接受应税劳务时
  • 以前年度多计管账怎么做
  • 法人能把公司账户的钱都转走么
  • 增值税附加计入什么科目
  • 债权投资借贷方向是什么一年内的
  • 没有收入的小规模纳税人可以无票入费用吗?
  • 银行承兑汇票背书可以拆分
  • 购销合同赔偿比例一般多少
  • 母公司收取服务费请示
  • 如何查一张发票有没有作废
  • 国外公司进口能退税吗
  • 一般纳税人小型微利企业印花税
  • 小规模纳税人购进商品的会计分录
  • 同一地级行政区指什么
  • 新25项工资薪金是什么
  • 股份支付的成本费用怎样才能在税前扣除?
  • 房地产土地增值税筹划
  • 完工产品定额直接材料费用
  • 卖给客户
  • 事业单位固定资产处置流程
  • 委托贷款合同效力
  • 劳务市场零工临时工
  • 什么情况财务费用是负数
  • win10 21h1激活密钥
  • php经典教程
  • windows7如何格式化恢复出厂设置
  • 事业单位收到拨入的工资怎么做账
  • PHP:ftp_nb_get()的用法_FTP函数
  • php数组依次排列
  • php7.0新特性
  • php js
  • 【AutoGPT】你自己运行,我先睡了—— ChatGPT过时了吗?
  • 微信收款要求绑定银行卡怎么办
  • 微信公众号开发php源码
  • 美团收购联联
  • 库存现金借方发生额怎么计算
  • 织梦如何使用
  • 帝国cms如何做网站
  • 公司购进设备会计分录
  • sqlalchemy mongodb
  • 汇算清缴补缴税款会计分录
  • 年底存货反映了什么
  • 经营费用属于什么类科目
  • 应收账款计提坏账影响利润吗
  • 出租周转材料的租金会计科目
  • 出纳去银行取钱需要带什么
  • 物业公司预收的物业费怎么做账
  • 补交以前年度环保税
  • 先付款后开发票的会计分录?
  • 固定资产处置的会计科目
  • 政府补贴是否交增值税
  • mysql里面的事务
  • 怎么判断win7还是win10
  • office技术预览版和增强版
  • Ubuntu修复安装
  • linux如何修改gid
  • linux 命令大全
  • 联想win8一键还原系统操作步骤
  • xp系统1
  • ubuntu 上不了网
  • Retina MacBook和10.10.3支持更快的NVMe SSD接口
  • win8怎么禁用更新
  • noads.exe - noads是什么进程 有什么用
  • onekey.exe是什么
  • 怎么看win7
  • Linux服务器架设指南百度网盘
  • 写出linux相关命令及用法
  • 利用python进行
  • java.基础
  • js过滤特殊字符
  • jquery中on
  • 增值税0申报操作流程
  • 地税全国联网了吗
  • 日常生活中有哪些税
  • 车船税新标准计算办法
  • 补缴往年土地使用税怎么做分录
  • 房地产增值税怎么算举例说明
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设