JAVA取得WEBROOT物理路径

本文介绍了一种在Java Web应用中获取WebRoot物理路径的方法。通过在web.xml配置文件中定义webAppRootKey参数,并利用自定义的ApplicationListener监听器类,在启动时将Web应用的根目录路径注册到系统属性中,以便整个应用程序可以通过System.getProperty(webapp.root)访问到该路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用:http://theron19.iteye.com/blog/678000

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.xml代码   收藏代码
  1. <web-app version="2.4"     
  2.     xmlns="http://java.sun.com/xml/ns/j2ee"     
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee     
  5.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    
  6.   <context-param>    
  7.         <param-name>webAppRootKey</param-name>    
  8.         <param-value>webapp.root</param-value>    
  9.   </context-param>    
  10.   <listener>    
  11.         <listener-class>com.joshua.ApplicationListener</listener-class>    
  12.  </listener>    
  13.         
  14. </web-app>  

 

ApplicationListener.java

 

Applicationlistener.java代码   收藏代码
  1. package com.joshua;    
  2.     
  3. import javax.servlet.ServletContextEvent;    
  4.     
  5. import org.springframework.web.context.ContextLoaderListener;    
  6.     
  7. public class ApplicationListener extends ContextLoaderListener {    
  8.     
  9.     public void contextDestroyed(ServletContextEvent sce) {    
  10.         // TODO Auto-generated method stub    
  11.     
  12.     }    
  13.     
  14.     public void contextInitialized(ServletContextEvent sce) {    
  15.         // TODO Auto-generated method stub    
  16.         String webAppRootKey = sce.getServletContext().getRealPath("/");    
  17.         System.setProperty("webapp.root" , webAppRootKey);    
  18.         String path =System.getProperty("webapp.root");    
  19.         System.out.println("path="+path);    
  20.     }    
  21.     
  22. }    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值