問題描述
提交表單到servlet時出現空白頁面,但又網站不報錯
截圖如下
遇到這個問題查找了很多,仍沒有解決,剛開始接觸IDEA,以為是路徑配置問題,去看@WebServlet和XML,搗了半天,發現沒問題,就只有這一個servlet訪問不了,其他都能行,最后發現是自己doGet方法沒加 this.doPost(request, response);
(之前使用eclipse是這段代碼自動生成的,用idea沒有自動生成就沒太注意)
如下圖:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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方法里加上
1
|
this .doPost(request, response); |
立馬見效
下次再遇到此類問題,自己要多去debug下,別人出現的問題可能一樣,但是造成問題的原因很可能不相同。
如果有其他原因的可以討論下。
javaweb后端調用servlet出現空白
例子:
Login.html跳轉LoginServlet
Tomcat生成該項目的名稱是web_war ,則頁面跳轉的時候 都要加上/web_war作為路徑之一
例如
login.html跳轉時 action="/web_war/LoginServlet"
所以最終url訪問路徑一定是/項目名_war/訪問的資源
好了,以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/weixin_42174815/article/details/90937689