Tomcat配置虚拟目录并发布web应用

网友投稿 843 2022-05-29

1. 什么是 Web应用?

在Web服务器上运行的 Web资源都是以 Web应用形式呈现的,所谓 Web应用就是多个Web资源的集合,Web应用通常也称为Web应用程序或 Web工程。一个 Web应用由多个Web资源或其他文件组成,其中包括 html文件,css文件、js文件,动态 Web页面、java程序、支持jar包、配置文件等。开发人员在开发Web应用时,应按照一定的目录结构来存放这些文件;否则,在把Web应用交给Web服务器管理时,不仅可能会使Web应用无法访问,还会导致Web服务器启动报错。接下来通过一个图例来描述Web应用的目录结构,如图2-17所示。

从图2-17可以看出,一个 Web应用需要包含多个目录,这些目录用来存储不同类型的文件。其中,所有的 Web资源都可以直接存放在Web应用的根目录下,在 Web应用的根目录中还有一个特殊的目录WEB-INF,所有的配置文件都直接存放在这个目录中,WEB-INF还有两个子目录分别是classes目录和lib目录,classes目录用于存放各种.class文件,lib目录用于存放Web应用所需要的各种jar文件。

2. 配置Web应用虚拟目录

开发好的Web应用要想被外界访问,除了需要安装一个Web服务器外,还要将该Web应用映射成为一个能够供外界访问的虚拟Web目录,这个过程称为配置Web应用虚拟目录。Tomcat服务器从6.0的版本开始,会自动管理webapps目录下的 Web应用,并将 Web应用目录的名称作为虚拟目录名称。

先看一个例子,在Tomcat的 webapps下创建目录test01, test01为 Web应用的名称,然后在test01目录下创建一个 welcome.html文件,在该文件中写入“这是一个test01文件”,代码如下:

这是一个test01文件

启动Tomcat服务器(双击在tomcat安装目录下的bin目录下的startup.bat启动即可),在浏览器地址栏中输入 http://localhost:8080/test01/welcome.html访问welcome.html页面,此时,浏览器窗口中显示的结果如图所示。

从图中可以看出,浏览器窗口中显示了welcome.html页面的内容。由此说明,放在 webapps目录下的 Web 应用可以直接被外界访问。

但是,如果将所有的Web应用都放在webapps目录下也是不合理的。有时候,会将Web应用放置在其他目录下,那么,这时,Web服务器又是如何管理Web应用呢?接下来通过一个案例来演示。首先将test01目录剪切到D盘根目录下,打开浏览器再次访问该应用,此时浏览器窗口会出现404错误,如图所示。

图中之所以出现了404错误,原因是Tomcat无法管理/webapps目录以外的Web应用程序,在这种情况下,Web应用要想被外界访问,就需要手动配置虚拟目录,在Tomcat服务器中配置虚拟目录有两种方式,具体如下。

1. 在server.xml 文件中配置虚拟目录

首先打开/conf目前下的serve.xml文件,在 元素中添加一个元素,具体代码如下所示:

上述代码中,元素用于将本地文件系统中的一个目录映射成一个可供Web浏览器访问的虚拟目录。其中,path属性用于指定Web应用的虚拟路径;docBase属性用于指定该虚拟路径所映射到本地文件系统目录,可以使用绝对路径或相对于/webapps的相对路径。需要注意的是,修改后的server.xml文件不会立即生效,必须重新启动tomcat服务器。

重启tomcat后:

从图中可以看出,浏览器成功地访问到了welcome.html文件。由此说明,通过在server.xml文件中添加元素方式,可以实现Web应用虚拟路径的映射。需要注意的是,如果将path 设置为" ",则表示默认的 Web应用。

2. 在自定义xml文件中配置虚拟目录

在实际开发中,如果经常在server.xml文件中配置虚拟目录会有一个弊端,那就是每次修改server.xml文件后,要想使文件生效,必须重新启动Tomcat服务器。为了解决这个问题,可以采用另外一种方式配置虚拟目录,即在自定义的XML文件中配置虚拟目录。接下来,以test01为例,讲解如何在自定义XML文件中配置虚拟目录。

Tomcat配置虚拟目录并发布web应用

在测试之前先注释掉上面sever.xml配置好的Context

首先进入\conf\Catalina\localhost目录,在该目录中创建一个名为test01.xml的配置文件(文件名可以任意,但必须是.xml文件),然后将server.xml文件中配置好的元素复制到该文件中

重新启动Tomcat服务器,访问welcome.html文件如图所示:

从图中可以看出,浏览器中同样显示了welcome.html 页面,说明使用自定义XML文件也可以配置虚拟目录。

需要注意的是,在自定义的XML文件中,不仅可以配置虚拟目录,还可以配置默的Web应用。配置方式很简单,只需要将test01.xml文件重命名为ROOT.xml 即可。启动Tomcat服务器,在浏览器中输入 http:// localhost:8080/welcome.html 访问welcome.html,发现浏览器可以成功访问到默认Web应用中的页面 welcome.html,浏览器显示的结果如所示。

3. 配置Web应用默认页面

当访问一个Web应用程序时,通常需要指定访问的资源名称,如果没有指定资源称,则会访问默认的页面。例如,在访问新浪的体育新闻页面时需要输入http:/ /sportssina. com. cn/index.html,有的时候也希望只输入http://sports. sina. com.cn/就能访体育新闻页面。要想实现这样的需求,只需要修改WEB-INF目录下的web.xml文件的配置即可。

为了帮助初学者更好地理解默认页面的配置方式,首先查看一下Tomcat服务器安装目录下的web.xml文件是如何配置的,打开\conf目录下的 web.xml文件,可以看到如下所示的一段代码(代码在web.xml最底下):

index.html index.htm index.jsp

在上述代码中,元素用于配置默认页面列表,它包含多子元素,每个子元素都可以指定一个页面文件。当用户访问Web应用时,如果没有指定具体要访问的页面资源,Tomcat 会按照元素指定默认页面的顺序,依次查找这些默认页面,如果找到,将其返回给户,并停止查找后面的默认页面;若没有找到,则返回访问资源不存在的错误提示页面。

Tomcat web前端 XML 虚拟化

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Java核心面试宝典】Day7、面向对象常见面试题汇总(二)
下一篇:很多人不知道的求素数的正确方法
相关文章