一、用Jsp获取

1、获取文件的绝对路径

String file="文件";(例如:data.mdb)

String path=application.getRealPath(file);

结果:

E:\java_web\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\文件

2、获取文件的绝对路径

String p2=request.getRequestURI();

结果:

E:\java_web\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\文件
3、获取当前jsp页面的路径

String p3=request.getContextPath();
结果:

/myWebsite/index.jsp

4、获取当前项目的路径

String p4=request.getServletPath();
结果:

/myWebsite

二、用Java类获取

1、获取Eclipse路径

String a1=System.getProperty("user.dir");

结果:

D:\StudySystem\JavaWeb\3-eclipse-jee-indigo-win32\eclipse

2、获取当前的classpath路径

String a2=类名.class.getResource("").toString();

String a3=DBConnection.class.getResource("/").toString();
String a4=DBConnection.class.getClassLoader().getResource("").toString();

String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();

打印出来分别是:

file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/com/site/db/

file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
file:/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/
/E:/java_web/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myWebsite/WEB-INF/classes/

3、获取文件的绝对路径
如果要获取WebContent目录下的文件绝对路径怎么办?可以用下面的方法
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
 int num=t.indexOf(".metadata");
 String path=t.substring(1,num).replace('/', '\\')+"项目名\\WebContent\\文件";
结果是:

E:\java_web\workspace\项目名\WebContent\文件

三、用servlet获取

1、获取项目的绝对路径

request.getSession().getServletContext().getRealPath("")

结果:

E:\java_web\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite

2、获取浏览器地址

request.getRequestURL()

结果:

http://localhost:8080/myWebsite/QuestionServlet

3、获取当前文件的绝对路径

request.getSession().getServletContext().getRealPath(request.getRequestURI())

结果:

E:\java_web\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\myWebsite\QuestionServlet

获取web项目的绝对路径的方法总结的更多相关文章

  1. 获取 web 项目的绝对路径

    获取 web 项目的绝对路径 <% String path = request.getContextPath(); String basePath = request.getScheme()+& ...

  2. JAVA WEB项目中各种路径的获取

    JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报  分类: JAVA开发(41)  1.可以在s ...

  3. web项目中各种路径的获取(复制,为以后好找资源)

    web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/"); 这将获 ...

  4. spring中获取当前项目的真实路径

    总结: 方法1: WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext ...

  5. JavaScript中获取当前项目的绝对路径

    近期在做JavaWeb项目相关的东西,差点儿每天都遇到非常多问题,主要是由于自己对JavaWeb方面的知识不是非常清楚,尽量把自己在项目中遇到的问题都记录下来,方便以后查阅. 在我们的项目中有这种须要 ...

  6. 如何修改myeclipse中web项目的工作路径或默认路径

    如何修改myeclipse中web项目的工作路径或默认路径 博客分类: J2EE开发技术指南   安装好myeclipse后,第一次启动myeclipse时,都会弹出会弹出Workspace Laun ...

  7. Spring中获取web项目的根目录

    spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能; WebAppRootListe ...

  8. ASP.Net 类(CS)文件怎样获取Web应用程序的路径

    Web应用程序,写了一个线程CS类别,这个类别将会放于Global.asax文件中执行,主要是监控程序下某一个文件是否有异动,而作出相应警示动作,如发送邮件等. 实现运行过程中,也许会有一个情况出现, ...

  9. 【MyEclipse初级】Web项目的访问路径更改

    背景:MyEclipse 开发的Web项目,发布Web项目到Tomcat,从浏览器访问路径配置和工程名称一致,思考是否可以自定义访问虚拟路径. 目标:修改访问Web项目的虚拟路径 步骤:工程名右键-& ...

随机推荐

  1. learning armbian steps(9) ----- armbian 源码分析(四)

    在上一节的分析当中,我们知道是通过对话框来选择到底编译的是哪块板子,基于什么样的配置. 接下来我们来拿一个实例来分析一下具体的案例,我们会选中如下所示的版本 iotx-3 AM335X 1Gb SoC ...

  2. plotly绘图

    import plotly.plotly as plt import plotly.offline as pltoff from plotly.graph_objs import * # 生成折线图 ...

  3. [Vue] : Vue概述

    什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架. Vue.js 是前端的主流框架之一,和Angular.js.React.js 一起,并成为前端三大主流框 ...

  4. C,线程池

    /* 线程池组成: 1.管理者线程:创建并管理线程,包括添加.删除.销毁线程,添加新任务 2.工作线程:线程池中的线程,执行管理者分配的任务 3.任务接口:任务要实现的接口,供工作线程调用 4.任务队 ...

  5. django 快速实现文件上传(四)

    继博客(三)实现的, 建两个字段,username 用户存放用户名,headImg 用户存放上传文件的路径. 重新同步数据库: 提示: 这个可能是之前已创建了表中的一条记录,之后模型中增加了一个非空的 ...

  6. 微信小程序swiper禁止用户手动滑动

    最近做一个项目,由于用到了竖向swiper,导致占用屏幕过大,用户滑动总是滑动到swiper组件,页面无法向下拉动,于是找各种办法禁止用户手动滑动swiper组件. 经过网上一番查找,网友们也是闹洞大 ...

  7. Nginx之进程间的通信机制(Nginx频道)

    1. Nginx 频道 ngx_channel_t 频道是 Nginx master 进程与 worker 进程之间通信的常用工具,它是使用本机套接字实现的,即 socketpair 方法,它用于创建 ...

  8. PIMPL(private implementantion)模式(转载)

    前记:请搜索PIMPL(private implementantion)模式和桥接模式, PIMPL是桥接模式的一种典型实现 以下转自:http://blog.csdn.net/nrc_douning ...

  9. Flume-Exec Source 监控单个本地文件

    实时监控,并上传到 HDFS 中. 一.Flume 要想将数据输出到 HDFS,须持有 Hadoop 相关 jar 包 若 Hadoop 环境和 Flume 在同一节点,那么只要配置 Hadoop 环 ...

  10. OpenCV、OpenCL、OpenGL、OpenMP的区别

    OpenCV        OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个开源发行的跨平台计算机视觉库,可以运行在Linux.Wind ...