1 回答

TA贡献1802条经验 获得超4个赞
因此,当用户单击 HTML链接时,您的HelloWorld服务器必须重定向到FirstServletProject服务器。<a>
这里有一些问题:
您的
/saytime
控制器与索引位于同一服务器中。所以它永远无法在另一个应用程序中处理请求。如果您将控制器移动到FirstServletProject重定向是可能的,但您仍然必须将 URL 指定的
<a>
链接从索引服务器的相对路径更改<a href="saytime">
为绝对路径<a href="http://localhost:80/saytime"
如果您使用 Nginx 服务进行重定向,则不需要
@WebServlet("/saytime")
注释。您已经告诉 Nginx,当他在/saytime上收到请求时,它应该将其重定向到http://127.0.0.1:8080/FirstServletProject/FirstServlet/也看看 Nginx 服务。有时配置中的错误不允许服务启动。用于
systemctl status nginx
查看它是否正在运行。如果它不journalctl -e
用于调试错误。
编辑
在与 OP 讨论后,所提供的解决方案均无效。
尝试在 Nginx conf 中创建另一个服务器块(不同于默认的)和每个服务器的上游块:
server {
listen 8082;
location / {
proxy_pass http://helloworld;
}
location /saytime/ {
proxy_pass http://firstservlet;
}
}
upstream helloworld {
server http://127.0.0.1:8081/;
}
upstream firstserver {
server http://127.0.0.1:8080/;
}
我认为您应该取消注释@WebServlet("/saytime")注释。
添加回答
举报