- 浏览: 584572 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (268)
- ext基础 (72)
- Java基础 (68)
- jquery (14)
- oracle (21)
- sqlserver (7)
- linux (2)
- webserver (1)
- C/C++ (1)
- sql (9)
- IDE (2)
- java 智能卡 (1)
- mysql (6)
- ibatis (2)
- struts2 (3)
- cvs (1)
- 服务器 (1)
- html (11)
- freemarker (4)
- liferay (2)
- jMS (1)
- iphone (1)
- c# (1)
- Android (11)
- wince (6)
- javascript (4)
- ps (1)
- hibernate (1)
- 其他 (3)
最新评论
-
ilyq:
请问,px.gif 在哪里
斜线表头 -
jisang:
没看懂,第一个org.js和最后的js什么关系,可否发我一份完 ...
用ExtJS 实现动态载入树(Load tree) -
JavaStudyEye:
我去,能否搞个正确点的,,,
<#list ...
freemarker 遍历map 对象 -
PangSir:
大爱,简直是大爱!!困扰这么久以来的问题,虽然知道是CSS的问 ...
ExtJs checkbox radiobox 问题 汇总 -
skynet_java:
有demo嘛!邮箱:think_world@foxmail.c ...
消息推送服务需求 - 服务器开发、客户端开发
基本概念的理解
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,
(URL和物理路径)例如:
C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录)
例如:
Servlet中,"/"代表Web应用的根目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。
服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的
(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)也就是说这时候在jsp和servlet中的相对地址应该是相对于你的web应用,
即相对于http://192.168.0.1/webapp/的。
其用到的地方有:
forward:servlet中的request.getRequestDispatcher(address);
这个address是在服务器端解析的,所以,你要forward到a.jsp应该这么写:
request.getRequestDispatcher(“/user/a.jsp”)这个/相对于当前的web应用webapp,其绝对地址就是:http://192.168.0.1/webapp/user/a.jsp。
sendRedirect:在jsp中<%response.sendRedirect("/rtccp/user/a.jsp");%>
所有的html页面中的相对地址都是如果提交到a.jsp为:
action="/webapp/user/a.jsp"或action="<%=request.getContextPath()%>"/user/a.jsp;
相对于服务器根目录(http://192.168.0.1/)的,
而不是(跟目录下的该Web应用的目录)http://192.168.0.1/webapp/的。
提交到servlet为actiom="/webapp/handleservlet"
Javascript也是在客户端解析的,所以其相对路径和form表单一样。
Html中的form表单的action属性的地址应该是相对于服务器根目录(http://192.168.0.1/)的,
因此,一般情况下,在JSP/HTML页面等引用的CSS,Javascript.Action等属性前面最好都加上
<%=request.getContextPath()%>,以确保所引用的文件都属于Web应用中的目录。
另外,应该尽量避免使用类似".","./","../../"等类似的相对该文件位置的相对路径,这样
当文件移动时,很容易出问题。
3. JSP/Servlet中获得当前应用的相对路径和绝对路径
3.1 JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath (request.getRequestURI())).getParent()
3.2 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()
)
[/color]单独的Java类中获得绝对路径[/size]
根据java.io.File的Doc文挡,可知:
默认情况下new File("/")代表的目录为:System.getProperty("user.dir")。
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"));
}
}
.2服务器中的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");
这两种方式均可,自己选择。
[color=red](2).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
[size=large]如何读相对路径文件
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web
发布根路径下WEB-INF/classes
默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,
(URL和物理路径)例如:
C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录)
例如:
Servlet中,"/"代表Web应用的根目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。
服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的
(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)也就是说这时候在jsp和servlet中的相对地址应该是相对于你的web应用,
即相对于http://192.168.0.1/webapp/的。
其用到的地方有:
forward:servlet中的request.getRequestDispatcher(address);
这个address是在服务器端解析的,所以,你要forward到a.jsp应该这么写:
request.getRequestDispatcher(“/user/a.jsp”)这个/相对于当前的web应用webapp,其绝对地址就是:http://192.168.0.1/webapp/user/a.jsp。
sendRedirect:在jsp中<%response.sendRedirect("/rtccp/user/a.jsp");%>
所有的html页面中的相对地址都是如果提交到a.jsp为:
action="/webapp/user/a.jsp"或action="<%=request.getContextPath()%>"/user/a.jsp;
相对于服务器根目录(http://192.168.0.1/)的,
而不是(跟目录下的该Web应用的目录)http://192.168.0.1/webapp/的。
提交到servlet为actiom="/webapp/handleservlet"
Javascript也是在客户端解析的,所以其相对路径和form表单一样。
Html中的form表单的action属性的地址应该是相对于服务器根目录(http://192.168.0.1/)的,
因此,一般情况下,在JSP/HTML页面等引用的CSS,Javascript.Action等属性前面最好都加上
<%=request.getContextPath()%>,以确保所引用的文件都属于Web应用中的目录。
另外,应该尽量避免使用类似".","./","../../"等类似的相对该文件位置的相对路径,这样
当文件移动时,很容易出问题。
3. JSP/Servlet中获得当前应用的相对路径和绝对路径
3.1 JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath (request.getRequestURI())).getParent()
3.2 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()
)
[/color]单独的Java类中获得绝对路径[/size]
根据java.io.File的Doc文挡,可知:
默认情况下new File("/")代表的目录为:System.getProperty("user.dir")。
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"));
}
}
.2服务器中的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");
这两种方式均可,自己选择。
[color=red](2).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
[size=large]如何读相对路径文件
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web
发布根路径下WEB-INF/classes
默认使用该方法的路径是:WEB-INF/classes。已经在Tomcat中测试。
发表评论
-
springboot 发布
2022-01-08 16:53 145java -jar spring-boot-druid-0.0 ... -
List 边遍历,边删除?
2020-07-17 16:51 410新手常犯的错误 可能很 ... -
servlet 文件上传
2012-08-10 10:52 1104org.apache.commons.fileupload 文 ... -
pdf 简单连接servlet
2012-07-25 10:05 1074protected void doGet(HttpSe ... -
应用 HttpClient 来对付各种顽固的WEB服务器
2012-04-11 17:38 950一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
MAVEN2入门学习心得(4)-知识汇集
2012-01-11 14:16 975一、创建Spring+Hibernate+Activiti+V ... -
MAVEN2入门学习心得(3)-仓库管理器Nexus相关
2012-01-11 14:11 1298以前觉得Nexus搭建太简单,没有留下学习重点,重新温习起来又 ... -
MAVEN2入门学习心得(2)-仓库相关
2012-01-11 14:08 1252MAVEN2的仓库基本可以分为主机仓库、代理仓库、本地仓库。 ... -
MAVEN2入门学习心得(1)-插件相关
2012-01-11 14:02 1125MAVEN2涉及到很多插件,掌握插件的学习方式很重要,要不然接 ... -
restful webserice
2011-08-11 20:06 912package com.onetown.action.admi ... -
java.lang.OutOfMemoryError: PermGen space及其解决方法
2011-08-05 10:00 845这个问题是我的工程中 ... -
ibatis 一级缓存 功能
2011-01-28 15:50 2071前几天和朋友讨论数据库Cache的时候,谈到了iBatis框架 ... -
内存溢出的解决
2011-01-28 15:07 1042内存溢出虽然很棘手 ... -
oracle sql 基础
2010-12-25 14:52 851视图; create or replace view my_v ... -
计算 上一个 工作日的 自定义函数
2010-09-06 10:31 1767算法描述 1.获取日期参数,然后自减一 2.判断该日期是否是 ... -
Java 简单 计算任意两个日期之间的工作天数
2010-09-06 09:20 1741主要思路: 对于任意2个日期比如:date_start=201 ... -
java file
2010-09-05 21:37 1247追加文件尾部 public void testPrintWri ... -
验证码
2010-08-31 09:07 1013package com.pa.util; import ... -
java List与Array 转换
2010-08-31 08:57 35435public static void main(String[ ... -
java property 配置文件 用法
2010-08-14 18:12 4947在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我 ...
相关推荐
java Web 中相对路径绝对路径问题总结
java web中File的相对路径与绝对路径总结,用于在运行时获取配置文件、动态加载对象等
java获取路径几种途径,1、获取web服务器下的文件路径,2、获取本地路径,3、获取相对路径
大家在做Javaweb开始时,有没有遇到路径匹配不对,各种蛋疼的问题,本人特从网上找的关于javaweb开发中各种路径匹配问题,在这贡献给大家。
JAVA 文件中获取项目的相对路径 在 JAVA 文件中获取项目的相对路径是非常重要的,特别是在 JSP/Servlet 中。下面将详细介绍在 JAVA 文件中获取项目的相对路径的相关知识点。 1. 绝对路径和相对路径的概念 在讨论...
JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径、 文件的绝对路径 、 当前web应用的绝对路径、 取得请求文件的上层目录……
java project和java web project项目中如何获得相对路径、绝对路径问题详解
如何在java中获取文件的绝对路径,以及在java web开发中得到文件的绝对路径。
相对路径可以是相对于当前类所在的包的路径,也可以是绝对路径。如果路径以 "/" 开头,则表示绝对路径,否则表示相对路径。 例如,com.explorers.Test.class.getResourceAsStream("abc.jpg") 和 ...
关于JSP/Servlet中的相对路径和绝对路径。2.1服务器端的地址服务器端的相对地址指的是相对于你的web应用的地址,这个地址是在服务器端解析的(不同于html和javascript中的相对地址,他们是由客户端浏览器解析的)
主要介绍了Java Web中解决路径问题的相关资料,java 文件路径有绝对路径与相对路径,这里提供了几种方法解决所有路径问题,需要的朋友可以参考下
1.2 绝对路径和相对路径 1.2.1 绝对路径 绝对路径以“/”开头,(如果是http://****这种完整的地址也算绝对路径,这种路径容易理解,我们不讨论)。 如果是客户端绝对路径(超链接、图片地址等): “/”代表web...
java_web开发中的路径问题
开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径
NULL 博文链接:https://wwwzhouhui.iteye.com/blog/504330
java生成excel并下载到本地(可选择保存路径),文件通过流的形式响应客户端浏览器下载到本地。
详细解释Java或web中所有路径问题的解决方法
本文档主要介绍了使用 Eclipse 创建 Java Web 项目的步骤,并对相关的概念和技术进行了详细的解释。 1. 安装 Apache-Tomcat 服务器 Apache-Tomcat 服务器是 Java Web 项目的容器,用于部署和运行 Java Web 应用...
主要介绍了Java Web开发之访问路径问题,较为详细的分析了java web开发过程中常见的绝对路径与相对路径使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
<web-app xmlns=... 网站名称 网站描述 <!-- icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径....--small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel...