抱歉,如果不解释整个情况,我想不出一个更具描述性的标题。
我将 IIS7 与 Tomcat7 一起使用。我使用 GWT 创建了一个 Web 应用程序,将其打包成一个 war 文件并将其部署在 Tomcat 上。
输入我的网站 url,比如“www.myapp.com”,我会看到 Tomcat 默认页面。我怀疑这是因为 %TOMCAT_HOME%/webapps/ROOT 目录中的内容。我可以通过“www.myapp.com/myapp”访问我的网络应用程序,并且我期望的所有功能都在那里。
如何配置 Tomcat 以便可以通过“www.myapp.com”而不是“www.myapp.com/myapp”访问我的 webapp?
我尝试通过为我的 webapp 添加一个新的“主机”标签来在 %TOMCAT_HOME%/conf 中配置 server.xml:
<Host name="myapp.com" debug="0" appBase="webapps/myapp" unpackWARs="true">
<Alias>www.myapp.com</Alias>
<Context path="" docBase="." debug="0" reloadable="true"/>
</Host>
从上面添加主机标签,输入“www.myapp.com”现在直接将我带到我的 Web 应用程序。问题是,当我在应用程序中调用 servlet(我正在使用 GWT RPC)时,我得到了错误:
com.google.gwt.user.client.rpc.StatusCodeException:404
服务器错误 404 - 找不到文件或目录。
您要查找的资源可能已被删除、名称已更改或暂时不可用。
我不知道为什么我会收到这个错误,之前在没有添加“主机”标签的情况下输入“www.myapp.com/myapp”时效果很好。
我是 Tomcat 的新手,不知道如何解决这个问题。任何帮助将不胜感激。谢谢
编辑:
a) server.xml 中的主机部分(我的默认主机为 www.myapp.com):
<Host name="localhost" appBase="C:/Tomcat 7.0/webapps" unpackWARs="true" autoDeploy="true"></Host>
<Host name="www.myapp.com" appBase="C:/Tomcat 7.0/myapp" unpackWARs="true" autoDeploy="true"> </Host>
b)workers.properties(我尝试将此处的主机更改为 www.myapp.com 无济于事):
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
c) uriworkermap.properties:
/*=worker1