我实现了一个listener,此listener在tomcat启动的时候读取项目的配置文件,配置文件是xml。但是读取解析的功能是在另一个工具类实现的。

这个普通的工具类B,如何获取到当前web的跟路径呢?

首先我这个listener实现了 javax.servlet.ServletContextListener这个类

重写了方法 public void contextInitialized(ServletContextEvent arg0)

在这个方法内调用工具内B实现配置文件的解析,

在调用B的方法时候把ServletContextEvent arg0的arg0传递过去

然后通过arg0.getRealPath("/")就得到了当前web环境的跟路径了。

//File:SysInitListener.java
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/*
* other
*/
public class SysInitListener implements ServletContextListener { public void contextInitialized(ServletContextEvent arg0) {
final Logger logger = Logger.getLogger(SysInitListener.class);
logger.info("\n\n---开始初始化系统。");
ConfigLoader.loadInterfaceItemConfig(arg0.getServletContext());
logger.info("---结束初始化系统。\n\n"); } /*
* other
*/ }

package com.xxxxx.tool; import java.io.File;
import java.util.*; import javax.servlet.ServletContext; import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; import com.hntl.model.Interface;
import com.hntl.s.storage.*; public class ConfigLoader { private final static Logger logger = Logger.getLogger(ConfigLoader.class); public static void loadInterfaceItemConfig(ServletContext s){
String rootpath=s.getRealPath("/");
String path =rootpath+"/config/wsInterfaceList.xml";
//先读取待管理的备用接口配置文件
logger.info("--开始读取备用接口配置文件:"+path); SAXReader reader = new SAXReader();
Document document = null;
try {
document = reader.read(new File(path));
} catch (Exception e) {
e.printStackTrace();
} //other
} }

jsp获取web的跟路径的更多相关文章

  1. Java Web获取Web应用根路径

    最基本的 1,request.getRealPath("/");这个方法已不推荐用 2,在Servlet 里用this.getServletContext().getRealPat ...

  2. jsp获取当前项目跟路径

    在jsp中获取当前项目的根路径: <% String basePath = request.getScheme() + "://"+ request.getServerNam ...

  3. jsp获取web.xml 里的配置项

    ServletContext servletContext = request.getSession().getServletContext();                String titl ...

  4. Servlet之ServletContext获取web上下文路径、全局参数、和Attribute(域)

    1)获取web上下文路径 public void doGet(HttpServletRequest request, HttpServletResponse response) throws Serv ...

  5. JAVA 获取web文件的相对路径

    转自:http://wwwdd2315.blog.163.com/blog/static/66661889201091953350298/ 在JAVA文件中获取该项目的相对路径1.基本概念的理解 绝对 ...

  6. java ,js获取web工程路径

    一.java获取web工程路径 1),在servlet可以用一下方法取得: request.getRealPath(“/”) 例如:filepach = request.getRealPath(“/” ...

  7. ASP.NET获取web应用程序的路径

    服务器磁盘上的物理路径: HttPRuntime.AppDomainAppPath虚拟程序路径: HttpRuntime.AppDomainAppVirtualPath 任何于Request/Http ...

  8. 【转】Spring 获取web根目录 (Spring线程获取web目录/路径/根目录,普通类获取web目录)

    不使用Spring,怎样能在Listener启动的Thread中获取web目录,还真不完全确定.其实我觉得实际代码也很简单.就是基于普通的listener,然后在listener中获取web目录并放到 ...

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

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

随机推荐

  1. Python 之并发编程之线程上

    一.线程概念 进程是资源分配的最小单位 线程是计算机中调度的最小单位 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程共享该进程的地址空间,相当于一个车间内有多条流水线,都 ...

  2. 第四周之Hadoop学习(四)

    上周已经成功完成了Hadoop的学习,这周则是搭建好Hadoop的安卓编程环境 今天的学习根据这篇博客:https://blog.csdn.net/HcJsJqJSSM/article/details ...

  3. 引入CSS的方式、link和@import的区别

    引入CSS的方式有四种:内联方式.嵌入方式.链接方式.导入方式. 内联方式 内联方式指的是直接在 HTML 标签中的 style 属性中添加 CSS. <div style="back ...

  4. 谷歌下,因为给外层大容器设置 overflow:visible; 而导致问题,IE、火狐正常

    #selector { height: auto !important; width: 1024px!important; margin: auto; overflow:visible !import ...

  5. 表格中td限宽溢出以省略号代替

    table.ms-listviewtable { table-layout:fixed; width: 100%; } table.ms-listviewtable td[role="gri ...

  6. 你知道Verilog HDL程序是如何构成的吗

    本节通过硬件描述语言Verilog HDL对二十进制编码器的描述,介绍Verilog HDL程序的基本结构及特点. 二十进制编码器及Verilog HDL描述 二十进制编码器是数字电路中常用的电路单元 ...

  7. CSS - 定位(position),难点

    元素的定位属性主要包括定位模式和边偏移两部分. 1. 边偏移 边偏移属性 描述 top 顶端偏移量,定义元素相对于其父元素上边线的距离 bottom 底部偏移量,定义元素相对于其父元素下边线的距离 l ...

  8. UIWindow的获取

    注意:还是直接用下面这个比较靠谱.尤其是iOS11之后. [UIApplication sharedApplication].keyWindow;   1.下面这种是比较严谨的方式 - (UIWind ...

  9. android studio升级之后项目报错Could not find com.android.tools.build:aapt2:3.2.1-4818971

    导致问题的原因为源代码根目录下的build.gradle中缺少对于google源服务器的配置(话说,貌似以前版本的都在jcenter中可以找到,最新版本的,好像没有上传到jcenter服务器了,估计是 ...

  10. VMware安装CentOS操作系统详细步骤

    目录 创建虚拟机(买电脑) 1. 创建新虚拟机 2. 自定义配置虚拟机 3. 选择虚拟机硬件兼容性 4. 安装虚拟机创建系统 5. 选择虚拟机操作系统 6. 设置虚拟机名字和存放位置 7. 设置虚拟机 ...