`
TechBirds
  • 浏览: 82100 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

分成普通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

分享到:
评论

相关推荐

    Java资源 假期JavaWeb练习小项目(有源码哦)

    假期JavaWeb学习项目 版本介绍 IDEA 2021.2 JDK 11 Tomcat 9.0.56 项目结构 src 下为 JavaBean \ servlet 和 mysql 文件,web 下为网页文件( jsp / css ... ) 主要项目存在于 Test 文件下 index 页面为主页面,...

    JavaWeb项目中springmvc和tomcat对静态文件的处理

    主要介绍了JavaWeb项目中springmvc和tomcat对静态文件的处理 的相关资料,需要的朋友可以参考下

    JAVA上百实例源码以及开源项目源代码

    Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...

    Java web使用pdf.js在线预览远程服务器上的pdf文件

    Java web使用pdf.js在线预览远程服务器上的pdf文件,包里有pdf.js资源文件以及使用文档

    【JavaWeb】tomcat服务器访问硬盘中的文件(图片示例)

    1.找到tomcat的安装路径打开server.xml文件 打开conf文件夹,再用记事本打开conf里面的server.xml文件 注意斜杠与反斜杠 docBase=” “里面的值是想访问的路径。直接去属性里面复制粘贴即可 path 里填写路径最后的...

    JDiy开发框架与javaWeb建站平台v1.0

    JDiy包含各类常用的工具类,无论是javaSE开发环境,还是javaWeb/javaEE开发环境,您都可以使用这些工具类进行诸如文件系统操作(文件或文件夹的移动、复制、删除等)、图片打水印、缩放、发送邮件、URL地址资源请求...

    JavaWeb Servlet中Filter过滤器的详解

    JavaWeb Servlet中Filter过滤器的详解 1.简述  Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制、过滤敏感词汇、压缩响应信息)。Filter能够对Servlet容器的请求和响应进行检查...

    JDiy框架与javaWeb建站**台 v1.11.rar

    JDiy包含各类常用的工具类,无论是javaSE开发环境,还是 javaWeb/javaEE开发环境,您都可以使用这些工具类进行诸如文件系统操作(文件或文件夹的移动、复制、删除等)、图片打水印、缩放、发送邮件、URL地址资源请求...

    Java Web应用开发:Web原理.ppt

    Web应用运作示意图 静态HTML页面的请求过程 当用户请求访问http://.../hello.htm,web服务器会读取本地文件系统中的hello.htm文件中的数据,把它作为响应的正文发送给用户的浏览器。 除了HTML文件本身,在页面中...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    6.6.2 读取数组中的数据 6.7 疑难解惑 6.7.1 JSTL的优点 6.7.2 JSTL和EL的关系 6.8 精彩回顾 第7章 动态网站之灵魂 ——数据库应用开发 7.1 本章学习任务 7.1.1 本章知识体系. 7.1.2 实例开发任务 7.2 My SQL数据库...

    java web技术开发大全(最全最新)

    2.2.3 JavaWeb程序的配置文件 2.3 MVC模式与MvC框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 ...

    基于Dubbo实现的SOA分布式(没有实现分布式事务)-SpringBoot整合各种组件的JavaWeb脚手架+源代码+文档

    1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合...

    java web 国际化

    java web 开发速学宝典第八章 李宁著 。实现国际化功能最直接的方法就是为每一个...为了解决这个问题,现在普遍的做法是将需要国际化的资源信息保存在资源文件中,并根据本地信息来读取相应资源文件中的国际化信息。

    java web开发技术大全

    2.2.3 JavaWeb程序的配置文件 2.3 MVC模式与MvC框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    13.4.3、读取资源文件 13.4.4、数字格式化标签 13.4.5、日期时间格式化标签 13.4.6、设置时区 13.5、SQL标签库 13.5.1、 13.5.2、数据库操作标签 13.5.3、事务处理 13.6、XML标签库 13.6.1、XPath简介 ...

    基于MVC模式的简单购物车实验,JavaWeb作业。Servelet Mysql JSP .zip

    嵌入式系统:在资源有限的环境中,作为轻量级数据库解决方案。 总之,MySQL凭借其开源、跨平台、高性能、灵活扩展、丰富功能集和庞大社区支持等特点,成为现代数据管理领域中不可或缺的一部分,适用于各种行业和...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    13.4.3、读取资源文件 13.4.4、数字格式化标签 13.4.5、日期时间格式化标签 13.4.6、设置时区 13.5、SQL标签库 13.5.1、 13.5.2、数据库操作标签 13.5.3、事务处理 13.6、XML标签库 13.6.1、XPath简介 ...

    javaweb(jsp)-课程设计-图书购物网站,基于JSP(MVC模式)和MySQL的网上图书购物系统.zip

    嵌入式系统:在资源有限的环境中,作为轻量级数据库解决方案。 总之,MySQL凭借其开源、跨平台、高性能、灵活扩展、丰富功能集和庞大社区支持等特点,成为现代数据管理领域中不可或缺的一部分,适用于各种行业和...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    13.4.3、读取资源文件 13.4.4、数字格式化标签 13.4.5、日期时间格式化标签 13.4.6、设置时区 13.5、SQL标签库 13.5.1、 13.5.2、数据库操作标签 13.5.3、事务处理 13.6、XML标签库 13.6.1、XPath简介 ...

Global site tag (gtag.js) - Google Analytics