`

EL表达式在j2ee5使用不了的解决方法和EL表示根路径以及相对路径和绝对路径问题

    博客分类:
  • java
阅读更多
添加<%@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 如何创建\删除\修改\复制目录及文件
分享到:
评论

相关推荐

    j2ee必备-EL表达式详解教程

    EL表达式详解教程--j2ee必备的页面取数据语言 EL表达式详解教程

    j2ee:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用

    NULL 博文链接:https://1601844782.iteye.com/blog/2274208

    Tomcat 6解析EL表达式的Bug示例

    今天发现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开发,其中有各种j2EE web开发过程中会使用到的技巧,如el表达式,jstl自定义标签,过滤器的使用等 通过这些来实现登录 注册 修改 删除 分页 等功能

    JSP 不能解析EL表达式的解决办法

    原因是:在默认情况下,Servlet 2.4 / JSP 2.0支持 EL 表达式。 解决的办法有两种: 1.修改web.xml的开头定义。 代码如下: ”2.4″ xss=removed xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:...

    J2EE体系chm帮助文档大全共27本

    HTML参考手册 css2.0中文手册 J2EE全实例教程 Javascript参考手册 Jsp帮助文档 JSTL中英文对照版 servlet api 中文版chm格式 JAVA设计模式 Hibernate 2.1 中文参考手册 EL表达式 Tomcat中文帮助 掌握自定义JSP标签 ...

    J2EE应用开发详解

    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开发人手册大全

    J2EE开发手册大全。倾力奉献 包括: 1、css2.0中文手册.chm 2、el.pdf 3、JavaEE5_API.chm 中文 4、jQueryAPI.chm 5、w3school.CHM 6、《SQL_参考手册》中文版_.chm 7、正则表达式.pdf 积分赚够了,现在免费提供给...

    基于Java EE的B2B在线交易系统的设计与实现毕业设计论文

    PowerDesigner 、SQLyog等,在 J2EE 技术中主要采用了 Struts1.2 框架、Spring2.0 框架、EL表达式和公司内部数据处理框架(保密),系统的整体结构采用 MVC三层模式,项目中还大量运用了较新的 ajax 技术(避免页面...

    J2EE(Java EE)技术总结-J2EE学习精华教程-电子书

    .....Web_JSP_EL表达式 .....Web_JSP+Servlet_作用域(上下文) .....Web_JSP+Servlet_性能调优 .....Web_Cookie和Session .....Web_过滤器 .....Web_MVC设计模式 .....JDBC .....JDBC_各种数据库连接 .....XML_基础 ....

    helloWeb示例程序

    j2ee的一个实例程序,利用了EL表达式

    jsp宝典源码

    然后对自定义标签开发、标准标签库(JSTL)使用、JSP2.0表达式(EL)、Servlet简单应用和高级应用以及Web2.0新特性Ajax的开发过程进行了详细的讲解。最后对最为流行的MVC解决方案Struts和数据库持久层结束Hibernate...

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

    (1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...

    J2EE学习笔记(J2ee初学者必备手册)

    第三章 表达式与流控制....................41 第四章 数组.............50 第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 异常.............74 第八章 图形用户接口...

    Java Web开发从初学到精通随书光盘源码

    内容简介 《Java Web开发从初学到精通》介绍如何整合Web框架进行J2EE开发,...EL表达式 JSTL标签库 JSP的JavaBean实现 Struts2入门 Hibernate详解 Spring应用 Ajax入门与实战 应用Struts2+Hibemate 的论坛系统 JSF入门

    java开源包5

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

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

    (1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...

    java开源包4

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

    java开源包7

    使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用...

Global site tag (gtag.js) - Google Analytics