【TomCat目录结构】

bin----------存放TomCat的操作命令。bat:window版本,sh:Linux版本。

      startup.bat:   后台在调用catalina.bat start

      shutdown.bat:后台在调用catalina.bat stop

conf---------存放TomCat服务器的各种配置文件,其中server.xml文件是核心配置文件。

lib-----------存放TomCat服务器的支撑jar包

logs---------存放TomCat的日志文件

temp--------存放TomCat运行时产生的临时文件

webapps----web应用所在的目录,即供外界访问的web资源的存放目录

work---------TomCat的工作目录。存放jsp页面运行过程中产生的临时文件。

【TomCat启动出错可能的原因】

1.闪退(JAVA_HOME环境变量问题)

  原因:在TomCat服务器启动时(运行startup.bat),在本地环境变量中查找一个叫JAVA_HOME的环境变量。Tomcat由java开发,需要用jvm运行。

  解决方法:在本地环境变量中配置好JAVA_HOME,如 JAVA_HOME=D:\Program Files\Java\jdk1.8.0_91

2.端口占用

  原因:TomCat服务器启动所需要的端口被其它软件占用

  解决方法:

    *. 杀死对应端口的程序(杀死进程)

    *. 改变TomCat服务器启动端口:找到/conf/server.xml     

修改端口如:<Connector port="8081" protocol="HTTP/1.1"  connectionTimeout="20000" redirectPort="8443" />

3.CATALINA_HOME环境变量设置问题(假设C盘和D盘各有一个Tomcat,Catalina_home环境变量配置的是D盘的TomCat,那么会导致,双击C盘TomCat的startup.bat,却会启动D盘的TomCat)

  原因:TomCat在启动成功后通过CATALINA_HOME环境变量加载TomCat的根目录下的文件(如conf、webapps)

  解决方法:建议不要设置CATALINA_HOME环境变量

  注意:安装版本的TomCat会自动设置CATALINA_HOME环境变量!

【Web应用程序】

* Web应用程序指供浏览器访问的程序,通常也称为Web应用。

* 一个Web应用由多个静态Web资源和动态Web资源组成,如:

  1.html、css、js文件

  2.Jsp文件、java程序、支持jar包

  3.各种配置文件

  4.组成web应用的这些文件通常会使用一个目录组织,这个目录称为Web应用所在目录。

* Web应用开发之后,如果想提供给外界访问,需要把Web应用所在目录交给Web服务管理,这个过程称为:虚拟目录的映射。

 【Web应用目录结构 规范】

|--WebRoot:  根目录。一个Web应用必须有一个根目录

  |--静态资源:  html+css+javascript+images+xml

  |--WEB-INF:   目录。名称是固定写法。

    |--class:   (可选)目录。名称是固定写法,存放class字节码。

    |--lib:       (可选)目录。名称是固定写法。存放jar包 ,不能有子目录,全部jar包放在根目录中。

    |--web.xml: 文件。web应用的配置文件。

注意点:

  1.不做任何配置的情况下,WEB-INF目录下的文件不能直接通过浏览器访问。

  2.在web.xml文件中进行配置,那么WEB-INF目录下的内容就可以直接被外界访问到。

【关于web.xml文件】

web.xml文件是整个web应用中最重要的配置文件,它必须放在WEB-INF目录中。

在开发web应用时,但凡涉及到web应用中的web资源进行配置,全部是在web.xml文件中进行设置。

资源的配置,例如:

  * 某个web资源配置为网站首页。

  * 将Servlet程序映射到某个url地址上。

  * 为web应用配置监听器。

  * 为web应用配置过滤器。

  * 把某个web资源设置成网站首页。

【TomCat站点配置】

原始的设置在conf/server.xml中:

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> </Host>

name:表示站点的名称。访问站点就使用站点名称。

appBase:表示站点的根目录。用于存放所有web应用。一个站点下可以包含多个web应用。

[如何在TomCat下配置一个站点]

1.修改conf/server.xml中的

<!--- 配置一个新的站点: www.baidu.com
name: 站点的名称
appBase:站点的根目录
-->
<Host name="www.baidu.com" appBase="e:\baidu"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>

在E:\baidu\news\2.html中,写入,做好准备。

2.修改本地域名和ip映射文件host文件,加上 127.0.0.1  ww.baidu.com

3.启动TomCat,访问测试

访问默认站点:http://localhost:8080

访问新站点:http://www.baidu.com:8080/news/2.html

注:访问http://www.baidu.com:8080/news/2.html,谷歌浏览器不能正常访问,搜狗可以。

09_TomCat_基础知识的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. C#程序实现动态调用DLL的研究

    摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...

  2. Php AES加密、解密与Java互操作的问题

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  3. 理解 auto_ptr<T>

    1.auto_ptr<T>解决什么问题? 在堆上获取的资源,客户可能会忘记delete,或者由于异常没有执行到delete,导致资源泄漏.在栈上分配的对象,有个特点,不论出现什么情况,超出 ...

  4. 传微软欲收购Xamarin:未来有望通过VS开发iOS和Android应用?

    据CRN报道,其援引匿名人士的消息称,微软将收购一家创建C#移动应用工具的公司或进行注资,并且谈判已经到了最终阶段.这家公司的名字叫做Xamarin,创建于2011年.对于微软来说,收购Xamarin ...

  5. Redis的Time Event与File Event的微妙关系

    redis里设计了两类事件,一类是file event,一类是time event. 其中file event主要为网络事件而设计,而time event为一些后台事件设计. 在两类事件的管理设计上, ...

  6. Android蓝牙操作笔记

    蓝牙是一种支持设备短距离传输数据的无线技术.android在2.0以后提供了这方面的支持. 从查找蓝牙设备到能够相互通信要经过几个基本步骤(本机做为服务器): 1.设置权限 在manifest中配置 ...

  7. UITableView实现格瓦拉飞天投票模块

    格瓦拉目前来说动画效果确实做的还比较好,虽然不是说很炫但做到精致,这次就模仿了它投票的模块.其实想到要实现它还是有很多方法,不过这次我还是采用了苹果自带控件UITableView简简单单来实现它,再次 ...

  8. Android ListView快速定位(二)

    方法二:android:textFilterEnabled="true" + Filter 这个属性在android.widget.AbsListView下,要求adapter必须 ...

  9. ios开发——实用技术OC-Swift篇&触摸与手势识别

    iOS开发学习之触摸事件和手势识别   iOS的输入事件 触摸事件 手势识别 手机摇晃 一.iOS的输入事件   触摸事件(滑动.点击) 运动事件(摇一摇.手机倾斜.行走),不需要人为参与的 远程控制 ...

  10. android124 zhihuibeijing 新闻中心-新闻 -北京页签 下拉刷新

    缓存工具类:以url为key,json数据为value, package com.itheima.zhbj52.utils; import com.itheima.zhbj52.global.Glob ...