在tomcat安装好后,只要把你的web项目copy到%TOMCAT_HOME%webapp下面就可以是使用啦!!其实还有种方法就是设定虚拟目录,即把项目的目录映射到tomcat中。这样做即可以不用重复的部署,节约时间,而且给开发人员带来方便。
方法如下: 
1,找到%TOMCAT_HOME%\conf\Catalina\localhost,Catalina\localhost目录如果存在就手动创建一个,在目录下创建一个xml文件,文件名称不能随意定义,如果你定义为test,那么访问路径就是http://localhost:8080/test/....

<Context reloadable="true" debug="0" docBase="E:\workspace\test\bin" workDir="E:\workspace\test\work" crossContext="true" >
</Context>

不需要配置path

docBase是实际路径,这里一般写一个绝对的磁盘路径,当然也可以写相 对路径,相对路径是相对于tomcat安装目录的webapps目录的,通常设置虚拟目录的目的是将tomcat的安装和项目的保存分开,所以这里建议你 使用磁盘绝对路径,并且这个磁盘路径不时在tomcat安装目录下。workDir是tomcat运行是对JSP文件做编译后的文件,这个文件最好也是分开。

docBase是项目文件夹的WebRoot这一层目录 ,如:

D:\workspace\project\releasedir\FinanceStock

workDir是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析

tomcat 6 不需要设置debug="0"属性,否则有下面的警告:

Setting property 'debug' to '0' did not find a matching property

今天做了个测试,感觉只有当docbase位于tomcat安装目录之下才能够正常启动

2,如果在测试中出现404的错误,如果前面配置没有错,可能就是在%TOMCAT_HOME%\conf\web.xml文件中把虚拟路径显示目录给禁止啦,此时可以在web.xml文件中找到
<servlet> 
<servlet-name>default</servlet-name> 
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> 
<init-param> 
<param-name>debug</param-name> 
<param-value>0</param-value> 
</init-param> 
<init-param> 
<param-name>listings</param-name> 
<param-value>false</param-value> 
</init-param> 
<load-on-startup>1</load-on-startup> 
</servlet> 
将listings的value改为true,然后重新启动tomcat,在输入url,测试成功!

3,如果项目开发完成,准备部署在服务器上时,记住要把第三步中web.xml文件中参数listings的值改为false,这样可以避免把项目的部署路径呈现给使用者!
具体如下: 
<init-param> 
<param-name>listings</param-name> 
<param-value>false</param-value> 
</init-param>

4、访问多台机器文件问题:

文件太多的时候必然需要跨目录或跨盘,这个时候就需要用到虚拟目录,但是Tomcat 不能直接跨Context 进行Forward。 
例如: 
用 Context 配置映射了虚拟目录 data1, 目录下有文件 123.txt 
如果要在 / 下直接 forward 到 "/data1/123.txt" 是不行的,会提示 404 找不到文件。

那么就需要灵活应用Tomcat 虚拟目录映射: 
在 D:\Tomcat\conf\Catalina\test 目录下(test为Server.xml配置文件中的域名) 增加 一个 xml 文件,(test要创建),创建之后加上这个样一个XML文件(这里就取名为data1.xml):
<Context docBase="\\IP\data1" reloadable="false" crossContext="true" /> 
并且修改 Server.xml 中的 Context 允许 crossContext="true"。 
那么就可以在工程中访问另外台机器上的文件(当然这个台机器需要共享访问的文件)。例如: 
<img src="/data1/001/002/003.png">,来显示图片。

问题又来了,就是权限问题,共享的文件不想给任何人访问的话,就需要设置共享权限,那么就需要配置tomcat的权限: 
1、在共享的机器上设置tomcat帐户和密码,并加入共享权限。 
2、然后在放tomcat的服务器上,设置相同的tomcat帐户和密码。 
3、在tomcat服务上配置登录账号和密码。

最新文章

  1. 《C++primer》v5 第8章 IO库 读书笔记 习题答案
  2. PLC M8000 M8001 M8002 M8003
  3. ie8下table的colspan属性与max-with属性的显示错乱问题
  4. iOS控件——UIView的viewWithTag:(int)findTag方法描述
  5. table固定宽度高度, 及overflow省略号
  6. RPC vs RESTful
  7. 关于React Native项目在android上UI性能调试实践
  8. C# 将对应的xml文档赋值给指定模型(对象)
  9. Sonar 配置及部署(windows系统)
  10. typescript 01 认识ts和ts的类型
  11. 解决find命令报错: paths must precede expression
  12. EF6 学习笔记(一):Code First 方式生成数据库及初始化数据库实际操作
  13. wtforms源码流程
  14. (转)MySQL排序原理与案例分析
  15. c++ string split
  16. Restful framework【第五篇】解析器
  17. bzoj千题计划232:bzoj4727: [POI2017]Turysta
  18. hyper-v 用户无法再 创建外部配置存储 0x80070005
  19. 6.19-response(响应),session(会话技术,服务器端技术) 内置对象,application(内置对象),pageContext (内置对象),cookie(客户端技术)
  20. 使用minikube在本机测试kubernetes

热门文章

  1. Android --------------------ActionBar 与 ViewPager 和 ActionTab 切换 的源代码实现
  2. Viso Professional 2013版本激活(office 系列产品 -- visio 2013 / project 2013 破解工具 - KMSpico)
  3. 原来的debussy可以在win7的64位系统下运行吗
  4. 10、Windows10 上,在窗口左侧向右滑动打开 SplitView 的 Pane面板
  5. #include&lt;algorithm&gt;里的函数
  6. jquery全部版本
  7. 强大的CSS3动画库animate.css
  8. u-boot 2016.05 添加自己的board 以及config.h
  9. Ubuntu下SSH安装及提高SSH登陆认证速度的办法
  10. Apache HttpComponents Custom protocol interceptors通过拦截器自定义压缩