JAVA取得WEBROOT物理路径

引用: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. }    
posted @ 2012-09-26 13:40  镇水古月  阅读(354)  评论(0编辑  收藏  举报