解決Javaweb 提交表單到servlet時出現空白頁面,但網站不報錯問題

問題描述

提交表單到servlet時出現空白頁面,但又網站不報錯

截圖如下

遇到這個問題查找瞭很多,仍沒有解決,剛開始接觸IDEA,以為是路徑配置問題,去看@WebServlet和XML,搗瞭半天,發現沒問題,就隻有這一個servlet訪問不瞭,其他都能行,最後發現是自己doGet方法沒加 this.doPost(request, response);

(之前使用eclipse是這段代碼自動生成的,用idea沒有自動生成就沒太註意)

如下圖:

package cn.itcast.web.servlet; 
import cn.itcast.domain.User;
import cn.itcast.service.UserService;
import cn.itcast.service.impl.UserServiceImpl; 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
 
@WebServlet("/findUserServlet")
public class FindUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
        // 1.獲取id
        String id = request.getParameter("id");
        // 2.通過id查找User
        UserService service = new UserServiceImpl();
        User user = service.findUserById(id);
        // 3.存儲
        request.setAttribute("user",user);
        // 4.轉發
        request.getRequestDispatcher("/update.jsp").forward(request, response); 
    } 
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
}

解決方法

doGet方法裡加上

this.doPost(request, response);

立馬見效

下次再遇到此類問題,自己要多去debug下,別人出現的問題可能一樣,但是造成問題的原因很可能不相同。

如果有其他原因的可以討論下。

javaweb後端調用servlet出現空白

例子:

Login.html跳轉LoginServlet

這是項目

Tomcat生成該項目的名稱是web_war ,則頁面跳轉的時候 都要加上/web_war作為路徑之一

例如

login.html跳轉時 action=”/web_war/LoginServlet”

所以最終url訪問路徑一定是/項目名_war/訪問的資源

好瞭,以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: