虚拟主机和Web应用
web应用
web应用的目录结构
news(目录,Web应用)
|-- 其他目录: 放在news根目录下或者其他目录下的资源文件, 浏览器可以直接访问
|-- WEB-INF目录: 放在这个目录下的资源文件是受保护的, 浏览器不能直接访问(不是不能访问, 而是不能直接访问, 可以转发访问)
|-- classes目录, 用于存放编译后的class文件
|-- lib目录, 用于存放web应用所依赖的jar包
|-- web.xml文件, 用于存放和Web应用相关的一些配置信息
将web应用部署到虚拟主机中
直接将Web应用的目录拷贝到虚拟主机所管理的目录下,就可以将Web应用发布到虚拟主机中
例如: 将news目录拷贝到webapps目录下,由于webapps目录是localhost虚拟主机默认管理的目录,所以就相当于将news这个Web应用发布到了localhost虚拟主机中。
可以通过如下路径规则访问localhost主机下的news应用下的资源文件:
http://localhost:端口/news/资源路径
配置缺省的(默认的)WEB应用
如果不将news应用配置为缺省的(默认的)Web应用,在访问news下的hello.html时的路径为:
http://localhost/news/hello.html
如果将news应用配置为缺省的Web应用,在访问news下的hello.html时的路径为:
http://localhost/hello.html
如何将news配置为缺省的Web应用(缺省的Web应用只能有一个)?
将Web应用的名字改为一个大写的ROOT,当前Web应用就是一个缺省的Web应用了。
再访问这个Web应用下的资源文件时,访问的路径就不要再写Web应用的名称了。
配置WEB应用的主页
如果没有将ROOT下的hello.html配置为Web应用的主页,在访问hello.html时的路径为:
http://localhost/hello.html
如果将ROOT下的hello.html配置为Web应用的主页,再访问hello.html时的路径为:
http://localhost
http://localhost/hello.html
如何将ROOT下的hello.html配置为应用的主页:找到[ROOT]/WEB-INF/web.xml文件并打开,在web.xml文件的根标签内部添加如下配置:
打war包
war包和jar包都是Java程序中的一种压缩格式。
如果开发一个Java工程,可以将其中编译后的class文件和相关的配置文件打成一个jar包。
如果开发一个Web工程,可以将Web工程中的所有文件和目录达打成一个war包。这样的好处有:
(1)将Web应用打成一个war包,传输起来更加方便,而且文件体积会变小;
(2)将Web包发布到服务器中,服务器能识别war包格式,服务器会将war包自动解压发布。
打war包的方法是:
进入到web应用的根目录下,将Web应用目录下的所有子目录以及文件全部选中,右键压缩成一个xxx.zip包,再报xxx.zip扩展名改为war即可!
需要注意的是:如果出现以下问题,可能会导致打成的war包不会自动解压发布:
(1)在将一个Web应用打成一个压缩包时,没有打成一个xxx.zip包,而是打成了rar格式或其他的压缩格式
(2)打成的war包的名字 和 服务器中已发布的Web应用的名字重名
(3)war包中包含的目录名或文件名是中文的!