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

  • 淘宝联盟频道推广是什么(淘宝联盟频道推荐怎么关)

    淘宝联盟频道推广是什么(淘宝联盟频道推荐怎么关)

  • qq怎么展示友谊的小船(qq怎样展示好友互动标识)

    qq怎么展示友谊的小船(qq怎样展示好友互动标识)

  • 中国移动一号双卡怎么办理(中国移动一号双终端业务什么时候恢复)

    中国移动一号双卡怎么办理(中国移动一号双终端业务什么时候恢复)

  • 钉钉直播自动对焦在哪里关(钉钉直播自动对焦)

    钉钉直播自动对焦在哪里关(钉钉直播自动对焦)

  • 荣耀20有红外遥控功能吗(荣耀20有红外遥控吗)

    荣耀20有红外遥控功能吗(荣耀20有红外遥控吗)

  • 华为p40系列有几款呢(华为p40系列有几款手机)

    华为p40系列有几款呢(华为p40系列有几款手机)

  • 苹果8p屏幕刷新率(苹果8p屏幕刷新率多少hz)

    苹果8p屏幕刷新率(苹果8p屏幕刷新率多少hz)

  • vivo陀螺仪反应迟钝怎么解决(vivoz1陀螺仪迟钝)

    vivo陀螺仪反应迟钝怎么解决(vivoz1陀螺仪迟钝)

  • 小米平板密码忘了怎么办(小米平板密码忘了怎么办最简单的方法)

    小米平板密码忘了怎么办(小米平板密码忘了怎么办最简单的方法)

  • 斗鱼牌子怎么获得(斗鱼牌子怎么搞)

    斗鱼牌子怎么获得(斗鱼牌子怎么搞)

  • 微信聊天记录腾讯服务器保存多久(微信聊天记录腾讯可以恢复吗)

    微信聊天记录腾讯服务器保存多久(微信聊天记录腾讯可以恢复吗)

  • mate30反向充电支持什么手机(mate30反向充电能给什么手机充)

    mate30反向充电支持什么手机(mate30反向充电能给什么手机充)

  • 主机由哪两个部分组成(主机有哪两部分)

    主机由哪两个部分组成(主机有哪两部分)

  • 蓝牙共享网络是什么意思(蓝牙共享网络是什么)

    蓝牙共享网络是什么意思(蓝牙共享网络是什么)

  • 小米耳机保修多久(小米耳机在保修期内坏了怎么处理)

    小米耳机保修多久(小米耳机在保修期内坏了怎么处理)

  • 华为荣耀v30怎么分屏(华为荣耀v30怎么恢复出厂设置)

    华为荣耀v30怎么分屏(华为荣耀v30怎么恢复出厂设置)

  • 响6声自动挂断是拉黑吗(响几下自动挂断)

    响6声自动挂断是拉黑吗(响几下自动挂断)

  • qq视频可以录屏吗(qq视频可以录屏吗手机)

    qq视频可以录屏吗(qq视频可以录屏吗手机)

  • 华为p30怎么给苹果x充电(华为p30怎么给苹果13传照片)

    华为p30怎么给苹果x充电(华为p30怎么给苹果13传照片)

  • iphone怎样清理后台(苹果手机怎么清理后存)

    iphone怎样清理后台(苹果手机怎么清理后存)

  • 手机热点会传播病毒吗(手机热点传播病毒)

    手机热点会传播病毒吗(手机热点传播病毒)

  • 手机开飞行模式能收到短信吗(手机开飞行模式还有辐射吗)

    手机开飞行模式能收到短信吗(手机开飞行模式还有辐射吗)

  • 不属于结构化程序设计方法的是?(不属于结构化程序设计的循环结构)

    不属于结构化程序设计方法的是?(不属于结构化程序设计的循环结构)

  • 华为p20文件管理在哪里(华为p20文件管理中的图片怎样移动到相册里)

    华为p20文件管理在哪里(华为p20文件管理中的图片怎样移动到相册里)

  • 复制粘贴如何提高效率(复制粘贴如何提取文字)

    复制粘贴如何提高效率(复制粘贴如何提取文字)

  • inux创建一个文件夹方法(linux创建一个文件并写入内容)

    inux创建一个文件夹方法(linux创建一个文件并写入内容)

  • 怎么算一般纳税人
  • 在建工程人员工资计入产品成本吗
  • 进项税大于销项税需要交附加税吗
  • 如何查询开出的全电发票
  • 律师事务所的账务流程
  • 纳税总额是否包含增值税进项
  • 跨境电子商务出来能干嘛
  • 零食发票能抵税吗
  • 会员卡收费怎么办理
  • 已认证的红字发票怎么退
  • 应收账款贷方余额怎么处理
  • 船期延迟出口开票开在了上个月会计处理是怎样的?
  • 建筑劳务公司收到劳务费会计分录
  • 成本费用包括哪些包括外购材料吗
  • 小规模附加税减免政策2023
  • 电子汇票如何使用
  • 多计提教育费附加怎么调整
  • 支票存根没有进账怎么办
  • 收到股利的现金会计分录
  • 开票的增值税与附加税
  • 青岛酒店式公寓出租
  • 前端获取post请求返回数据
  • php bcsub
  • php1 zybdjx
  • 月末季末年末会计都需要做什么
  • 贷款减值是什么会计科目
  • vue程序运行过程
  • 什么情况下增长率是0
  • 定期定额纳税申报
  • 业务招待费个税账务处理办法
  • reactjs路由跳转
  • 自然人税收系统换电脑怎么同步数据
  • 购车的进项税怎么抵扣
  • 盘亏结转
  • 大模型时代的自然语言处理
  • linux rdp客户端
  • 报销用别的发票抵用怎么入账
  • 增值税进项税加计抵减
  • 企业购进商品支付货款时,实际发生现金折扣,应计入
  • 如何修改mysql
  • 股东可以领取工资吗
  • 公司向个人借款合法吗
  • 企业福利费账务处理
  • 增值税少企业所得税高吗
  • 超过两年记入错误的主营业务成本怎么调账?
  • 内部往来划账通知单
  • 个人所得税财产转让所得税率
  • 固定资产是否可调剂
  • 零余额帐户如何转出
  • 培训费发票可以抵扣吗
  • 律师的行业
  • 技术服务费计入主营业务成本
  • 新公司期初余额怎么算
  • 核定征收方式的小型微利企业可以享受
  • 广告制作费属于现代服务吗
  • 填制凭证出现的问题
  • mysql死锁的情况
  • Linux安装MySQL教程(二进制分发版)
  • centos7 syslog
  • WINDOWS操作系统内置的GUEST
  • win7共享在哪
  • ubuntu 12.04使用QQ截图安装教程
  • mac如何用u盘安装win10
  • 怎么操作win10系统
  • ubuntu虚拟机怎么用
  • linux系统中的用户分为哪几类
  • microsoft/微软
  • msg是啥
  • 跑跑跑游戏
  • samsung s3 gt-19300 开发 键盘回车事件
  • unity g
  • glGenTextures(GLsizei n, GLuint *textures)函数说明
  • js中...用法
  • express的中间件
  • unity通过脚本控制骨骼节点让模型动起来
  • android开源app
  • 基层税务局长工作职责
  • 增值税预缴税款退税申请怎么写
  • 退休军人免门票吗
  • 如何计算售价多少可以赚去自己心仪的钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设