tomcat软连接的使用
软连接说白了就是一个映射。可以映射文件,也可以映射目录。linux和windows都可以做软连接,加入现在把文件A.txt做软连接到B.txt:
linux命令如下:
ln -s A.txt B.txt
windows命令如下:
mklink B.txt A.txt
建立软连接的目的是隔离tomcat里目录或文件,主要是隔离webapps里的项目或者静态资源文件,以实现部署和维护的方便。在tomcat里context.xml文件里设置allowLinking="true"就可以打开软连接,根据tomcat版本不同有不同的设置:
tomcat567版本:
<Context allowLinking="true" />
tomcat89版本:
<Context>
<Resources allowLinking="true" />
</Context>
根据context.xml文件的不同位置又有3种设置方法:在conf目录下修改context.xml,所有在webapps里的项目都支持软连接;在webapps下项目自己的META-INF里修改context.xml,只有该项目自己支持软连接;在conf\Catalina\主机名下修改项目名.xml,同样只有该项目自己支持软连接。
针对上面第一种设置方法举个例子,我在Eclipse配置了一个tomcat9的Server,里面的项目叫Struts2,我要对静态资源文件index.jsp做软连接到F盘:

我第一步就是修改eclipse里面的context.xml,直接在eclipse打开加入<Resources allowLinking="true" />这一行即可:

然后我要去workspace里Struts2项目里把index.jsp文件移动到F盘根目录并改名了hello.jsp,在cmd命令行里执行:
mklink index.jsp F:\hello.jsp



最后在eclipse启动tomcat,我们本来是访问index.jsp的,现在其实是去F盘访问了hello.jsp:

再针对上面第三种设置方法举个例子,现在我想把安装在D盘的tomcat8自带的examples项目软连接到F盘的test目录中:
1、复制D:\wulinfeng\tomcat\apache-tomcat-8.5.13\webapps\examples到F盘根目录,改名为test,删除D盘examples目录:

2、在D:\wulinfeng\tomcat\apache-tomcat-8.5.13\webapps下建立到F:\test的软连接examples:
D:\wulinfeng\tomcat\apache-tomcat-8.5.13\webapps>mklink examples F:\test
为 examples <<===>> F:\test 创建的符号链接

3、在D:\wulinfeng\tomcat\apache-tomcat-8.5.13\conf\Catalina\localhost下新建examples.xml,examples.xml内容为:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resources allowLinking="true" />
</Context>
4、在D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin下执行startup.bat,启动tomcat
D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin>.\startup.bat
Using CATALINA_BASE: "D:\wulinfeng\tomcat\apache-tomcat-8.5.13"
Using CATALINA_HOME: "D:\wulinfeng\tomcat\apache-tomcat-8.5.13"
Using CATALINA_TMPDIR: "D:\wulinfeng\tomcat\apache-tomcat-8.5.13\temp"
Using JRE_HOME: "D:\Program Files\Java\jdk1.8.0_101"
Using CLASSPATH: "D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin\bootstrap.j
ar;D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin\tomcat-juli.jar"
5、在浏览器请求localhost:8080/examples

tomcat软连接的使用的更多相关文章
- Centos7.3_x86_64通过systemctl控制tomcat8.0.46启动和停止
Centos7.3_x86_64通过systemctl控制tomcat8..46启动和停止 之前在centos 6上通过脚本控制tomcat 启动和停止的脚本,虽然在centos 7也可以使用,但ce ...
- memcache+tomcat7.0.37+nginx实现session共享
一.session工作原理 由于http是无状态的协议,当我们访问了页面A,然后访问页面B,http无法确定这2个页面的访问是来自同一个人.因此,我们要用cookie或session来跟踪用户,根据授 ...
- tomcat 访问软连接
Linux创建软连接: ln -s 源文件 目标文件 tomcat安装目录 / conf目录下的:context.xml文件在 <Context />; 里面加上 allowLinking ...
- 【转】tomcat 访问软连接文件夹下的网页出现404错误,description The requested resource (/xxx.html) is not available.
在 tomcat/webapps/ROOT/ 下建立一个软连接文件ln -s /home/ubuntu/report report 再到report软连接目录里建立个 report.html通过浏 ...
- 设置tomcat支持软连接
一般开发时不会在tomcat安装目录/data/tomcat/webapps/ROOT 下去,上传部署:而是建立软连接,在tomcat安装目录之外操作,比如执行git pull拉取项目,而tomcat ...
- nginx+tomcat实现集群,redis实现session共享,软连接实现文件共享:http://blog.csdn.net/hua1586981/article/details/78132710
转载 2017年02月08日 16:52:41 730 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能 ...
- Tomcat不能访问ln -s软连接文件夹的前因后果
为了部署方便,把webapps下的大文件(图片等资源)放到工程外,通过软连接的方式设置 命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件. ln -s /usr/local/pic/i ...
- centos搭建https协议的tomcat和apache服务器以及nginx服务器,mysql php
Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web ...
- Tomcat编码问题及访问软链接文件设置
Tomcat编码问题及访问软链接文件设置 一.编码问题:让其支持UTF-8格式 修改tomcat中server.xml Connector port=" protocol="org ...
随机推荐
- deep learning深度学习之学习笔记基于吴恩达coursera课程
feature study within neural network 在regression问题中,根据房子的size, #bedrooms原始特征可能演算出family size(可住家庭大小), ...
- [C# | WinCE | Solution] 在 WinCE 上访问 SSL 加密后的 WCF SOAP 服务接口出现“未能与远程服务器建立信任关系”
Scenario: 服务器的 SOAP 使用了 GeoTrust 签名的 EV 证书,WinCE调用时出现“未能与远程服务器建立信任关系”的错误.原因是该 WinCE 设备信任的证书包括 Global ...
- 借助System.Linq.Dynamic, IQueryable根据排序字符串排序
在使用Entity Framework时,若有多个排序,需要OrderBy (OrderByDescending)再ThenBy (ThenByDescending) 假设需要根据Name升序排序,再 ...
- Oracle 客户端库时引发 BadImageFormatException
程序提示错误: 试加载 Oracle 客户端库时引发 BadImageFormatException.如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题. 出现场 ...
- [控件] CircleView
CircleView 效果图: 源码: // // CircleView.h // YXMWeather // // Created by XianMingYou on 15/2/17. // Cop ...
- 谈谈 C++ 中的右值引用
转自:https://liam0205.me/2016/12/11/rvalue-reference-in-Cpp/ 最近在改 XGBoost 的代码.XGBoost 在代码中使用了很多来自 C++1 ...
- oracle数据库之操作总结
## 连接数据库: sqlplus test/test##@localhost:/ORCL ## 查询数据库所有的表: select table_name from user_tables; ## 查 ...
- 集合之HashMap
HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做一个整体来处理,系统会根据 ...
- 【转】numpy-array自带的迭代器-----np.nditer
转自:https://www.jianshu.com/p/f2bd63766204 it = np.nditer(x, flags=['multi_index'], op_flags=['readwr ...
- [转]SVN服务器搭建和使用(二)
上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使用. 首先打开Vi ...