本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用

内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。

本人互联网技术爱好者,互联网技术发烧友

微博:伊直都在0221

QQ:951226918

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.关于ServletContex

  1)Servlet引擎为每个WEB应用程序都创建一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig(关于servletConfig参考另外一篇博文)对象中,调用ServletConfig.getServletContext方法可以返回ServletContext对象的引用。

  2)由于一个WEB应用程序中的所有Servlet都共享同一个ServletContext对象,所以,ServletContext对象被称之为 application 对象(Web应用程序对象); 很重要

  3)可以实现的功能(获取当前应用的各个方面的信息)

    >获取WEB应用程序的初始化参数

    >记录日志

    >application域范围的属性

      >访问资源文件

      >获取虚拟路径所映射的本地路径

      >WEB应用程序之间的访问

2.配置ServletContext:在当前的WEB目录下的 web.xml配置,每配置一个参数,就必须重新创建一个<context-param> </context-param>节点,配置完成后,对于任何一个servlet都可以获取到ServletContex的初始化参数,二servlet的初始化参数,只有当前的servlet能获取

     <!-- 配置当前 WEB 应用的初始化参数 -->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param> <context-param>
<param-name>jdbcUrl</param-name>
<param-value>jdbc:mysql:///test</param-value>
</context-param>

3.获取ServletContext的配置信息

  1)getInitParameter(String parameterName):获取初始化driver的参数值

   2)getInitParameterNames():获取所有的parameterName值

  3)getRealPath(String path):获取当前应用的某一个文件在服务器上的绝对路径,必须在WebContent文件夹下

  4)getContexPath():获取当前应用的名称

  5)getResourceAsStream(String path) path的 / 为相对于 WEB 应用的根目录:获取当前WEB应用的某一个文件对应的输入流(很重要),在src下创建jdbc.properties

 @Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("init"); // 1.获取ServletContext对象,当前的web应用的信息
ServletContext servletContext = servletConfig.getServletContext(); // 2.获取初始化driver的参数值
String driver = servletContext.getInitParameter("driver");
System.out.println("driver :" + driver);// output -> driver
// :com.mysql.jdbc.Driver // 3.获取所有的parameterName值,输出
Enumeration<String> names = servletContext.getInitParameterNames();
while (names.hasMoreElements()) {
String name = names.nextElement();
System.out.println(name);// output -> driver jdbcUrl
} // 4.获取当前应用的某一个文件在服务器上的绝对路径,必须在WebContent文件夹下
String realPath = servletContext.getRealPath("/hello.jsp");
// output
// -> E:\java_workspase\eclipes\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\javaWEB\hello.jsp
System.out.println(realPath); // 5.获取当前应用的名称
String contextPath = servletContext.getContextPath();
System.out.println(contextPath); // output -> /javaWEB // 获取当前WEB应用的某一个文件对应的输入流
// 方式一:
try {
ClassLoader classloader = getClass().getClassLoader();
InputStream is = classloader.getResourceAsStream("jdbc.properties");
System.out.println("1." + is);
} catch (Exception e) {
e.printStackTrace();
} // 方式二:
try {
// 路径为想对于web项目在服务器中的绝对路径 ,其中/为 根 :即 开发中的 WebContent
InputStream is2 = servletContext
.getResourceAsStream("/WEB-INF/classes/jdbc.properties");
System.out.println("2." + is2);
} catch (Exception e) { e.printStackTrace();
} }

4.总结

  1)充分理解 ServletContext对象:代表的是整个WEB应用

  2)理解各个方法

最新文章

  1. scalac 学习
  2. ArcGIS api fo silverlight学习三(利用ElementLayer实现鼠标悬浮弹出自定义窗体)
  3. Linux下的网络远程安装
  4. elementoryOS / ubuntu U盘启动问题的解决
  5. java静态变量、静态方法和静态代码段
  6. jquery表单内容过滤
  7. ASP.NET MVC强制返回XML
  8. libmysqlclient.so.15: cannot open shared object file: No such file or directory
  9. 剑指OFFER之二进制中1的个数(九度OJ1513)
  10. 关于php的认识和介绍
  11. BZOJ2276: [Poi2011]Temperature
  12. samba后台进程及安全模式简介
  13. Redis 命令参考
  14. 在Linux终端下使用代理访问网络(转)
  15. Spring Boot 集成 Hystrix
  16. 初识 go 语言:语法
  17. 使用MXNet的NDArray来处理数据
  18. Confluence 6 中进行用户管理的优化配置和限制的基本建议
  19. C#--用户密码处理------混淆密码加密
  20. 2017-2018-2 20155203《网络对抗技术》Exp4 恶意代码分析

热门文章

  1. JavaScript匿名函数与托付
  2. PHP面试题及答案解析(2)—PHP面向对象
  3. mysql设置主从同步
  4. 在freemarker文件中,html标签获取后台的值
  5. Linux的驱动模块管理:modprobe
  6. Swift_1_基本数据类型
  7. Linux Apache安装加载mod_deflate模块
  8. unity视频教程
  9. ios 即时通讯 xmpp
  10. Android 一个强大的图片选择器