servletcontext监听器的启动位置以及tomcat和eclipse的目录结构
2016-05-30 23:51
483 查看
情景:
想在应用启动的时候就加载spring容器 在ServletContextListener.contextInitialized()中加载spring容器 [code]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的目录结构
![](http://139.129.55.235/wp-content/uploads/2016/05/eclipse目录结构-177x300.png)
tomcat的目录结构
![](http://139.129.55.235/wp-content/uploads/2016/05/tomcat目录结构.png)
总结
特别要注意的是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/[/code]
相关文章推荐
- Mac系统开发常见问题-IntelliJIDEA-TOMCAT-Unable to ping server at localhost:1099
- Mac系统开发常见问题-IntelliJIDEA-TOMCAT-Address localhost:80 is already in use
- 如何将TOMCAT注册成系统服务
- jenkins2.6发布tomcat项目
- tomcat中配置解决中文乱码
- tomcat+websocket实现
- jdk8中tomcat修改配置PermSize为MetaspaceSize
- jdk8中tomcat修改配置PermSize为MetaspaceSize
- jdk8中tomcat修改配置PermSize为MetaspaceSize
- Tomcat标准目录
- tomcat多工程SSL双向认证的实现(每个端口对应一个工程,每个工程有各自双向的证书)
- 由Tomcat 8005端口想到的...
- 在Windows操作系统中,如何终止占有的8080端口的tomcat进程
- Servlet开发(一)如何在Myeclipse 中使用tomcat(配置tomcat,发布web项目)
- maven学习(2):常用命令及tomcat插件和jetty插件部署
- nginx+tomcat动静分离
- 【JavaWeb开发】tomcat目录详解
- gzip压缩tomcat服务器响应包,大幅提升web性能
- Tomcat线程
- 开启tomcat