`

Tomcat访问路径去掉发布项目的项目目录

阅读更多
需求:
把发布到Tomcat下的web项目,访问路径去掉项目名称

问题背景:
以前的.net些的WebService,现在改用java来写了。已经把wsdl搞的基本一致了,但是由于原webservice发布到iis网站的根目录了,所以访问的时候也就没有虚拟目录的名字。但是java写的WebService,放到Tomcat下的时候,默认会带上项目的名称。就多了这么一段:
如原来的wsdl为:http://localhost:8080/SearchReqService.asmx?wsdl
现在的wsdl为:http://localhost:8080/Interface/SearchReqService.asmx?wsdl
而且wsdl地址事先约定好了,不能改变,不然就牵扯到第三方改动、

实现方式及原理:

方式一:
原理:Tomcat的默认根目录是ROOT,实际上ROOT这个项目在实际生产环境是没有用的,所以我们可以用我们的项目覆盖ROOT项目
操作过程:
1.删除ROOT下所有文件及文件夹
2.把我们项目的war包解压后,项目目录下的所有文件和子目录都拷贝到ROOT目录下即可
或者有更狠的一招:直接删掉ROOT目录,然后把我们的项目打包名称改成ROOT.war,放到webapps下就行

方式二:
原理:Tomcat本身可以配置虚拟目录。方法就是在Server.xml中<Engine><Host>节点下加入Context信息。如我们可以配置<Context path="/abc" docBase="D:\app\abc" ... />,那我们可以通过地址http://localhost:8080/abc来访问我们放在D:\app\下面的abc项目。我们可以把这个path="/abc"修改为path=""。意思就是把abc映射到根目录,访问路径就会变成http://localhost:8080/。
操作过程:
按照配置虚拟目录的方式,在<Engine><Host>下添加一个Context节点,具体配置如下:
<Engine name="Catalina" defaultHost="localhost"...>
...
    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
	<Context path="" docBase="Interface" reloadable="true" />
<!--注:我这里使用的是相对路径,Interface项目是放在Tomcat的webapps目录下的,当然也可以改为绝对路径-->
...
    </Host>
...
</Engine>

访问方式就可以用http://localhost:8080/SearchReqService.asmx?wsdl了
如果用虚拟目录的方式,地址http://localhost:8080/Interface/SearchReqService.asmx?wsdl也可以访问。
同样的方式,我们可以为path指定不同的路径,解决访问路径区别项目名称的需要。


其它,去掉访问的端口号8080.就是利用了HTTP请求访问的端口默认是80的方式实现的,iis也一样。我们只用把Tomcat的HTTP监听端口号改为80(修改<Connector port="8080" protocol="HTTP/1.1"这里的端口号为80)即可。
分享到:
评论

相关推荐

    Tomcat访问项目,去掉项目名配置

    在Tomcat启动时会去webapps下访问默认ROOT目录下的应用程序,这就导致你始终不能直接访问的原因 切记切记切记,这才是关键 先将它原始就有的ROOT删掉 把 自己的项目包“oa.war” 改成 “ROOT.war” 即可,因为下面的...

    Tomcat部署项目去除工程名.doc

    Tomcat 部署项目去除工程名是指在 Tomcat 服务器上部署项目时,不需要在 URL 中指定工程名,而是直接访问项目的根目录。这可以通过配置 Tomcat 的 server.xml 文件和项目的 web.xml 文件来实现。 首先,需要在 ...

    Tomcat如何配置去项目名称访问.doc

    在本篇内容中,我们将深入探讨如何在Apache Tomcat服务器上配置项目以便去除项目名称进行访问,以及如何部署多个项目并设置不同的访问路径。Tomcat是Apache软件基金会的Jakarta项目下的一个开源Java Servlet容器,它...

    tomcat部署项目

    - 如果需要更改项目的访问路径,例如去掉端口号,可以配置Tomcat的虚拟主机。同样在`server.xml`中,创建一个新的`&lt;Host&gt;`元素,指定主机名和应用的基础目录。 8. **停止Tomcat** - 要停止Tomcat,进入`bin`目录...

    Tomcat去除端口号和项目名.pdf

    在一个Web项目中,通常会在开发阶段使用默认的端口号(例如Tomcat默认使用8080端口)以及项目的完整路径来进行访问。但在部署到生产环境时,为了提高用户体验,往往需要去除端口号和项目名,使得用户可以通过简单的...

    nginx负载配置,动静配置,tomcat省略项目名配置

    假设应用名为`myapp`,默认访问路径是`http://example.com/myapp`,要省略项目名,可以这样配置: ```xml &lt;!-- ... --&gt; ``` 这将使得`myapp`应用的根路径变为`http://example.com/`,而不再需要`/myapp`。 综...

    修改IE地址栏Tomcat 小猫咪图标

    标题“修改IE地址栏Tomcat小猫咪图标”涉及到的是在Web服务器Apache Tomcat的自定义配置,特别是关于改变浏览器地址栏中的网站图标(Favicon)的过程。这个过程通常包括两个主要步骤:创建自定义图标(ICO文件)和...

    tomcat 域名绑定

    Tomcat 域名绑定详解 在本文中,我们将详细讨论 Tomcat 域名绑定的相关知识点,并提供实践经验,以帮助...通过修改 Tomcat 配置文件,绑定域名到项目,并实现路由映射,我们可以将网站部署到域名上,并实现域名访问。

    Tomcat7配置

    注意,这里提到的“删除原有路径”可能是指去除其他不必要的路径,确保Path变量的简洁有效。 4. **验证JDK是否安装成功** 打开命令行窗口(cmd),尝试输入 `java -version` 和 `javac` 命令,如果能正常显示版本...

    【JAVAWEB教程】jsp环境搭建+部署网站(eclipse+tomcat)【详细+图文】.pdf

    如果想要去除这个子目录,你可以修改Tomcat安装目录下的conf/Catalina/localhost目录下的XML文件,或者直接将webapps目录下的Root文件夹重命名为你的应用目录名(如test),同时将test文件夹重命名为Root。...

    使用_Eclipse_+_Tomcat_编写_S

    总的来说,使用Eclipse和Tomcat编写Servlet涉及创建Web项目、配置编译路径、编写Servlet类、发布和运行项目以及通过URL访问Servlet。这个过程让开发者能够快速地开发和测试基于Servlet的Java Web应用。

    solr6.0 tomcat搭建

    - 在 `Tomcat/solr` 目录下找到 `web.xml` 文件,将第 40 行的注释去除,并修改相应的路径为本地实际路径。 - 将 `E:\solr-6.6.2/server/solr` 下的所有文件复制到自定义的 `solrhome` 文件夹(例如 `E:\solrhome`...

    tomcat server.xml 配置

    本文将详细介绍`server.xml`中的关键配置项,并结合实例讲解如何通过该文件实现如去除默认端口、绑定多域名以及项目映射等操作。 #### 二、核心配置项详解 ##### 1. `&lt;Server&gt;` 元素 - **属性详解** - `port`: ...

    dubbo-admin-2.8.4,放入tomcat直接可用

    dubbo官网把这个war包去掉了,想用的话只能自己下载源码编译打包了。上传这份是我打包后的,配置zookeeper使用,理论上本地启用zookeeper后使用...war包丢进tomcat可以直接访问,访问路径问:ip+端口/dubbo-admin-2.8.4

Global site tag (gtag.js) - Google Analytics