介绍Servlet—ServletContext的使用

ServletContext

web容器在启动的时候,会为每个web程序创建一个对应的ServletContext对象,它代表了当前的web应用。

web容器:web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器

ServletContext的特性:

  • 一 共享数据
    A在Servlet中保存的数据,而B可以在Servlet中拿到A保存的数据。
    如图所示:
    它们每个Servlet都有独立的URL,它们的数据都存放在ServletContext中,所以无论是A存储的数据,还是B存储的数据,它们都可以相互使用。
    在这里插入图片描述
    案例演示:
    1.首先创建一个ServletA,在ServletA中创建getServletContext()对象
    在这里插入图片描述
    2.其次创建一个数据,将数据存入ServletContext()中
    在这里插入图片描述
    3.然后再创建一个ServletB,通过ServletB将ServletA存储的数据取出来
    在这里插入图片描述
    4.写完后台之后还要去编写Servlet对应的映射
    在这里插入图片描述
    5.启动项目
    启动项目之后,会跳入默认的index.jsp这个页面中
    在这里插入图片描述
    之后输入对应的地址,地址A是将数据存入ServletContext()中,而地址B是去获取地址A的数据的,如果先去访问地址B,就会访问到一个空值(NUll)
    在这里插入图片描述
    所以要先访问A,将数据存入之后在调用B去获取A的数据
    在这里插入图片描述
    在这里插入图片描述
  • 二 ServletContext获取web应用初始化参数
    1.使用ServletContext中的getInitParameter()方法,输入要获取到的数据名称,最后显示在前端页面上
    在这里插入图片描述
    2.配置Servlet对应的映射,以及配置web应用初始化参数

在这里插入图片描述
3.配置完成后启动,输入相应的URL就能看到效果
在这里插入图片描述

  • 三 使用ServletContext实现请求转发

1.使用getRequestDispatcher()转发到指定的URL,然后用forward实现请求转发
在这里插入图片描述

2.配置Servlet对应的映射
在这里插入图片描述
3.启动项目:输入对应的URL,发现demo2打印的缺是demo1的内容,这就是所谓的请求转发
如图所示:
A想要获取C的数据,但是A拿不到,只能通过B,让B去获取C的数据,B拿到C的数据后再给到A
这样的操作,A就只是面临了B,而没有于C相遇。所以deom2拿到了demo1的数据但是路径(URL)却没有发生改变。
在这里插入图片描述
在这里插入图片描述

  • 四 读取资源文件

1.读取资源文件需要用到Properties,再resources下新建一个Properties文件
在这里插入图片描述
2.创建一个新的Servlet,使用getResourceAsStream() 将获取到的资源转换为一个文件流,再将文件流加载到Properties里面,获取到文件流中的属性,最后打印到前端进行展示
在这里插入图片描述
3.配置Servlet对应的映射
在这里插入图片描述
4.启动项目
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值