ServletContext官方叫servlet
上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。
方式一:request.getServletContext();
方式二:this,getServletContext();
this.getServletContext().getServletInfo();
this.getServletContext().getContextPath();
创建两个Servlet测试类
测试类一
this.getServletContext().setAttribute("address","chengdu");
测试类二
String address = (String)this.getServletContex().getAttribute("address");
System.out.println(address);
开启Tomcat运行代码,需先执行测试一后在执行测试二,执行后就可以在测试二后台看到数据
配置p.properties文件
driverName=oracle.jdbc.OracleDriver url=jdbc:oracle:thin:@localhost:1521:orcl username=scott password=tiger
方式一:
1,利用InputStream getResourceAsStream(String Path)(注意这里的path应该是发布后的如/WEB-INF/classes)获得一个输入流,是相对于web应用的根目录)
2.获取Properties文件中的键值(load()和getProperty())
Properties p = new Properties(); p.load(req.getServletContext().getResourceAsStream("/file/p.properties")); String driverName = p.getProperty("driverName"); String url = p.getProperty("url"); String username = p.getProperty("username"); String password = p.getProperty("password"); System.out.println(driverName+","+url+","+username+","+password);
运行效果
方式二:
通过GetRealPath(String Path)方法可以通过获得绝对路径的方式,同输入流来读取资源(直接使用输入了是不可以的,因为其相对的路径是jbk的bin目录)
String realPath = req.getServletContext().getRealPath("/file/p.properties"); System.out.println(realPath); Properties p = new Properties(); p.load(new FileInputStream(realPath)); String driverName = p.getProperty("driverName"); String url = p.getProperty("url"); String username = p.getProperty("username"); String password = p.getProperty("password"); System.out.println(driverName+","+url+","+username+","+password);
运行效果
ServletContext对象介绍和使用到这里就结束了,希望对你有帮助!!!