java如何得到项目的webRoot 路径?system.root
使用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相关推荐
- eclipse修改java热部署免重启tomcat在Host标签下增加Context直接将docBase指定为项目的WebContent路径
为了避免每次修改java文件eclipse都自动重启耗时较长,研究了网上方法,在eclipse+tomcat7本机实践了下可行. 原理:将eclipse工程的WebContent直接作为部署目录,你的 ...
- 怎么获取web项目的webroot根目录下面的文件夹的路径?
在servlet里面 : //把路径存储为图片String path=request.getSession().getServletContext().getRealPath("/WebRo ...
- 【Java开发语言 00】环境搭建(配置java环境+‘javac’不是内部或外部命令,也不是可运行的程序+安装idea+idea基本用法+新建项目+在新项目的src路径下新建包和类+基础调试+路径)
idea入门 1 idea安装 1.1 官方下载地址 2 Java语言环境的搭建 下载JDK 安装 JDK(安装路径不要有中文或者特殊符号如空格等) 配置环境变量(必须是全英文状态下的字符) clas ...
- tomcat项目的ajax路径问题,Tomcat下ajax请求路径总结
ajax的url有两种,一种是绝对路径,另一种是相对路径. 一.绝对路径:包括协议名称.主机地址.端口.web项目名称等的完整请求路径. 例如: $.ajax({ url:"http://l ...
- idea 配置java版本号_IDEA-Maven项目的jdk版本设置方法
在 Intellij Idea 中,我们需要设置 Settings 中的 Java Compiler 和 Project Structure 中的 Language Level 中的 jdk 版本为自 ...
- java小游戏项目的php_在Java项目中使用PHP类
有可能以某种方式在Java项目中使用Zend附带的一些PHP类吗?我想总有办法,但是怎么样? 解决方法: 问题你应该先问问自己 首先你应该问自己一些问题,这可以帮助你使用给你最好的答案(因为编程很多次 ...
- eclipse 配置java路径_Java修改eclipse中web项目的server部署路径问题
和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...
- java项目如何更改路径_Java修改eclipse中web项目的server部署路径问题
和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...
- 批量给项目的java文件添加licence文件头
批量给项目的java文件添加licence文件头 package com.cs.test.springboot;import java.io.File; import java.io.FileWrit ...
最新文章
- 用正则表达式替换示例
- mysql sql执行过程_MySQL探秘(二):SQL语句执行过程详解
- xml文件修改逆向android,Android逆向重置版(2)—起源
- D3 interpolate
- 《图论及其应用》学习笔记(匹配和因子分解)
- 完善计算机 实践性教学,计算机基础实践性教学分析论文
- 重装系统显示未找到任何音频输出设备
- 工程经济—技术方案不确定性分析
- 愿天下有情人都是失散多年的兄妹 (25 分)
- mindmanager2018官方下载地址
- 二开免签支付修复版系统源码带YY通道
- 几个java小问题代码(大神不喜勿喷)
- 常见python爬虫模板_常见的Python爬虫框架有几个?
- 力扣算法题-19.秋叶收藏集 C语言实现
- 海思移植Live555
- 微信小程序商城搭建,如何开发一个微信小程序商城
- ce能修改服务器数据吗,ce修改游戏服务器数据库
- 微软面试100题(含全部答案)
- html怎么把元素垂直居中显示,分享html css元素垂直居中的几种方法
- 深度学习训练技巧总结
热门文章
- sd 卡驱动在2.6内核的编写.sd/mmc/sdio kernel,sd/mmc/sdio 内核
- 【环境搭建】linux上pip换源
- fpga乘法器的方法
- 远程实习面试_第一次远程实习后我看到的4个主要变化
- 一次不成功的思科2960S交换机的IOS升级
- 泉峰控股在港交所挂牌:募资约30亿元,潘龙泉持股超过50%
- 编程英语词汇大全java_java编程常用英文单词汇总.doc
- android 删除无线驱动程序,android – 用于BCM4339的Nexus 5无线驱动程序
- 致远项目管理SPM系统产品核心优势(一)
- L8-16飞机大战全部代码