问题描述
提交表单到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
查看更多关于解决Javaweb 提交表单到servlet时出现空白页面,但网站不报错问题的详细内容...