1.虚拟web目录的映射概念和原理:
概念:如果想要让某台计算机的一个目录内容,能被外面的浏览器通过http协议访问,则步骤如下:
(1)首先要在这台计算机上安装和启动一个web服务器软件(Apach,Tomcat.......)
(2)其次还要将该目录映射成一个web站点目录。这个web站点目录通常称为虚拟目录。
(3)一个web站点上只能有一个虚拟目录的根目录,其他的虚拟目录都必须是该目录的子目录。
(4)一般根目录用“/”符号表示,根目录和该根目录下的子目录或资源文件也以“/”符号进行分割。
原理的注意事项:
(1)一个文件系统目录可以被映射为多个虚拟web目录
(2)虚拟Web子目录名称可以是多级目录结构的形式
(3)Tomcat按照最长路径匹配原则处理请求的URL
2.设置web站点的目录:
(1)设置WEB站点的虚拟根目录
(1)在tomcat\webapps\ROOT 中只要直接导入一个html文档就可以直接访问
(2)在server中用标签中设置标签也可以设置根目录
绝对路径:是从盘符开始的路径
相对路径:是从当前路径开始的路径
注:一个host为一个web站点,在host中有一个appBase=“webapps”是基准路径,而相对的路径是基准与基准路径说的,即把webapps设为虚拟的根目录,但一般不改变根。在写标签的时候记住要加尾标签 /
(2)设置web站点的虚拟子目录:
第一种:在server中添加
注:debug的功能不是必须的,它显示的是在后台输出的多少,0表示少, 1表示多
第二种:在webapps下设置的文件夹里的html就可被自动当成是虚拟的子目录
第三种:把想要发布的html文档达成包,可以对其包进行访问
(1)对压缩包设置虚拟的子目录第一种在server中设置 访问时: http://localhost:8080/student/1-1-2.html
注:解压缩war的压缩之后,执行时自动的把压缩的文件压缩到webapps下
(2)对压缩包设置虚拟的子目录第二种
直接把压包拷贝到webapps下就可以,但要注意在访问时的虚拟的子目录是和压缩的名字是一样的,所有要注意路径。
注意:打包时的命令:Jar 命令是用来打包的 (Cd myweb)
jar cvf myweb(压缩的文件名).war .(当前目录下的所有文件)
3.部署描述符和目录的默认网页
(1)部署描述符
部署描述符是web.xm,并且存在两个地方 一个是在Tomcat/conf/web.xml下(因为在这里面的xml是共有的) 一个是在每一个应用程序虚拟子目录写WEB_INF/web.xml
(2)默认网页的设置:
第一种:在conf中的web.xml中的最下面有这个标签里是默认的文件
在虚拟的子目录下拷贝一个名为index的html文件,在运行的时候直接在路径下打虚拟的目录就可以访问,就是因为有web.xml默认的文件
第二种:在虚拟的目录中自己建一个Web.xml,web.xml是在WEB_FIN文件夹下
(3) 配置虚拟主机:
基于主机名的虚拟主机
(1)浏览器访问web资源的过程-------------就是在地址栏上输入路径的过程:
格式: http://IP地址(或主机名):端口号/目录名称/网页文件名称
举例: http://www.it315.org/book/java.html
(2)虚拟主机及实现原理:
目的:在一台计算机上创建多个WEB站点,并为每个WEB站点设置不同的主目录和虚拟子目录,每个WEB站点作为各自独立的网站分配给不同的公司或部门。
好处:多个公司或部门的网站就可以共用同一台计算机,而用户感觉每个公司和部门都有各自独立的网站。多个没有实力在Internet上架设自己专用服务器的中小公司可以联合租用一台WEB服务器,对外提供各自的WEB服务而互不影响。
原理:
WEB服务器上的每个WEB站点必须设置有不同的标识信息
WEB浏览器发出的连接和请求信息中包含WEB站点的标识信息
WEB站点的标识信息:
IP地址、端口号、主机名
详细的实现过程
(1) 两个站点:
主机名:site1 http://site1:8080/index.html
主机名:site2 http://site2:8080/index.html
基于主机名的虚拟主机的设置:
Connector 连接器 监听客户端发来的请求
Engine 引擎标签 用来处理客户请求的,接收连接器的请求并处理完之后返回给连接器
在Engine中有 Host 虚拟主机,一个web站点
(2)在server中加一对Host标签,因为有两个站点
name=”site1” appBase=”e:virtudlHost1”>
(3)http://sitel:8080/test1.html不能访问,因为sitel是域名,在提交请求时必须先添加域名,根据以下路径添加域名
c:\WINDOWS\system32\drivers\hosts 添加域名
127.0.0.1 site1
127.0.0.1 site2
(4)http://sitel:8080/test1.html可正确访问
基于端口号的虚拟主机
(1)创建两个站点:
web站点:8080
web站点:8081
提交请求:http://localhost:8080/index.html
提交请求:http://localhost:8080/index.html
(2)在server中配置:在后创建多个标签
connectionTimeout="20000"
redirectPort="8443"/>