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

  • 应交税金和应交税费有啥区别
  • 简易计税征收率是多少
  • 管理费用当月可以有余额吗
  • 房地产可抵扣的税有哪些
  • 产成品出库入库单
  • 外企当年利润能赚多少
  • 经营性文化事业单位有哪些
  • 溢价发行可转换公司债券会计分录例题
  • 公司员工的车外地的停车费怎么做分录
  • 项目经费支出都包括什么
  • 商场销售化妆品应当缴纳增值税和消费税对吗
  • 普票3点怎么算
  • 不能远程补报之前的税款所属期
  • 小规模计提季度怎么算
  • 合伙企业个人所得税计算案例
  • 受让股东对出让股东抽逃出资
  • 为什么手机连不上热点
  • 在建工程工程款优先受偿权
  • 收到一张餐饮费发票怎么入账
  • 货没到申请退款玩付邮费吗
  • php中实现文件上传的函数
  • 信号差的要死
  • php怎么自学
  • 收到某公司的钱的会计分录
  • 错账是什么
  • php实现微信公众号分享
  • windows环境下,ping的功能和使用方法
  • 夸克到底有什么用
  • 投资收益结转到哪个科目
  • 小规模纳税人工商年报网上怎么报
  • php自动编号
  • 软件研发支出计入什么科目
  • opencv项目开发实战
  • 毕业设计教程
  • 固定资产多少可以一次摊销
  • 维修费的会计分录怎么写
  • 提供劳务收入是指
  • 企业向个人借款利息如何缴纳增值税
  • c语言缺省值
  • 记账凭证摘要怎么填写
  • 工业企业辅助生产设备
  • 加计扣除减免政策
  • 其他货币资金期末有余额吗
  • 会计上需要结转的科目
  • 审计助理是干啥的
  • 个体户怎么办
  • 实收资本会计处理方法
  • 资产负债表日后期间是指
  • 房企预收款如何缴纳企业所得税
  • 如何理解递延所得税资产和负债
  • 厂房监理要点
  • 政府补贴的装修费是免税的吗
  • 承兑汇票贴现利息会计分录
  • 长期股权投资全部亏损汇算清缴怎么填
  • 工厂用的工具放计入哪个科目
  • 公司财务部门工作职责
  • 计入固定资产的条件
  • sql server常规错误
  • win8怎么运行
  • linux系统ln命令
  • tcp半连接和全连接
  • Win7系统打开文件夹没有自动排列选项
  • f11一键恢复系统详解
  • 为什么国外程序员比国内厉害
  • win10edge浏览器怎么设置兼容模式
  • 升级win10系统后鼠标键盘无法用什么原因
  • window7文件查看方式
  • shell脚本 if -e
  • ie11滚动条样式
  • vue异步加载第三方库
  • nodejs中使用HTTP分块响应和定时器示例代码
  • 批处理压缩
  • node ffi
  • python ftp文件上传
  • js 三元
  • python 包 __init__
  • 个人所得税怎么换手机号绑定
  • 软件和集成电路企业税收优惠
  • 珠宝加工费骗局
  • 沙子属于矿产资源
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设