在使用在部署Tomcat的时候,Servlet会运行三次(原来是两次,瞎鼓捣之后又变成3次了),具体代码如下:
package com.shop.C;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Servlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, IOException {
System.out.println("post");
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
}
}
然后这是控制台输出结果:
可以看到明显是运行了三次doPost。
因为需要使用servlet读取数据库数据并传递给jsp页面并刷新,第一次读取之后关闭了和数据库的连接,导致后面两次读取不到数据,在jsp页面便没有数据显示。
ps:这里想要解决的问题是Servlet为什么运行了三次,怎么解决,不是数据传递问题。