javaweb项目中对于资源文件的读取

转载 2013年12月04日 14:00:14

分成普通java类和servlet类 两种情况考虑读取资源文件

要点说明

    1:在javaweb项目中所有src下的资源在部署后都会被弄到WEB-INF/classes/下

    2:this.getServletContext().getRealPath("/");来的得到当前web应用在硬盘上的绝对路径

    3:FileInputStream in = new FileInputStream("资源名");//如果这里用的是相对路径,那么这里是相对于服务器的虚拟机而言的。例如tomcat的/bin

    4:采用类加载方式的相对路径是classpath,可以使用../获取上一路径。

具体说明

   在servlet中

      1:当资源在src下时:

            InputStream in = this.getServletContext().getResourceAsStream(“/WEB-INF/classes/资源名”);

      2:当资源在项目根目录下的时候:InputStream in = this.getServletContext().getResourceAsStream(“/资源名”);
      3:在考虑1、2的前提下,可以通过:

            String path = this.getServletContext().getRealPath("/");//得到当前应用在服务器的绝对路径

             FileInputStream in = new FileInputStream(path+"/资源名");//此时读取的是资源的绝对路径

   在普通的java类中

       说明:其实我们可以通过传递ServletContext对象,然后读取资源如上,但是考虑到要降低对象之间的耦合性,所以不采取此种方法。

       解决方法(采用类加载器):

            1:类名.class.getClassLoader().getResourceAsStream("资源名");//放在src下,看要点说明第4点。此种方法存在一个缺点:在第二次调用方法读取资源之前若资源内容发生变化,第二次读取的内容仍然是第一次读取的内容,因为类加载器发现时同一个类,所以直接返回原来的资源。

            2:String path = 类名.class.getClassLoader().getResource("资源名").getPath();//通过URI形式

                   FileInputStream in = new FileInputStream(path); 


提示:在路径中获取资源名称:String name = path.substring(path.lastIndexOf("\\")+1);

参考建议:方立勋的javaweb视频

可以参考的相关链接:http://blog.csdn.net/origin100/article/details/5808234

相关文章推荐

文件(图片)资源上传到Javaweb项目中

上传的原理: ①获取本地的文件或图片资源(电脑中真实存在的资源) ②使用form表单将图片上传到servlet ③servlet复制到你设置的路径中(一般都复制到你的项目中) ④然后再把图片地址存储到...

JavaWeb项目读取和修改配置文件问题

JavaWeb项目区别于普通Java项目,它会在服务器中编译,编译后的文件会存在服务器下的Webapps文件夹中,因此,在项目发布后,修改.properties文件,路径成了问题。 InputS...

JavaWeb项目SSH框架的文件上传下载

  • 2017年05月18日 23:42
  • 20.56MB
  • 下载

javaweb项目JSP加载静态资源出现中文乱码

*强调内容*javaweb项目JSP加载静态资源出现中文乱码 首先介绍自己在编码方面遇到的一乱码问题:jsp页面加载时,加载中文名的静态资源,出现乱码,自然就获取不到请求资源,无法加重了,js...

阿里云的Tomcat服务器无法访问JavaWeb项目静态资源的解决办法

问题描述: 一个如下所示的个人主页JavaWeb项目: 默认首页:index.jsp 然后通过域名+项目名访问的结果显示为:...

Java读取项目内的资源文件

Java读取项目的资源文件,首先要做的就是访问到这个文件

Maven项目无法读取src/main/resources下properties资源文件

一般在Maven项目中,我们的.java文件都是保存在src/main/java包下,资源配置文件则在src/main/resources包下,具体目录如图所示: 如果我们需要读取classpat...

JSP项目从普通类中读取资源文件路径解决方案

直接进入正题: 我的解决方案: 第一步:将资源文件放在/src/file文件夹下,如下图; 第二步:发布项目在tomcat中可以看到刚才存放的资源文件,如下图 第三步在普通java文件中读取资源...

JavaWeb项目 Web.xml文件详解(标签含义)

我只是个搬运工,记录下来学习基础知识。感谢这位大神的作品。 http://blog.csdn.net/believejava/article/details/43229361...

【Java】Eclipse手动生成JavaWeb项目web.xml文件

刚刚在写个栗子Demo的时候,写到一半!!!发现又双叒叕忘记在生成项目的时候勾选自动生成web.xml,很苦恼,不过翻了翻设置神马的居然找到了!赶紧的记录下来,方便大家!...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javaweb项目中对于资源文件的读取
举报原因:
原因补充:

(最多只允许输入30个字)