Tomcat下一个应用,怎么配置多个访问路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat下一个应用,怎么配置多个访问路径相关的知识,希望对你有一定的参考价值。

server.xml <Host>中添加<Context path="/web" docBase="D:\MyEclipse10\WorkSpace\httpweb\WebRoot" reloadable="false" crossContext="true" > 你想加多少工程就可以加多少,只要硬件支持就没有问题 参考技术A 在\conf下server.xml文件 拉到最后 在</Host>前加
<Context path="/xxx" docBase="项目路径+\WebRoot" reloadable="true" crossContext="true"></Context>
例:<Context path="/myoa" docBase="F:\WorkSpace\oa\WebRoot" reloadable="true" crossContext="true"></Context>
浏览器输入 http://127.0.0.1:8080/myoa就可以

tomcat对请求路径的匹配过程

1.匹配服务

如果有两个应用,一个应用只能通过80端口访问,另一个应用只能通过8080端口访问,这种情况下,可以分开两个服务,然后分别创建80端口和8080端口的连接器。

 

2.匹配主机

一个服务下配置一个引擎,一个引擎下可以配置多个主机,通过请求路径的域名匹配主机名称,如果未匹到,则使用默认的主机,默认主机由引擎的属性defaultHost配置。

 

3.匹配上下文(应用)

一个主机下可以配置多个上下文,通过URI匹配上下文的路径,如果未匹配到,则匹配失败。

 

4.选用版本

其实一个主机下可以配置相同路径的上下文,但需要版本不同。匹配到上下文后,会优先选用最新版本的,版本是按字典排序后,以最后一个为最新版。

所以旧版一般是不会被用到的,当需要在不停止运行tomcat的情况下,进行新版替换旧版。 这时候,新版通过自动部署方式,加入tomcat,旧版仍然处理请求,不影响客户端继续操作。

如果请求所保持的Session仍存活于旧版本,则继续使用旧版。如果请求还在旧版激活过Session,则使用新版处理。

 

5.匹配Servlet

一个Servlet可以配置多个映射模式,通过上下文URI匹配映射模式,映射模式有四类,分别是完全路径匹配,路径匹配,扩展名匹配和默认模式。如果前三类未匹配到,则直接使用默认模式的Servlet。

在全局web配置中,就可以发现有默认配置的Servlet:

<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

另外,配置里面还有JSP servlet:

    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>

 

6.匹配资源

所以,不管需要获取什么资源,必须先匹配到Servlet,然后再由Servlet返回资源。

tomcat是采用虚拟资源映射,可以由多个物理资源映射到同一个虚拟资源,由多个虚拟资源映射到同一个物理资源。

以上是关于Tomcat下一个应用,怎么配置多个访问路径的主要内容,如果未能解决你的问题,请参考以下文章

tomcat对请求路径的匹配过程

tomcat里前后端分开两个文件夹怎么访问

怎样配置tomcat6.0的虚拟路径

tomcat怎么配置地址映射

tomcat的虚拟路径问题

怎么配置tomcat的默认页面