我实现了一个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. js学习:函数

    概述 函数的声明 JavaScript 有三种声明函数的方法 function 命令 function命令声明的代码区块,就是一个函数.function命令后面是函数名,函数名后面是一对圆括号,里面是 ...

  2. 导出EXCEL设置单元格格式

    怎么设置导出的EXCEL文件的列格式 如何设置导出的EXCEL文件的列格式在office的EXCEL中我们可以在一个EXCEL文件中,选中一列再点击鼠标右键,选择设置单元格格式,可以将这一列设为文本格 ...

  3. c++继承:公有、私有、保护(对应p12访问限制)

    公有继承(public).私有继承(private).保护继承(protected)是常用的三种继承方式. 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时, ...

  4. Duilib程序添加托盘图标显示

    转载:https://www.zhaokeli.com/article/8266.html 温馨提示:技术类文章有它的时效性,请留意文章更新时间以及软件的版本 功能描述 实现点击关闭后,程序最小化到托 ...

  5. unique 验证 criteria 使用

    model array('code', 'unique', 'criteria' =>array('condition' =>'schoolid=:schoolid','params' = ...

  6. 如何在django-filter中用choice field 的 value 值过滤对象

    如果我们有这样一个model: class IPInfoModel(models.Model): TYPE_INTRANET = 1 TYPE_INTERNET = 2 IP_TYPES = ( (T ...

  7. B. Uniqueness 删除最小区间内的元素使得剩余元素唯一

    B. Uniqueness time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  8. java中常用的数据结构--Map

    一.定义: 将键映射到值的对象. 地图不能包含重复的键; 每个键可以映射到最多一个值. public interface Map<K,V> 请注意!!!, Map 没有继承 Collect ...

  9. 使用EA画流程图

    https://www.sparxsystems.com.au/enterprise_architect_user_guide/13.0/model_domains/flow_chart.html

  10. 为Linux环境安装图形化界面

    1.更新软件源并升级系统 yum uppdate&&yum install wqy-microhei-fonts 2.安装GNOME+VNC一键包 wget https://gist. ...