我正在尝试为我的网站提供服务www.mywebsite.com使用 tomcat。
我不使用 apache,而只使用 tomcat 作为我的网络服务器。我已将默认端口设置为 80,目前我的 mywebsite.war 位于 webapps 文件夹中。当我启动 tomcat 时,mywebsite 会解压并部署到 webapps 中名为 mywebsite 的文件夹中。
我面临的问题是,当我尝试以 www.mywebsite.com 身份访问我的网站时,它会打开 tomcat 欢迎页面而不是我的网站[这是可以理解的,因为我的配置中存在一些问题]。
要访问我的网站,我还必须输入子文件夹名称。这意味着我使用 www.mywebsite.com/mywebsite/welcome.html访问我的网站。
有人可以指导我如何仅从 www.mywebsite.com 提供我的网站服务吗?
我必须在这里做哪些额外的配置?
答案1
当 tomcat 收到请求时,它会尝试了解哪个 webapps 负责该请求。它将请求分配给 webapp 的方式是检查上下文,即 url 路径的第一部分。由于您的 webapps 具有 上下文mywebsite
,因此它只会获取以 路径 开头的请求/mywebsite/
。当 tomcat 找不到合适的 web apps 时,它会默认使用 ROOT 上下文。
因此,为了捕获所有此类请求,您应该将您的 web 应用程序命名为ROOT
(或者可能只是将其上下文更改为),或者在重定向到您当前 URL 的上下文ROOT
中安装不同的 web 应用程序。ROOT
答案2
您要尝试做的是将您的应用程序加载为“ROOT 上下文”。为此,您有两个简单的选择:
- 将您的文件直接放在 Tomcat 默认文件 (/webapps/ROOT/here) 的位置,替换 webapps/ROOT/WEB-INF/web.xml 等。
- 将您的战争重命名为 ROOT.war 并将其放入 /webapps/ROOT.war
我还建议删除此目录中的所有默认 Tomcat 文件。