//获得相对于web应用根目录的相对路径在文件系统中的真实路径假如javawebnew发布目录为:D:\javatool\apache-tomcat-6.0.18\webapps\javawebnew\ 。
ServletContext a=this.getServletContext();
String path=a.getRealPath("/"); 返回
D:\javatool\apache-tomcat-6.0.18\webapps\javawebnew\
getRealPath(“/WEB-INF/”) 返回
D:\javatool\apache-tomcat-6.0.18\webapps\javawebnew\WEB-INF
需要注意的是传给getRealPath饭方法的参数必须以“/”开头。
Set getResourcePaths(String path)
返回某个资源目录下直接子目录和文件列表。所有返回目录和文件路径都是相对于应用根目录而言,以‘/’为前缀。所有返回目录都以‘/’为后缀
例如,一个web应用包含如下路径:
/welcome.html
/catalog/index.html
/catalog/products.html
/catalog/offers/books.html
/catalog/offers/music.html
/customer/login.jsp
/WEB-INF/web.xml
/WEB-INF/classes/com.acme.OrderServlet.class
getResourcePaths(“/”) 返回的Set集合中包括哪些目录和文件路径呢?
{"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"}
URL getResource(String path) throws MalformedURLException
参数是以‘/’为前缀的资源路径字符串,返回映射到该资源的URL对象。‘/’ 表示web应用根路径。
InputStream getResourceAsStream(String path)
参数是以‘/’为前缀的资源路径字符串,返回连接到该资源的InputStream对象。(实际上打开了getResource(String path)返回的URL对象的输入流 )
编程经验:在web应用中,虽然我们可以用FileInputStream这样的标准I/O库来访问资源文件,但是有两个缺点:
一个web应用在服务器本地文件系统中的位置可能会发生变化,不同的公司或个人可能会把它安装在不同位置上。所以使用绝对路径来访问web应用中的某个文件是不灵活的。
在某个java类中使用的相对路径是相对于工作目录的。工作目录通常是执行java命令的目录,而不是当前正在执行的类的目录。这导致在java中很难直接使用相对路径。
解决方案:
我们可以通过ClassLoader和Class的getResource和getResourceAsStream方法以相对于类路径的相对路径来获取资源(以“/web-inf/classes/”作为当前路径)。但是它们不能在类路径之外的目录下查找资源。 (如:/web-inf/下就不可以)
InputStream is = ClassLoader.getResourceAsStream(“com/servlet/database.property");
在web应用中,ServletContext的getResource和getResourceAsStream方法是通过容器来获取资源的,我们可以获得应用中任何目录和文件。
InputStream is = getServletContext().getResourceAsStream("/ch1/image/AA.jpg");
分享到:
相关推荐
新手资源,用Qt中C++读取文件。此文件只适合新手阅读。
主要介绍了Spring实战之ServletContextResource访问资源文件,结合实例形式分析了spring使用ServletContextResource读取与遍历资源文件相关操作技巧,需要的朋友可以参考下
Web开发的范围可以从开发简单的纯文本单个静态页面到复杂的基于WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):...
1.查看80端口是否被占用,一般80端口多被apache服务占用。 netstat -anp|grep 80 2.修改apache服务的端口号 ...以上所述是小编给大家介绍的linux服务器上使用nginx访问本地静态资源的方法,希望对大家有所帮助!
Unity 调用Android文件资源管理器,可以选择Android手机上的图片,视频等一些列文件,并且获得相关的文件路径。直接导入Unity即可运行。测试已经通过
SpringBoot 实现文件上传到本地目录 并返回可访问的文件地址
nginx文件资源下载
本文档是个人在android开发学校中总结的包含颜色、尺寸、style、菜单、动画等资源文件的自定义方法和访问
实现了WKWebView网络请求拦截,并下载静态资源文件,加载时优先通过本地资源文件进行加载
QT文件资源管理器终结版
7.Action访问资源文件 3 8.资源文件_各国代码 4 9.将struts.xml分开 4 10全局结果result 4 11模型驱动 4 12.创建拦截器 5 13表单提交中文乱码问题 5 14.Jsp不能识别EL 5 15.自定义标签中访问Dao 获取dao 6 16.标签...
Android中的资源访问 ...在代码中使用资源文件 在代码中访问资源文件,是通过R类中定义的资源文件类型和资源文件名称来访问的。 具体格式为: R.资源文件类型.资源文件名称 另外,除了访问用户自定义的资源文件,还可
在Android中 ,当资源文件通过内存映射对齐到4字节边 界时,访问资源文件的代码才是有效率的。 但是,如果资源本身没有进行对齐处理(未 使用zipalign工具),它就必须回到老路上 ,显式地读取它们——这个过程将会...
Android工程资源文件的访问
Android读取SMB服务器资源或者下载资源文件
WPF资源文件在DLL中的用法 把资源文件压缩到DLL中。 两种方式访问! 在主程序中调用方法!
第2讲 应用的资源访问 笔记 Android 项目目录结构 (1)res目录 ① drawable-*dpi(比如ldpi,hdpi,mdpi,xdpi)(dpi,dots per inch;或PPI,pixels per inch) ...a) 基于Java代码访问资源文件 b) 在XML配置文件
15.实现了用户在主窗体右边文件列表中的历史访问路径的前进、后退功能; 16.实现了对文件/文件夹的快速搜索功能(基于多线程)。使用时先在地址栏输入特定文件路径(或者直接进入特定文件路径),然后直接在主窗体...
CHtmlView访问文件内部资源与innerHTML演示代码例子...... 1、访问文件内部资源 void CInerHTMLView::OnRes() { // TODO: Add your command handler code here //--资源访问 CString s; s.Format("res://%s....
Nginx配置http转https以及https访问http静态资源.docx