• servlet-servletContext简述


    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");

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

     
     
  • 相关阅读:
    Linux磁盘、目录、文件操作命令
    VMware虚拟机网络环境类型
    ASCII
    关于String StringBuffer StringBuilder
    多线程并发编程
    TCP面向连接网络编程
    记一次渗透某XX站
    记一次对微信引流网站的简单渗透测试
    幕布V1.1.9最新版漏洞集合
    java代码审计文章集合
  • 原文地址:https://www.cnblogs.com/sjyzz/p/6533617.html
Copyright © 2020-2023  润新知