添加<%@page isELIgnored="false" %>
表示根路径EL:${pageContext.request.contextPath}
java文件获得根路径:
request.getSession().getServletContext().getRealPath( "/")//获得项目的根路径
JSP中获得当前应用的相对路径和绝对路径
out.println(request.getContextPath());//获得根路径
out.println(request.getContextPath()+request.getServletPath());//当前路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath
(request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
(ServletContext对象获得几种方式:
Javax.servlet.http.HttpSession.getServletContext()
Javax.servlet.jsp.PageContext.getServletContext()
Javax.servlet.ServletConfig.getServletContext()
)
Java 的Class中获得相对路径,绝对路径的方法
单独的Java类中获得绝对路径
根据Java.io.File的Doc文挡,可知:
默认情况下new File("/")代表的目录为:System.getProperty("user.dir")。
一下程序获得执行类的当前路径
package org.cheng.file;
import Java.io.File;
public class FileTest {
public static void main(String[] args) throws Exception {
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
System.out.println(FileTest.class.getClassLoader().getResource(""));
System.out.println(ClassLoader.getSystemResource(""));
System.out.println(FileTest.class.getResource(""));
System.out.println(FileTest.class.getResource("/")); //Class文件所在路径
System.out.println(new File("/").getAbsolutePath());
System.out.println(System.getProperty("user.dir"));
}
}
服务器中的Java类获得当前路径(来自网络)
(1).Weblogic
WebApplication的系统文件根目录是你的weblogic安装所在根目录。
例如:如果你的weblogic安装在c:\bea\weblogic700.....
那么,你的文件根路径就是c:\.
所以,有两种方式能够让你访问你的服务器端的文件:
a.使用绝对路径:
比如将你的参数文件放在c:\yourconfig\yourconf.properties,
直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相对路径:
相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放
在yourwebapp\yourconfig\yourconf.properties,
这样使用:
new FileInputStream("./yourconfig/yourconf.properties");
这两种方式均可,自己选择。
(2).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(3).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET
的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下
(4).如何读相对路径哪?
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web
发布根路径下WEB-INF/classes
默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
5.读取文件时的相对路径,避免硬编码和绝对路径的使用。(来自网络)
5.1 采用Spring的DI机制获得文件,避免硬编码。
参考下面的连接内容:
http://www.Javajia.Net/viewtopic.Php?p=90213&
5.2 配置文件的读取
参考下面的连接内容:
http://dev.csdn.Net/develop/article/39/39681.shtm
5.3 通过虚拟路径或相对路径读取一个Xml文件,避免硬编码
参考下面的连接内容:
http://club.gamvan.com/club/clubPage.jsp?iPage=1&tID=10708&ccID=8
6.Java中文件的常用操作(复制,移动,删除,创建等)(来自网络)
常用 Java File 操作类
http://www.easydone.cn/014/200604022353065155.htm
Java文件操作大全(JSP中)
http://www.pconline.com.cn/pcedu/empolder/gj/Java/0502/559401.html
Java文件操作详解(Java中文网)
http://www.51cto.com/html/2005/1108/10947.htm
Java 如何创建\删除\修改\复制目录及文件
分享到:
相关推荐
EL表达式详解教程--j2ee必备的页面取数据语言 EL表达式详解教程
NULL 博文链接:https://1601844782.iteye.com/blog/2274208
今天发现Tomcat 6.0.36版本存在一个EL表达式解析方面的bug,详细描述请参阅我的博文:http://blog.csdn.net/chaijunkun/article/details/9097229。bug演示地址/bug/show.do,避免此bug的方法演示地址/bug/avoid.do
对于j2EE的简单web开发,其中有各种j2EE web开发过程中会使用到的技巧,如el表达式,jstl自定义标签,过滤器的使用等 通过这些来实现登录 注册 修改 删除 分页 等功能
原因是:在默认情况下,Servlet 2.4 / JSP 2.0支持 EL 表达式。 解决的办法有两种: 1.修改web.xml的开头定义。 代码如下: ”2.4″ xss=removed xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:...
HTML参考手册 css2.0中文手册 J2EE全实例教程 Javascript参考手册 Jsp帮助文档 JSTL中英文对照版 servlet api 中文版chm格式 JAVA设计模式 Hibernate 2.1 中文参考手册 EL表达式 Tomcat中文帮助 掌握自定义JSP标签 ...
149 9.4 JSF的组成 152 9.4.1 UI组件 152 9.4.2 JSF标签 154 9.5 统一EL 156 9.5.1 表达式和函数 156 9.5.2 操作符 157 9.5.3 保留字 158 9.5.4 内置对象 158 9.6 Backing Bean 158 9.7 创建自定义组件 162 9.8 小结...
J2EE开发手册大全。倾力奉献 包括: 1、css2.0中文手册.chm 2、el.pdf 3、JavaEE5_API.chm 中文 4、jQueryAPI.chm 5、w3school.CHM 6、《SQL_参考手册》中文版_.chm 7、正则表达式.pdf 积分赚够了,现在免费提供给...
PowerDesigner 、SQLyog等,在 J2EE 技术中主要采用了 Struts1.2 框架、Spring2.0 框架、EL表达式和公司内部数据处理框架(保密),系统的整体结构采用 MVC三层模式,项目中还大量运用了较新的 ajax 技术(避免页面...
.....Web_JSP_EL表达式 .....Web_JSP+Servlet_作用域(上下文) .....Web_JSP+Servlet_性能调优 .....Web_Cookie和Session .....Web_过滤器 .....Web_MVC设计模式 .....JDBC .....JDBC_各种数据库连接 .....XML_基础 ....
j2ee的一个实例程序,利用了EL表达式
然后对自定义标签开发、标准标签库(JSTL)使用、JSP2.0表达式(EL)、Servlet简单应用和高级应用以及Web2.0新特性Ajax的开发过程进行了详细的讲解。最后对最为流行的MVC解决方案Struts和数据库持久层结束Hibernate...
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 异常.............74 第八章 图形用户接口...
内容简介 《Java Web开发从初学到精通》介绍如何整合Web框架进行J2EE开发,...EL表达式 JSTL标签库 JSP的JavaBean实现 Struts2入门 Hibernate详解 Spring应用 Ajax入门与实战 应用Struts2+Hibemate 的论坛系统 JSF入门
使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...
(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...
使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...
使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...