更新时间:2022-05-09 01:47:44
在servlet2.jsp中:
In servlet2.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:include page="/servlet1" />
在servlet2.jsp中,您使用了jsp:include. 它包括servlet1响应的响应.
In servlet2.jsp, you have used jsp:include. It is including the response of the servlet1 response.
但是 servlet1 ,它将把响应转发到另一个jsp.这样就会发生异常.
But the servlet1, it is going to forward the response to another jsp. So that exception occurs.
为避免这种情况,在Servlet1类中应使用 view.include(request,response); 而不是 view.forward(request,response); .
To avoid this, in Servlet1 class should use view.include(request,response); instead of view.forward(request, response);.
package app;
import java.io.IOException;
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 Servlet1 extends HttpServlet {
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("servletAttribute", 1);
RequestDispatcher view = request.getRequestDispatcher("/servlet1.jsp");
view.include(request, response);
}
}