【发布时间】:2012-04-29 16:29:04
【问题描述】:
抱歉,如果不解释整个情况,我想不出一个更具描述性的标题。
我将 IIS7 与 Tomcat7 一起使用。
我使用 GWT 创建了一个 Web 应用程序,将其打包成一个 war 文件并部署在 Tomcat 上。
输入我的网站 url,比如“www.myapp.com”,我会看到 Tomcat 默认页面。我怀疑这是因为 %TOMCAT_HOME%/webapps/ROOT 目录中的内容。我可以通过“www.myapp.com/myapp”访问我的 web 应用程序,我期望的所有功能都在那里。
如何配置 Tomcat 以便可以通过“www.myapp.com”而不是“www.myapp.com/myapp”访问我的 webapp?
我尝试在 %TOMCAT_HOME%/conf 中配置 server.xml,方法是为我的 webapp 添加一个新的“主机”标签:
<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”将我直接带到我的网络应用程序。问题是当我在应用程序中调用 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
【问题讨论】:
-
请添加以下内容的完整路径 a) webapps 目录 b) 包含应用程序 myapp 的目录/WAR。
-
a) C:/Tomcat 7.0/webapps b) C:/Tomcat 7.0/myapp 我已将它们添加到问题中,并且我还尝试将这些完整路径用于 docBase
标签: tomcat servlets iis-7 tomcat7