ServletContext对象的使用

ServletContext

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

共享数据

在一个Servlet中保存的数据,可以在另一个servlet中拿到

第一个Servlet

ServletContext context = this.getServletContext();
String usrname = "张三";
context.setAttribute("username",username);

第二个Servlet

ServletContext context = this.getServletContext();
String username = (String)context.getAttribute("Username");

注意:只有先访问第一个Servlet成功设置数据后,再访问第二个Servlet才能拿到数据

获取初始化参数

首先在web.xml中设置初始化参数

	<context-param>
        <param-name>url</param-name>
        <param-value>jdbc:mysql://localhost:3306/mybatis</param-value>
    </context-param>

在Servlet中获取初始化参数

        ServletContext context = this.getServletContext();
        String url = context.getInitParameter("url");

请求转发

        ServletContext context = this.getServletContext();
        RequestDispatcher requestDispatcher = context.getRequestDispatcher("/path");
        requestDispatcher.forward(req,resp);
// 或者直接 context.getRequesetDispatcher("/path").forward(req,resp);

注意:此处path为web.xml中配置的url-pattern

读取资源文件

Properties

  • 在java目录下新建propeties

  • 在resources目录下新疆properties

    在target中可以发现二者都被打包到了同一路径下:classes,这个路径就成为classpath

    InputStream is = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
            Properties prop = new Properties();
            prop.load(is);
            String username = prop.getProperty("username");
    

    路径/ + target里面的路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值