使用JAVA后台代码取得WEBROOT物理路径,可以有如下两种方式:
1、使用JSP Servlet取得WEB根路径可以用request.getContextPath(),相对路径request.getSession().getServletContext().getRealPath("/"),它们可以使用我们很容易取得根路径。

2、如果使用了spring, 在WEB-INF/web.xml中,创建一个webAppRootKey的param,指定一个值(默认为webapp.root)作为键值,然后通过Listener,或者Filter,或者Servlet执行String webAppRootKey = getServletContext().getRealPath("/"); 并将webAppRootKey对应的webapp.root分别作为Key,Value写到System Properties系统属性中。之后在程序中通过System.getProperty("webapp.root")来获得WebRoot的物理路径。
具体示例代码如下:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>csc2.root</param-value>
</context-param>
<listener>
<listener-class>test.ApplicationListener</listener-class>
</listener>
</web-app>

ApplicationListener.java
package test;
import javax.servlet.ServletContextEvent;
import org.springframework.web.context.ContextLoaderListener;
public class ApplicationListener extends ContextLoaderListener {
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent sce) {
// TODO Auto-generated method stub
String webAppRootKey = sce.getServletContext().getRealPath("/");
System.setProperty("csc2.root" , webAppRootKey);
String path =System.getProperty("csc2.root");
System.out.println("sssss:::"+path);
}
}

test.java
public class test {
public void remve(){
String path =System.getProperty("csc2.root");
System.out.println("result::::::::"+path);
}

}

index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="test.test" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
test t = new test();
t.remve();
%>
<html>
</html>
部署程序发布 启动TOMCAT 运行index.jsp 就可以调用JAVA中全局设置的物理路径了(说明这里的JSP 只是调用了TEST.JAVA 的remove方法,不做其他使用。原理解释,TOMCAT启动和读取WEB.XML 监听方式加载SPRING ApplicationListener继承SPRING ContextLoaderListener加载SPRING顺便吧全局路径赋值给csc2.root 描述,这样之后JAVA 代码中就可以使用System.getProperty("csc2.root")调用全路路径了。

https://zhidao.baidu.com/question/584970613.html

java如何得到项目的webRoot 路径?system.root相关推荐

  1. eclipse修改java热部署免重启tomcat在Host标签下增加Context直接将docBase指定为项目的WebContent路径

    为了避免每次修改java文件eclipse都自动重启耗时较长,研究了网上方法,在eclipse+tomcat7本机实践了下可行. 原理:将eclipse工程的WebContent直接作为部署目录,你的 ...

  2. 怎么获取web项目的webroot根目录下面的文件夹的路径?

    在servlet里面 : //把路径存储为图片String path=request.getSession().getServletContext().getRealPath("/WebRo ...

  3. 【Java开发语言 00】环境搭建(配置java环境+‘javac’不是内部或外部命令,也不是可运行的程序+安装idea+idea基本用法+新建项目+在新项目的src路径下新建包和类+基础调试+路径)

    idea入门 1 idea安装 1.1 官方下载地址 2 Java语言环境的搭建 下载JDK 安装 JDK(安装路径不要有中文或者特殊符号如空格等) 配置环境变量(必须是全英文状态下的字符) clas ...

  4. tomcat项目的ajax路径问题,Tomcat下ajax请求路径总结

    ajax的url有两种,一种是绝对路径,另一种是相对路径. 一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({ url:"http://l ...

  5. idea 配置java版本号_IDEA-Maven项目的jdk版本设置方法

    在 Intellij Idea 中,我们需要设置 Settings 中的 Java Compiler 和 Project Structure 中的 Language Level 中的 jdk 版本为自 ...

  6. java小游戏项目的php_在Java项目中使用PHP类

    有可能以某种方式在Java项目中使用Zend附带的一些PHP类吗?我想总有办法,但是怎么样? 解决方法: 问题你应该先问问自己 首先你应该问自己一些问题,这可以帮助你使用给你最好的答案(因为编程很多次 ...

  7. eclipse 配置java路径_Java修改eclipse中web项目的server部署路径问题

    和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...

  8. java项目如何更改路径_Java修改eclipse中web项目的server部署路径问题

    和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...

  9. 批量给项目的java文件添加licence文件头

    批量给项目的java文件添加licence文件头 package com.cs.test.springboot;import java.io.File; import java.io.FileWrit ...

最新文章

  1. 用正则表达式替换示例
  2. mysql sql执行过程_MySQL探秘(二):SQL语句执行过程详解
  3. xml文件修改逆向android,Android逆向重置版(2)—起源
  4. D3 interpolate
  5. 《图论及其应用》学习笔记(匹配和因子分解)
  6. 完善计算机 实践性教学,计算机基础实践性教学分析论文
  7. 重装系统显示未找到任何音频输出设备
  8. 工程经济—技术方案不确定性分析
  9. 愿天下有情人都是失散多年的兄妹 (25 分)
  10. mindmanager2018官方下载地址
  11. 二开免签支付修复版系统源码带YY通道
  12. 几个java小问题代码(大神不喜勿喷)
  13. 常见python爬虫模板_常见的Python爬虫框架有几个?
  14. 力扣算法题-19.秋叶收藏集 C语言实现
  15. 海思移植Live555
  16. 微信小程序商城搭建,如何开发一个微信小程序商城
  17. ce能修改服务器数据吗,ce修改游戏服务器数据库
  18. 微软面试100题(含全部答案)
  19. html怎么把元素垂直居中显示,分享html css元素垂直居中的几种方法
  20. 深度学习训练技巧总结

热门文章

  1. sd 卡驱动在2.6内核的编写.sd/mmc/sdio kernel,sd/mmc/sdio 内核
  2. 【环境搭建】linux上pip换源
  3. fpga乘法器的方法
  4. 远程实习面试_第一次远程实习后我看到的4个主要变化
  5. 一次不成功的思科2960S交换机的IOS升级
  6. 泉峰控股在港交所挂牌:募资约30亿元,潘龙泉持股超过50%
  7. 编程英语词汇大全java_java编程常用英文单词汇总.doc
  8. android 删除无线驱动程序,android – 用于BCM4339的Nexus 5无线驱动程序
  9. 致远项目管理SPM系统产品核心优势(一)
  10. L8-16飞机大战全部代码