ServletContext常见应用及请求转发和重定向简单理解

1、共享数据
  • 说明:尽量不要用servletcontext来共享数据,可用cookie和session来实现。
  • 思路:在一个servlet中通过上下文中的方法 void setAttribute(String var1, Object var2);将数据保存到上下文中,然后请求转发到另一个servlet中通过Object getAttribute(String var1);获取并显示。
  • 代码:
    在这里插入图片描述
    在这里插入图片描述
  • 注意:这里进行强转是因为,获取到的数据本身是Object类型,我们自己知道我们设置的数据是String类型,但是编译器不知道,所以要强转为String。
2、获取初始参数
  • 说明:很少使用,后续技术可以代替。
  • 思路:可以在xml中定义参数,然后在servlet中通过servletcontext中的String getInitParameter(String var1);方法获取到参数值。
  • 代码:
    web.xml中
    在这里插入图片描述
    servlet中
    在这里插入图片描述
3、请求转发

在这里插入图片描述

  • 请求转发:A向B借钱,B没有这么多,但是B知道C有,所以B就去向C借来,然后把钱给了A,这期间,虽然说是拿了C的钱,但是还是相当于在B那里借的,所以地址栏不会发生改变。
    在这里插入图片描述
  • 重定向:还是A向B借钱,B没有这么多,但是B知道C有,所以B告诉了A,C那里有钱,让A自己去借,然后A就去找C借钱,这个过程,相当于是A最后在C那里借到了钱,所以地址栏会发生改变。
4、读取资源文件
  • 说明:读取配置文件中的内容,由于是使用的maven创建的项目,所以涉及到一个问题,最后讨论。
  • 思路:在resources目录下创建properties文件,然后输入键值对进行测试,需要在idea打包后生成的target文件中找到(其实都被打包到了classes文件夹下),找到打包后这个配置文件的路径,然后通过文件流来读取内容。
  • 代码:
    在这里插入图片描述
InputStream ism = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
        Properties prop = new Properties();
        prop.load(ism);
        String user = prop.getProperty("username");
        String pwd = prop.getProperty("password");
        resp.getWriter().print(user+":"+pwd);```
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值