我实现了一个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. Vagrant 安装使用

    先安装虚拟机 https://www.virtualbox.org/ 再安装 https://www.vagrantup.com/  1.nginxhttp://nginx.org/download/ ...

  2. C/C++网络编程7——多进程服务器端之fork函数

    通过前面几节的内容,我们已经可以实现基本的C/S结构的程序了,但是当多个客户端同时向服务器端请求服务时,服务器端只能按顺序一个一个的服务,这种情况下,客户端的用户是无法忍受的.所以虚实现并发的服务器端 ...

  3. php 随机生成汉字

    function getChar($num) // $num为生成汉字的数量 { $b = ''; for ($i=0; $i<$num; $i++) { // 使用chr()函数拼接双字节汉字 ...

  4. Django 中的select_related函数优化查询

    参考链接: https://blog.csdn.net/secretx/article/details/43964607 在数据库有外键的时候,使用select_related()和prefech_r ...

  5. MFC TreeControl简单应用

    目录 1. TreeControl添加节点 2. TreeControl菜单 3. TreeControl修改节点 4. TreeControl查找节点 5. TreeControl折叠展开节点 6. ...

  6. 最优矩阵连乘问题 区间DP

    最优矩阵连乘积 Accepted: 10 Total Submit: 18Time Limit: 1000ms Memony Limit: 32768KB Description 在科学计算中经常要计 ...

  7. 腾讯玄武实验室向(CNVD)提交了一个重大漏洞“BucketShock”

    导读 11 月 21 日,在小米 IoT 安全峰会上,腾讯安全玄武实验室负责人于旸(花名:TK 教主)在演讲中透露,腾讯玄武实验室最近向国家信息安全漏洞共享平台(CNVD)提交了一个重大漏洞“Buck ...

  8. ‘.vue’文件(非常重要)

    ‘.vue’文件 Vue自定义了一种后缀名名字为.vue文件,它将html, js, css 整合成一个文件,和里面 template script style三个区别分别依次对应. 1 2 3 4 ...

  9. 使用package.json安装模块

    node.js模块的安装可以使用npm安装,如下: $ npm install <Module Name> 每个项目的根目录下面,一般都需要一个package.json文件,定义了这个项目 ...

  10. MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)

    MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 &l ...