Web应用(创建静态应用,创建动态应用,配置外部应用(了解),理解server.xml(了解),映射虚拟主机(了解))
来源:互联网 发布:java找工作好难啊 编辑:程序博客网 时间:2024/05/29 02:52
Web应用(重点)
静态网站:
注意webapps是tomcat下的文件夹下的路径
l 在webapps目录下创建一个目录(命名必须不包含中文和空格),这个目录称之为项目目录;
l 在项目目录下创建一个html文件;
动态网站:
l 在webpass目录下创建一个项目目录;
l 在项目目录下创建如下内容:
Ø WEB-INF目录;
¨ 在WEB-INF目录下创建web.xml文件[c1]
Ø 创建静态或动态页面
1 创建静态应用
l 在webapps下创建一个hello目录;
l 在webapps\hello\下创建index.html;
l 启动tomcat;
l 打开浏览器访问http://localhost:8080/hello/index.html
index.html
<html>
<head>
<title>hello</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
2 创建动态应用
l 在webapps下创建hello1目录;
l 在webapps\hello1\下创建WEB-INF目录;
l 在webapps\hello1\WEB-INF\下创建web.xml;
l 在webapps\hello1\下创建index.html。
l 打开浏览器访问http://localhost:8080/hello/index.html
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>
完整的Web应用还需要在WEB-INF目录下创建:
l classes;
l lib目录;
webapps
|- hello
|-index.html
|-WEB-INF
|-web.xml
|-classes
|-lib
l hello:应用目录,hello就是应用的名称;
l index.html:应用资源。应用下可以有多个资源,例如css、js、html、jsp等,也可以把资源放到文件夹中,例如:hello\html\index.html,这时访问URL为:http://localhost:8080/hello/html/index.html;
l WEB-INF:这个目录名称必须是大写,这个目录下的东西是无法通过浏览器直接访问的,也就是说放到这里的东西是安全的;
l web.xml:应用程序的部署描述符文件,可以在该文件中对应用进行配置,例如配置应用的首页:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
l classes:存放class文件的目录;
l lib:存放jar包的目录;
3 配置外部应用(了解)
原来我们的项目放到webapps下,现在我放到外面,也希望tomcat可以找到它!
也可以把应用放到Tomcat之外,这就是外部应用了。例如我们把上面写的hello应用从webapps目录中剪切到C盘下,即C:/hello。现在hello这个Web应用已经不在Tomcat中了,这时我们需要在tomcat中配置外部应用的位置,配置的方式一共有两种:
l conf/server.xml:打开server.xml文件,找到<Host>元素,在其中添加<Context>元素,代码如下:
server.xml
1) path:指定当前应用的名称;
2) docBase:指定应用的物理位置;
3) 浏览器访问路径:http://localhost:8080/itcast_hello/index.html。
l conf/catalana/localhost:在该目录下创建itcast_hello.xml文件,在该文件中编写<Context>元素,代码如下:
1) 文件名:指定当前应用的名称;
2) docBase:指定应用的物理位置;
3) 浏览器访问路径:http://localhost:8080/itcast_hello/index.html。
4 理解server.xml(了解)
<Server>
<Servier>
<Connector>
<Engine>
<Host>
<Context>
l <Server>:根元素,表示整个服务器的配置信息;
l <Service>:<Server>的子元素,在<Server>中只能有一个<Service>元素,它表示服务;
l <Connector>:<Service>的子元素,在<Service>中可以有N个<Connector>元素,它表示连接。
l <Engine>:<Service>的子元素,在<Service>中只能有一<Engine>元素,该元素表示引擎,它是<Service>组件的核心。
l <Host>:<Engine>的子元素,在<Engine>中可以有N个<Host>元素,每个<Host>元素表示一个虚拟主机。所谓虚拟主机就像是真的主机一样,每个主机都有自己的主机名和项目目录。例如<Host name=”localhost” appBase=”webapps”>表示主机名为localhost,这个主机的项目存放在webapps目录中。访问这个项目下的主机时,需要使用localhost主机名,项目都存放在webapps目录下。
l <Context>:<Host>元素的子元素,在<Host>中可以有N个<Context>元素,每个<Context>元素表示一个应用。如果应用在<Host>的appBase指定的目录下,那么可以不配置<Context>元素,如果是外部应用,那么就必须配置<Context>。如果要为应用指定资源,也需要配置<Context>元素。
我们可以把<Server>看作是一个大酒店:
l <Service>:酒店的服务部门;
l <Connector>:服务员;
l <Engine>:后厨;
l <Host>:后厨中的一个区,例如川菜区是一个<Host>、粤菜区是一个<Host>;
l <Context>:后厨的一个厨师。
用户发出一个请求:http://localhost:8080/hello/index.jsp。发现是http/1.1协议,而且还是8080端口,所以就交给了处理这一请求的“服务员(处理HTTP请求的<Connector>)”,“服务员”再把请求交给了“后厨(<Engine>)”,因为请求是要一盘水煮鱼,所以由“川菜区(<Host>)”负责,因为“大老王师傅<Context>”做水煮鱼最地道,所以由它完成。
l <Connector>:关心请求中的http、和8080;
l < Host>:关心localhost;
l <Context>:关心hello
5 映射虚拟主机(了解)
我们的目标是,在浏览器中输出:http://www.itcast.cn就可以访问我们的项目。
完成这一目标,我们需要做三件事:
l 修改端口号为80,这一点应该没有问题吧;
l 在本机上可以解析域名为127.0.0.1,这需要修改C:\WINDOWS\system32\drivers\etc\hosts文件,添加对http://www.itcast.cn和127.0.01的绑定关系;
l 在server.xml文件中添加一个<Host>(主机)。
1) 修改端口号为80
2) 绑定http://www.itcast.cn和127.0.01的绑定关系
3) server.xml文件中添加一个<Host>
l name=”www.itcast.cn”:指定虚拟主机名为www.itcast.cn;
l appBase=”F:/itcastapps”:指定当前虚拟主机的应用程序存放目录为F:/itcastapps。
l 在itcastapps目录下创建名为ROOT的应用,因为一个主机只可以有一个名为ROOT的应用,名为ROOT的应用在浏览器中访问是可以不给出应用名称。
现在访问:http://www.itcast.cn看看是什么页面!
请注意,只有本机可以通过http://www.itcast.cn来访问,而其他电脑不可以!
web.xml文件的内容,我们可以去其他项目中借!
- Web应用(创建静态应用,创建动态应用,配置外部应用(了解),理解server.xml(了解),映射虚拟主机(了解))
- python-创建桌面应用--了解
- 简单了解阿里云Web应用防火墙(上篇)
- 简单了解阿里云Web应用防火墙(下篇)
- Fragment的应用与了解(一)
- Fragment的应用与了解(二)
- Web应用创建动态应用
- 1.了解轻应用
- EventBus 了解及应用
- 了解WEB页面工具语言XML(四)应用分类
- 了解WEB页面工具语言XML(四)应用分类
- Cookie应用完全解析(二):了解 SSL协议
- 懒人服务器 - 教程三、了解如何应用(服务器端)
- 懒人服务器 - 教程三、了解如何应用(客户端)
- 懒人服务器 - 教程三、了解如何应用(DotNet客户端)
- 懒人服务器 - 教程三、了解如何应用(Swing客户端)
- 【颗粒归仓】(二)ajax的了解和应用
- iOS 11开发教程(十一)了解iOS11应用视图
- 矩阵中的路径
- fragment
- 使用开源框架制造网络图片查看器
- STM32 keil4 extern问题
- Intent
- Web应用(创建静态应用,创建动态应用,配置外部应用(了解),理解server.xml(了解),映射虚拟主机(了解))
- Android学习笔记(35):Android活动条
- newInstance( )和new的区别
- Web安全漏洞(续)
- 常对象和常成员函数
- Notification任务通知栏
- leetcode——53——Maximum Subarray
- C#学习之旅2
- 欢迎使用CSDN-markdown编辑器