0
名爲Test.jsp
的JSP頁面被映射到以下Servlet。是否有可能從Servlet重定向到同一個JSP頁面?
@WebServlet(name = "TestServlet", urlPatterns = {"/TestServlet"})
public final class TestServlet extends HttpServlet
{
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
//request.getRequestDispatcher("/WEB-INF/admin_side/Test.jsp").forward(request, response);
response.sendRedirect("TestServlet");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
該Servlet被映射到JSP頁面Test.jsp
。當在地址欄中輸入如http://localhost:8080/Assignment/TestServlet
的URL時,將調用doGet()
方法。
該請求可以轉發給給定的URL註釋掉。是否有可能重定向到相同的JSP頁面,Test.jsp
?
如果試圖這樣做,谷歌Chrome抱怨,
此網頁有重定向循環
,但它可以重定向至其他網頁WEB-INF/admin_side
下。
請告訴我們,我們展示的代碼或配置您如何這樣做,你的意思是「servlet被映射到JSP」,「JSP被映射到servlet」。前進不是重定向。重定向不是前鋒。目前,在你發佈的代碼中,你會得到一個重定向循環,因爲servlet會自動重定向。 –
我在這個Servlet的'web.xml'中沒有任何配置。 – Tiny
因此,除了將Servlet映射到路徑/ TestServlet的WebServlet註釋之外,您沒有將JSP映射到servlet以及將servlet映射到JSP的任何映射。所以,現在,你的問題是什麼,你想達到什麼目的?轉發到任何JSP都可以正常工作。您從Chrome獲得的重定向循環是由於您沒有轉發任何內容。相反,servlet重定向到它自己。 –