zoukankan      html  css  js  c++  java
  • java-- servlet获取资源的几种方式

    public class JServlet extends HttpServlet {
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            //web-inf下的
                String path1 = getServletContext().getRealPath("/WEB-INF/demo.xml");
            //lib下的
                String path2 = getServletContext().getRealPath("/WEB-INF/lib/demo.xml");
            //src下的
                String path3 = getServletContext().getRealPath("/WEB-INF/classes/demo.xml");
            //cn.itcast.servlet.servlet_context包下的
                String path4 = getServletContext().getRealPath("/WEB-INF/classes/cn/itcast/servlet/servlet_context/demo.xml");
            
            //其实上面例子中path3 和 path4 这两种方式 有些麻烦
                //在介绍一种获得资源的方式,是对.class ==> Class 和 classLoader的应用
                InputStream is = this.getClass().getResourceAsStream("demo.xml"); // 如果不加"/"==> 相对的是类的当前(包)目录
                InputStream is2 = this.getClass().getResourceAsStream("/demo.xml");//如果加了"/" ==> "/"就代表classes目录(src)
                //在说下classLoader 下也有方法  classLoader 就是类的加载器. ==> 专门来读取class文件的输入流 
                //也提供了读取其他文件的方法.(使用classLoader不要读取较大的文件)
                // this.getClass().getClassLoader() ==> 获得类的加载器
                InputStream is3 = this.getClass().getClassLoader().getResourceAsStream("/demo.xml");// 不论加不加"/",都相对于 classes目录,跟class中加"/" 的相对路径是一样的.
                
                //使用class或classLoader 也可以获得文件的绝对路径
                URL url =    this.getClass().getResource("demo.xml");
                System.out.println(url.getPath());
                    
        }
    
    }
  • 相关阅读:
    Hadoop 2.7 伪分布式环境搭建
    Linux 安装配置 Tomcat
    Hadoop hdfs完全分布式搭建教程
    Hadoop中ssh+IP、ssh+别名免秘钥登录配置
    VMware 克隆多台Linux机器并配置IP
    Linux 安装JDK
    连表更新数据
    设置让php能够以root权限来执行exec() 或者 shell_exec()
    Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
    php7安装mongoDB扩展
  • 原文地址:https://www.cnblogs.com/mr-level/p/4770867.html
Copyright © 2011-2022 走看看