设为首页 收藏本站
查看: 634|回复: 0

[经验分享] Tomcat入门(一)

[复制链接]

尚未签到

发表于 2017-1-17 11:11:11 | 显示全部楼层 |阅读模式
 WEB站点虚拟目录

 

  server.xml
  给server.xml加中文注释导致tomcat无法启动
1.配置文件改错了
2.加了中文注释(虽然xml头部声明编码为utf-8),但是在添加中文注释的时候,编辑器如editplus使用的ANSI编码进行保存的,导致tomcat解析server.xml编码不一致!
  <Host name="localhost" appBase="webapps"/> 
将webapps指定为WEB站点的基准目录
其下的ROOT目录将默认作为根目录(如果有)
 
  本地文件系统的某个目录映射为一个WEB站点的虚拟目录

path="" 表示设置WEB站点的根目录
docBase 虚拟目录所映射的本地文件系统目录
可以使用绝对路径或者相对路径(相对于host元素的appBase所指定的目录)
<Context path="" docBase=""/>
  
设置WEB站点的虚拟子目录
  1.在server.xml文件中的<host>中配置<Context>元素
如,<Context path="/myApp" docBase="/demo"/>
  2.特殊目录下的XML文件中包含<Context>元素
如,E:\soft\apache-tomcat-6.0.39\conf\Catalina\localhost\manager.xml文件中包含的<Context>元素:
<Context antiResourceLocking="false" privileged="true" useHttpOnly="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>
  3.<Host>元素的appBase属性所指向的目录("webapps"),所包含的目录中包含WEB-INF/web.xml的那些子目录
如,WEB-INF/web.xml在 webapps/demo/目录下,则以"demo"作为该WEB站点的虚拟子目录
  4.<Host>元素的appBase属性所设置的基准目录下的war文件,将以该war文件的名称作为WEB站点的虚拟目录
如,webapps/demo.war ,则该WEB站点的虚拟目录为"demo"
  
使用<Context>为1个文件系统目录设置多个虚拟目录
如webapps/demo.war
可以通过<Context>设置若干个虚拟目录
<Context path="path1" docBase="/demo.war"/>
<Context path="path2" docBase="/demo.war"/>
<Context path="path3" docBase="/demo.war"/>
   
  打war包命令
  E:\soft\apache-tomcat-6.0.39\webapps> jar  -cvf  new.war  -C  demo  .
  将webapps目录下的demo目录下的所有文件打包为war包,该war包的名称为new.war
基于主机名的WEB站点虚拟主机

 

  <host/> 表示1个WEB站点
  <Engine/>内部可以配置多个<host/>来指定多个虚拟主机

<!-- 默认主机为name="localhost"的Host -->
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<!-- 默认主机,该主机的根目录通过appBase设置为"webapps"(相对路径:相对于tomcat目录) -->
<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<!-- 虚拟主机:Virtual Machine A -->
<Host name="www.server.com"  appBase="virtualMachineA"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="demo"/>
</Host>
</Engine>
   
  上面的配置,通过<Host>设置了一个新的虚拟主机
name=www.server.com指定了该虚拟主机的名称
[修改hosts文件:127.0.0.1   www.server.com]
 
appBase="VirtualMachine" 指定该虚拟主机的根目录为相对与Tomcat目录下名称为VirtualMachine的目录
 
接着,在<Host>内部,通过<Context>设置该WEB站点的根目录
path="" 表示设置WEB站点的根目录,然后通过docBase="demo"指定根目录为"demo"
这里的"demo"也是一个相对路径的写法,它是相对于appBase属性所指向的目录
即,docBase="demo" 等效于 docBase="apache-tomcat-6.0.39\virtualMachineA\demo"
【也可以使用Tomcat的默认机制,在WEB站点下直接创建ROOT目录,该目录将自动被解析为根目录,前提是没有另外设置path=""】
 
本例中的目录结构大概如下: 
apache-Tomcat
webapps
ROOT
oa.war
VirtualMachine
ROOT
index.html
demo
index.html
 
当访问http://localhost:8080/时
将打开Tomcat默认的主页,也就是webapps下的ROOT目录中的index.html
 
当访问http://www.server.com:8080/时
将打开VirtualMachine下的demo目录下的index.html

<!-- 通过1个Service标签,封装多个Connector与1个Engine,这样,Connector就有了对应的Engine匹配 -->
<Service name="Catalina">
<!-- Connector负责不同端口的监听,1个Connector监听1个端口号 -->
<Connector port="8080"/>
...
<Connector port="8009"/>
<!-- 每个Connector都需要有1个Engine进行处理 -->
<Engine name="Catalina" defaultHost="localhost">
<!-- 1个Engine下面可以配置多个Host -->
<Host name="localhost"/>
...
<Host name="www.server.com">
<!-- 1个Host中可以配置多个Context -->
<Context/>
<Context/>
<Context path="" docBase="demo"/>
</Host>
</Engine>
</Service>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-329757-1-1.html 上篇帖子: tomcat读取jndi 下篇帖子: 在eclipse中配置tomcat,不用经常重启Tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表