1 回答

TA貢獻(xiàn)1802條經(jīng)驗 獲得超4個贊
因此,當(dāng)用戶單擊 HTML鏈接時,您的HelloWorld服務(wù)器必須重定向到FirstServletProject服務(wù)器。<a>
這里有一些問題:
您的
/saytime
控制器與索引位于同一服務(wù)器中。所以它永遠(yuǎn)無法在另一個應(yīng)用程序中處理請求。如果您將控制器移動到FirstServletProject重定向是可能的,但您仍然必須將 URL 指定的
<a>
鏈接從索引服務(wù)器的相對路徑更改<a href="saytime">
為絕對路徑<a href="http://localhost:80/saytime"
如果您使用 Nginx 服務(wù)進(jìn)行重定向,則不需要
@WebServlet("/saytime")
注釋。您已經(jīng)告訴 Nginx,當(dāng)他在/saytime上收到請求時,它應(yīng)該將其重定向到http://127.0.0.1:8080/FirstServletProject/FirstServlet/也看看 Nginx 服務(wù)。有時配置中的錯誤不允許服務(wù)啟動。用于
systemctl status nginx
查看它是否正在運行。如果它不journalctl -e
用于調(diào)試錯誤。
編輯
在與 OP 討論后,所提供的解決方案均無效。
嘗試在 Nginx conf 中創(chuàng)建另一個服務(wù)器塊(不同于默認(rèn)的)和每個服務(wù)器的上游塊:
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/;
}
我認(rèn)為您應(yīng)該取消注釋@WebServlet("/saytime")注釋。
添加回答
舉報