struts2学习二:Tomcat的部署目录和访问路径问题
1:idea中配置tomcat后,那么最终的web工程发布到哪里去了?为什么在访问路径中不加工程名就可以访问?
1.1:因为tomcat有段时间没接触了,先回顾下tomcat的目录结构吧?

如图所示:各级文件的主要保存内容是:
- bin:主要是tomcat的一些命令。环境变量、内存修改什么的;
- server.xml(端口,加载目录等),web.xml,context.xml等;
- Catalina目录:可设置默认加载目录
- lib:tomcat的依赖jar包;
- logs:日志
- temp:临时文件;
- webapps:应用目录
- ROOT:默认工程(比如地址栏没有工程名时,默认Root下工程);
- 其他工程;
- work:运行时生成的文件,通过webapps生成,最终运行的文件都在这里,删除无影响。
conf:这个很重要,存放了tomcat的配置文件。
1.2:我们知道,MyEclipse是直接将工程copy到tomcat的webapps目录中,在将tomcat运行起来,通过工程名访问该工程。所以我们可以在webapps中找到对应的工程文件。但是idea不是这么干的,webapps下面是没有你要发布的工程文件的。
1.3:idea安装时的默认缓存文件夹放在c盘中,我们在idea中启动一个web项目,在server栏中可以定位到该工程的具体,比如这里我是:

我的工程名字是:struts2_smallcase,我们打开catalina_base目录:

这三个文件是idea在发布web项目到tomcat时,从项目配置的tomcat地址copy过来的,里面内容完全一致。向上一级:

发现,我们用idea跑过的工程都在 C:\Users\Administrator\.IntelliJIdea2017.3\system\tomcat 中,采用tomcat名_工程名的形式;
到此,我们已经了解到,idea是为每一个发布的project,将tomcat的配置文件复制到idea缓存文件的工程缓存中去。可是为什么访问不需要工程名?
因为每个project都有独立的tomcat配置副本,所以有理由怀疑,idea将当前project设置成默认的访问工程了,事实上我们进入 Tomcat_9_0_0_M22_struts2_smalecase\conf\Catalina\localhost ,发现了里面的ROOT.xml文件,因为tomcat可以通过在conf/Catalina下新建***.xml文件设置默认加载目录,我们打开ROOT.xml,果然:

虚拟目录的映射关系很清楚了!空白路径上的访问都指向了docBase。
1.4:idea的tomcat配置 Application context 与访问路径:

默认情况下,是“/”,此时可以通过: http://localhost:8080/ 访问到index页面,但是修改到: http://localhost:8080/struts2_smalecase/ 是访问不到的;
如果改成上图形式:那么 http://localhost:8080/ 不能访问,而 http://localhost:8080/struts2_smalecase/ 是可以正常访问的。
因此,我怀疑是:无论 Application context 怎么配置,都是通过 http://localhost:8080/Application context 路径访问该工程,只是地址栏上带不带工程名的问题了。
2:主要是用来熟悉一下struts2的struts.xml的配置和相关的逻辑:
ref:http://www.cnblogs.com/compassblog/p/8454543.html
--End--
struts2学习二:Tomcat的部署目录和访问路径问题的更多相关文章
- Java学习-032-JavaWeb_001 -- Tomcat环境部署及基本配置
首先到 Tomcat 官网,下载对应的版本,我本机的系统是 WIN7 64BIT 的,因而我选择的是64bit 的zip包,如下图所示:
- Java学习-043-获取文件在目录中的路径
我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...
- Maven入门---修改tomcat版本及端口及访问路径(四)
Maven中通过添加插件修改tomcat版本及端口及访问路径 --------------------------------------------------------------------- ...
- 更改Eclipse下Tomcat的部署目录 ,防止上传的文件是到eclipse的克隆的tomcat上的webapp,而不是tomcat本身的webapp
使用eclipse开发是因为机器不够用myeclipse,eclipse也比myeclipse清爽很多,启动速度也快.这里的搭建开发环境使用: Jdk1.6+Tomcat6+Eclipse JEE, ...
- 更改Eclipse下Tomcat的部署目录
转自:http://kingxss.iteye.com/blog/1741438 前言 今天tomcat启动就报错,后来查原因是因为异常关闭tomcat的原因,需要删除一个sessions.ser的文 ...
- [原创]java WEB学习笔记75:Struts2 学习之路-- 总结 和 目录
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Java开发学习(二十四)----SpringMVC设置请求映射路径
一.环境准备 创建一个Web的Maven项目 参考Java开发学习(二十三)----SpringMVC入门案例.工作流程解析及设置bean加载控制中环境准备 pom.xml添加Spring依赖 < ...
- Tomcat改端口号;修改访问路径,以及配置Context 标签以后Tomcat启动不了
修改tomcat端口号: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout=&qu ...
- Tomcat学习(二)------Tomcat原理详解及请求过程
Tomcat: Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat ...
随机推荐
- SQL Server 索引结构
索引是数据库的基础,只有先搞明白索引的结构,才能搞明白索引运行的逻辑 本文通过 索引表.数据页.执行计划.IO统计.B+Tree 来尽可能的介绍 SQL 语句中 WHERE 部分,和 SELECT 部 ...
- 数字化转型——医院数字化管理平台HDMP建设历程
最近几年一直在做医疗行业的B端应用,在搭建医院数字化转型管理平台的过程中累积了一些知识,准备抽时间不断的把整个平台搭建过程及思想记录下来,帮助自己记忆,也希望对相应知识点有需要的伙伴能有一个启发. ...
- java 人机猜拳 游戏
人机猜拳-游戏 掌握类和对象的使用,掌握方法的定义和返回值,掌握封装的运用 定义一个电脑类:Computer.java 点击查看[Computer.java]代码 /** * @Title: 电脑类 ...
- Selenium自动化测试面试题合集
1.什么是自动化测试.自动化测试的优势是什么? 通过工具或脚本代替手工测试执行过程的测试都叫自动化测试. 自动化测试的优势: 1.减少回归测试成本 2.减少兼容性测试成本 3.提高测试反馈速度 4.提 ...
- java运行原理、静态代理和动态代理区分
1.java的编译和运行原理: ■ 编译:将源文件 .java 文件,通过编译器(javac 命令) 编译成 字节码文件 .class 文件. ■ 运行,通过类加载器(以二进制流形式)把字节码加载进J ...
- jmeter变量嵌套:__V
问题复现 ${name_${n}} 下面没有获取到结果 解决方案 __V是用于执行变量名表达式 ${__V(name_${n})} 获取到结果
- HMS Core挑战赛故事:鞋、街景、手办、玩具,原来这些都可以3D建模
HMS Core线上Codelabs挑战赛第3期中,开发者通过学习和运用HMS Core开发的3D建模服务,生成3D建模应用demo,再使用demo为自己身边的一个实物完成建模.在提交的作品中,小编发 ...
- Json字符串和Json对象相互转换
字符串-->json对象:JSON.parse() var str = '{"code":"A001","name":"张三 ...
- JavaScript与C#互通的DES加解密算法的实现(转)
本文提供了一个能使JavaScript与C#互通的DES加解密算法的实现,在前台页面中用JavaScript版本的DES算法将数据加密之后,传到服务器端,在服务器端可用C#版本的DES解密算法将其解密 ...
- pip安装包失败的常见解决方法
pip安装包失败的常见解决方法 方法一 当安装包失效的时候可以去网站下载whl文件.下载的时候应该先查看电脑上 python 的版本. 地址:https://www.lfd.uci.edu/~gohl ...