笔记摘要:
这里介绍了Tomcat服务器的结构,WEB应用的基础知识,一个简单的WEB应用应该由哪些部分构成,以及在Tomcat中如何配置虚拟主机和设置虚拟目录映射
以及它们各自的默认应用 的配置方式
二、WEB应用程序
WEB应用程序指供浏览器访问的程序,通常也简称为web应用,是为了提供某一特定功能而按照一定方式组织起来的web资源的组合。
一个web应用由多个静态web资源和动态web资源组成,如:
html、css、js文件
Jsp文件、Java程序、支持jar包、
配置文件
一个web应用所使用的web资源我们通常使用目录进行组织,这个目录我们通常称为 web应用所在的目录
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
三、WEB应用的组成结构
开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。
四、WEB.xml文件
通过web.xml文件,可以将web应用中的:
某个web资源配置为web应用首页
将servlet程序映射到某个url地址上
为web应用配置监听器
为web应用配置过滤器
但凡涉及到对web资源进行配置,都需要通过web.xml文件
举例:通过web.xml文件配置web应用首页再配置成网站主页。
注意:Web.xml文件必须放在web应用\WEB-INF目录下。
五、Tomcat中的虚拟主机
4.1虚拟主机:tomcat是一台真实主机,这台真实主机中可以运行多个网站,而对于浏览器来说,再访问的时候,感觉上所有的网站都运行在自己独立的主机上,
所以我们就说这些网站都是一个虚拟主机,一个网站就是一个虚拟主机。
4.2配置虚拟主机:在server.xml文件中<Engine>标签下配置<Host>标签,其中用name属性声明主机名,用appBase来指定虚拟主机对应的目录,这个目录下存放
的web应用会由该虚拟主机自动管理。
4.3虚拟主机配置好后,还需要在DNS服务器上注册自己的主机名和对应的IP地址,别人才可以真正通过网址来访问。
* 我们在实验时,无法修改DNS服务器,但是可以使用 c:/windows/system32/drivers/etc/hosts文件来模拟这个过程。
*浏览器在通过主机名访问服务器的时候,首先回去找Host文件,试图将主机名翻译成ip地址,如果找到对应信息就使用,找不到才去找DNS服务器。
4.4缺省虚拟主机的配置:当浏览器通过ip地址来访问服务器的时候,服务器将会用哪个虚拟主机去处理请求呢?会使用<Engine>元素上配置的defaultHost属性
值设置的那个虚拟主机。
实验:在联网状态先,利用nslookup命令,查找百度的真实ip地址,利用ip地址去访问百度。
六、虚拟主机中配置web应用
下面的实验都是建立在路径为 C:\news\1.html的应用上的
6.1配置web应用的三种方式及其默认应用的配置
6.1.1在server.xml中的<Host>下配置<Context>,用path指定虚拟路径,用docBase指定真实路径。
<Context path="/news" docBase="C:\news"/> 访问路径为:http://localhost:8080/news/1.html
默认web应用
如果将path设为空,则该web应用就被设置成了该虚拟,主机的默认web应用,不推荐,因为需要重启服务器。
<Context path="" docBase="C:\news"/> 访问路径为:http://localhost:8080/1.html
6.1.2在conf/Catalina/主机名 下,新建以虚拟路径为名称的.xml文件,其中配置<Context>,注意这里的Context就不用配置path了。因为文件名即为虚拟
路径名,所以只配置资源所在路径即可:在news.xml 文件里配置:<Context docBase="c:\sina"/> web应用所在目录
访问路径:http://localhost:8080/news/1.html
默认web应用
虚拟路径名可以使用#进行分割,代表多层目录,例如:news#todayxml,访问路径为:http://localhost:8080/news/today/1.html
可以将文件名取为ROOT.xml用来配置虚拟主机的默认web应用
6.1.3直接将web应用放置到当前虚拟主机对应的真实目录中去,虚拟主机将会自动管理访问路径为:http://localhost:8080/news/1.html
默认web应用
可以将web应用所在的目录起名为ROOT,作为虚拟主机的默认web应用。
那么不用指定应用就可以直接访问内部的资源:http://localhost:8080/1.html
6、小知识点
6.1打war包:war包可以直接放在虚拟主机对应的目录用,将自动解压
(1)直接将web应用所在目录中的所有内容压缩为zip格式,改后缀名为.war
(2)用jar -cvf xxx.war * 命令打包web应用所在目录中的所有内容
6.2通用Context和通用web.xml
conf/Context.xml是所有<Context>的爸爸,其内容将被继承
cnf/web.xml是所有web.xml的爸爸,其内容将被继承
6.3tomcat管理工具
在tomcat的主页上点击Tomcat Manager进入tomca管理工具管理web应用。
需要配置conf/tomcat-users.xml,设置用户名和密码。
6.4Context的常用属性
docBase:web应用的真实目录
path:web应用的虚拟目录
reloadable:是否监视classes、lib的变化,如果设置为true。在开发阶段可以设置为true方便开发,生产阶段要设置为false避免消耗资源。
unpackwar:自否自动解压war包