servletContext是servlet中的一个接口,但是更像一个容器。

servletContext的作用:

1.共享servlet数据:

通过this.getServletContext().setAttribute("名字",变量名)    /*传值进去*/

通过this.getServletContext().getAttribute("名字")  /*取值出来*/

这样能在项目中的所用servlet中共享数据。

2.servlet转发:

通过RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/1.jsp");

rd.forward(request, response);
在servlet中并不适合做输出,这时候可以通过转发用jsp输出。  
3.在配置文件中用<context-param>初始化参数,在加载web应用的时候,能自动封装到ServletContext中,在所有servlet中都可以直接取
4.读取web应用中的资源文件:

InputStream in = this.getServletContext().getResourceAsStream("/db.properties");
Properties pros = new Properties();
pros.load(in);
String url = pros.getProperty("url");

很多时候可以用来读取连接数据库信息

5.普通java程序读取web中的资源文件

如果读取资源文件的程序不是servlet的话,就只能通过类装载器去读了(类加载器(用来把Java 类动态的加载到 Java 虚拟机中。)

String path = UserDao.class.getClassLoader().getResource("test.properties").getPath();
FileInputStream in = new FileInputStream(path);
Properties dbconfig = new Properties();
dbconfig.load(in);
String url = dbconfig.getProperty("url");

类装载器只会装载一次,服务器发现里面有内存里有有装载文件就不会在装载了。
通过类加载的方式得到资源文件的位置,在通过传统方式读取资源文件的数据,这样可以读到更新后的数据。

转载于:https://www.cnblogs.com/sjyzz/p/6533617.html

servlet-servletContext简述相关推荐

  1. javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/

    今天在启动tomcat的时候,出现了这个错误 javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletC ...

  2. java 构造函数抛出异常,构造函数抛出异常;嵌套异常是java.lang.NoClassDefFoundError:javax/servlet/ServletContext...

    我正在尝试使用MockMVC设置Junit测试. 从这个link – "要么不能使用Servlet API,要么你需要在类路径上提供它". 我在pom.xml中添加了以下内容但是没 ...

  3. SpringBoot运行出现异常解决: nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletContext

    今天在使用SpringBoot创建了一个项目出现如下异常 org.springframework.beans.factory.BeanCreationException: Error creating ...

  4. 关于IDEA启动Spring Boot项目出现Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext at j

    Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext at java.lang.Class.getDeclar ...

  5. Java Servlet ServletContext

    ServletContext用来和容器(Tomcat)通信 获取方法: 1.通过request对象获取request.getServletContext(); 2.HttpServlet获取this. ...

  6. java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String

    运行springboot时出现getVirtualServerName(),方法找不到异常,在网上看了一下说是包冲突,我一开始的思路是本地依赖的jar包冲突,排查下来发现不是,网上说是servetl包 ...

  7. 什么是servlet ?简述servlet执行原理?生命周期是怎样的?

    servlet就是一个接口,定义了java类被浏览器访问到(被Tomcat识别)的规则,主要负责接收浏览器的请求,tomcat服务器调用servlet方法.步骤:创建 一个javaEE项目,定义一个类 ...

  8. 解决 java.lang.ClassNotFoundException: javax.servlet.ServletContext报错

    本文转载自: https://www.cnblogs.com/hdaydayup/p/6747804.html 作者:Hdaydayup 转载请注明该声明. 原因:tomcat找不到servlet,即 ...

  9. JaveWeb学习之Servlet(二):ServletConfig和ServletContext

    原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2018-07-26/20.html 作者:夜月归途 出处:http://www.guitu ...

  10. JavaWeb(五)——Servlet、Mapping问题、ServletContext

    文章目录 1. Servlet 简介 2. HelloServlet 3. Servlet原理 4. Mapping问题 5. ServletContext 1. Servlet 简介 Servlet ...

最新文章

  1. Python数据类型和分支循环
  2. 苹果系统里面 dictionary 如何加入中文词典
  3. 嵌入式系统中对汉字的处理
  4. eclipse创建java web项目
  5. cpu的基本硬件组成
  6. 以太坊ERC20代币合约案例
  7. redis 三种特殊数据类型
  8. SparkSQL自定义AVG强类型聚合函数与弱类型聚合函数汇总
  9. 如果被问到分布式锁,应该怎样回答?
  10. linux 开源邮件 系统,4 个开源的命令行邮件客户端
  11. ES6 - 基础学习(22): async 函数
  12. css表格强制不换行符,css控制table单元格强制换行与强制不换行
  13. (转)老男孩教育每日一题-汇总博客
  14. html ios视频播放器,iOS 视频播放器(整理)
  15. 保密协议与竞业限制协议,在劳动法上有什么相关规定吗?
  16. Unity-Live2d(表情系统,姿势动作与口型功能的实现)
  17. 《GTD I》读书笔记
  18. C# 调用NationalInstruments的dll报错问题 未能加载文件或程序集
  19. 施密特宣布离开谷歌董事会! Facebook却被联邦政府塞高管进来?
  20. 麒麟软件开始菜单消失v10-sp1

热门文章

  1. 和为s的两个数字 - 双指针
  2. 快速幂算法c语言求a的n次方,快速幂运算模板(求n^k以及前几位或后几位)
  3. windows中python虚拟环境_Windows下Python虚拟环境的配置
  4. 图的存储--邻接矩阵和邻接表(链表实现和用vector实现)
  5. OpenGL基础43:抗锯齿
  6. jquery系列教程1-选择器全解
  7. 安装自带python3.6的Anaconda3,并安装tensorflow,导入Pycharm中使用
  8. tasm报错illegal memory reference的解决办法
  9. 贺利坚老师汇编课程50笔记:call和ret配合
  10. MySQL(八)事务的隔离级别