StackOverFlowError khi start Tomcat 8 [Solved]

Mình gặp lỗi StackOverFlowError khi start Tomcat 8, khi nhấn vào link để tới dòng lỗi thì câu lệnh là :

rd.forward(request, response);

Đây là class Servlet gặp lỗi của mình

package Servlets;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 public class RedirectServlet extends HttpServlet {

private final String LoginServlet = "LoginServlet";
private final String LoginPage = "login.html";
private final String SearchServlet = "SearchServlet";

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    String url = "";
    String button = request.getParameter("btAction");
    try {
        if (button != null) {
            if (button.equals("Login")) {
                url = LoginServlet;
            } else if (button.equals("Search")) {
                url = SearchServlet;
            }
        }else{
            url = LoginPage;
        }
    } finally {
        RequestDispatcher rd = request.getRequestDispatcher(url);
        rd.forward(request, response);
        out.close();

    }
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
 * Handles the HTTP <code>GET</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Returns a short description of the servlet.
 *
 * @return a String containing servlet description
 */
@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>

}

Mình đã dò trên mạng nhưng cũng không giải quyết được vấn đề. Mong mọi người giúp đỡ

Bạn có thể nén toàn bộ source code lại được không :sweat_smile:

2 Likes

Đế sáng mai anh nhé, em giờ cũng stress lắm rồi :grin:

Mình từng bị StackOverFlowError khi làm web Java. Lúc đó mình nhấn chuột phải vào project chọn clean xong deploy lại thì chạy bình thường :smiley:
Bạn thử cách đó xem

1 Like

Update: sáng náy mở máy chạy lại thì không còn vấn đề đó nữa :confused:. Cảm ơn mọi người nhiều !!!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?