情景:

想在应用启动的时候就加载spring容器 在ServletContextListener.contextInitialized()中加载spring容器
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");

结果发现一直报"找不到文件的IO错误",于是就打印下当前路径

"D:\install\eclipse-jee-mars-1-win32-x86_64\eclipse"

结果居然跑到了eclipse的安装目录来了,不是工作目录也不是tomcat的目录,这就神奇了吧

然后我就直接用tomcat发布,不用eclipse了

结果当前路径在

"C:\Program Files\Apache Software Foundation\Tomcat 8.0_Tomcat\bin"

这就尴尬了,我的应用在webapps里面啊,怎么会跑到这里来了呢

原因

一、eclipse

在eclipse中,启动服务器是由eclipse.exe启动

servletcontext监听器的初始化是在启动服务器的过程就完成的,所以自然当前目录在"D:\install\eclipse-jee-mars-1-win32-x86_64\eclipse"

二、tomcat

在tomcat中,启动服务器是由startup.bat启动

所以当前目录就在"C:\Program Files\Apache Software Foundation\Tomcat 8.0_Tomcat\bin"

不同环境的web目录结构

凡是涉及到路径的,都会因为环境的不同而不同,window、linux、eclipse、tomcat各不相同

eclipse的目录结构

tomcat的目录结构

总结

特别要注意的是class文件的放置!!!

eclipse中class放在/build/classes里面

tomcat中class放在/WEB-INF/classess里面

查看原文:http://139.129.55.235/2016/05/30/servletcontext%e7%9b%91%e5%90%ac%e5%99%a8%e7%9a%84%e5%90%af%e5%8a%a8%e4%bd%8d%e7%bd%ae%e4%bb%a5%e5%8f%8atomcat%e5%92%8ceclipse%e7%9a%84%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84/

servletcontext监听器的启动位置以及tomcat和eclipse的目录结构的更多相关文章

  1. 第三节 - centos 内核启动、救援模式、 ls 、目录结构

    Linux 第三节一.CentOS 启动: 1.内核引导: 1.win/linux 通电,2.BISO自检(CPU,内存,硬盘等 | U盘.光驱.网卡.硬盘启动 通过MBR知道内核内存硬件驱动位置并加 ...

  2. 配置Tomcat直接显示目录结构和文件列表

    Tomcat是直接显示目录结构和文件列表,只是在配置里面给关闭了. 关键在这里:\conf\web.xml 这个文件有一段配置直接控制Tomcat是允许显示目录结构和文件列表. <servlet ...

  3. spring默认启动位置以及contextConfigLocation设置源码解析

    这几天在看spring的源码,涉及到spring启动位置的部分,下面就看看spring到底是从哪儿开始加载的.本文使用的是spring3.0M3 首先spring的加载会借助一个监听器ContextL ...

  4. 使用监听器来启动spring -------使用监听器初始化上下文参数

    问题: 数据初始化监听器要注入spring容器的对象,必须先启动spring容器才能使用监听器初始化数据. 解决: 使用监听器来启动spring框架 问题:spring框架启动需要哪些参数? 1.需要 ...

  5. 本地开发时同时启动多个tomcat服务器

    1.环境变量中不要设置CATALINA_HOME: 2.分别修改安装目录下的conf子目录中的server.xml文件: a.修改http访问端口(默认为 8080端口),将8080修改为tomcat ...

  6. 一个服务器启动多个tomcat(详细图解)

    1.官网下载一个tomcat,复制一个副本(第二个tomcat) 2.添加2个环境变量(右键单击我的电脑->选择属性->选择高级->选择环境变量),是2个tomcat的位置,环境变量 ...

  7. Mac 下如何下载、启动和关闭Tomcat 和管理Mac自带的Apache

     Mac 下载.启动和关闭Tomcat 1. 下载Tomcat(地址:tomcat.apache.org),选择适合的版本(这里选择6.0.48),点击“Download”,之后在新页面点击“Core ...

  8. Linux 下启动两个tomcat

    Linux 下启动两个tomcat 闲来无事学习nginx,想要配置个load balance.可是先决条件是:得有两个web容器.两个电脑是不用想了.只能想办法在一个机器上启动两个tomcat.原以 ...

  9. 本地同时启动两个tomcat

    本地同时启动两个tomcat 这几天开发用到了Ext JS4,所以着手学习Ext JS4,由于官方很多demo都是需要与服务器端进行数据交互,因此需要在tomcat里部署上官方的demo.而本地mye ...

随机推荐

  1. Ext.util.TaskRunner定时执行任务

    Ext.util.TaskRunner能够提供多线程的定时任务,该类提供了对多线程任务的管理,可以通过Ext.TaskManager来创建Ext.util.TaskRunner的一个实例,也可以自行创 ...

  2. Struts2 DomainModel、ModelDriven接收参数

    一.DomainModel(域模型) 1. 应用场景:一般我们在struts2的action中接收参数通常是如下方式 package cn.orlion.user; import com.opensy ...

  3. PL/SQL Developer中文版下载以及使用图解(绿色版)

    下载地址:http://pan.baidu.com/s/1eQCTmkM 1.运行plsqldev.exe程序: 2.设置Oracle主目录名/OCI库地址,如图: 重新启动程序. 3.配置登陆信息, ...

  4. 机器学习&数据挖掘笔记_15(关于凸优化的一些简单概念)

    没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs22 ...

  5. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  6. Gradify - 提取图片颜色,创建响应式的 CSS渐变

    被请求的HTTP对象之间的延迟会有一个时间段,这个期间网页看起来不完整.Gradify 可以分析出图像中4个最常见的颜色,创建一个梯度(或纯色)作为图片占位符.Gradify 可以在在任何图像发现最突 ...

  7. java并发编程(4)--线程池的使用

    转载:http://www.cnblogs.com/dolphin0520/p/3932921.html 一. java中的ThreadPoolExecutor类 java.util.concurre ...

  8. 11款扁平化设计的 Twitter Bootstrap 主题和模板

    扁平化设计和 Bootstrap 框架是2013年网页设计领域的两大设计潮流.把这两者集合起来不是件容易的事情,使用下面这些主题和模板将节省我们的开发时间,因为我们可以修改已有的基础代码,而不是从零开 ...

  9. elasticsearch 文档

    elasticsearch 文档 文档格式 索引中最基本的单元叫做文档 document. 在es中文档的示例如下: { "_index": "questions&quo ...

  10. 【Swift学习】Swift编程之旅(二)

    在本节将介绍一些最基础的知识 swift提供自己版本的类型,下面说明几种简单的类型 Int 整型 Double和float 浮点型 String 字符串型 Bool 布尔型 它也提供了3种主要的强大的 ...