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

  • 企业注册资金需要拿钱出来吗
  • 个体工商户所得税核定征收2023
  • 合伙企业可以列入股东吗
  • 职工教育经费税法
  • 打官司失败了要赔偿原告诉讼费吗?
  • 外购商品计入
  • 差旅费应交税费会计科目
  • 企业所得税季报资产总额怎么填
  • 固定资产出售怎么做账
  • 核销坏账的会计处理分录
  • 进项和销项的会计分录
  • 企业资产转移是什么意思
  • 企业所得税税率2.5% 5% 25%
  • 增值税发票过期未抵扣怎么办
  • 对外投资收益要交税吗
  • 事业单位收到奖励款怎么入账
  • 鸿蒙系统公测版和beta版有什么区别
  • 公司租用员工的车租车协议
  • 苹果14出来13会下架吗
  • php上传文件夹
  • 电脑桌面小工具软件
  • 汇票本票支票的相同点和不同点
  • 医院装修设计费一般多少钱一平方
  • 职工住院的护理费标准
  • php操作步骤
  • idea前端快捷键
  • 会计准则 职工福利
  • phpwhile循环多维数组
  • framework for
  • php返回数据给ajax
  • 自动驾驶决策规划技术理论与实践电子版
  • html游戏大全
  • java如何解析json字符串
  • 静态html怎么部署到服务器
  • 销售货款无法收到怎么办
  • vnc viewer连接windows
  • In Java, how do I read/convert an InputStream to a String? Stack Overflow
  • 营业外支出贷方在利润表怎么体现
  • 织梦生成出现500
  • 增值税普票如何开具红字发票
  • 餐饮服务税率是服务类税率还是货物类
  • 印花税申报怎么填
  • mongotemplate 分页查询
  • 公司车辆缴纳车船税
  • 企业收到赠送商品会计分录
  • 个体户与公司的差别
  • 固定资产溢余账务处理
  • 去年应收账款下账错误怎么调整
  • 收到委托加工物资发票
  • 增值税稽查补交税会计处理
  • 结账时怎样根据日期填写
  • win7双系统安装教程
  • centos叫什么
  • 卡巴斯基 试用
  • centos6.5设置网络
  • 移动u盘的作用
  • win10快速切换到桌面快捷键
  • ubuntu虚拟机怎么改用户名
  • linux如何列出所有用户
  • ubuntu14.04升级
  • linux咋用
  • win10系统怎么管理开机启动项
  • 戴尔dell optiplex 3050MT 安装固态硬盘
  • win8查看内存
  • mac电脑卡死按哪三个键
  • lowleverfatal error怎么解决
  • win8怎么进去安全系统
  • 在linux系统中,用来存放系统所需要的配置文件
  • win7系统的excel在哪里
  • js是函数式编程语言吗
  • 安卓域名重定向
  • unity射击游戏完整案例
  • bootstrap 按钮
  • python3整除
  • jquery的选择器都有哪些
  • 湖北生育登记网上服务大厅官网查询
  • 开采砂石
  • 出口退税需要哪些
  • 分支机构如何变更为独立纳税人?
  • 浙江网上税务局申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设