【发布时间】:2020-09-27 20:53:51
【问题描述】:
我有一个简单的页面,用户可以在其中单击一个按钮,然后将他们转发到一个新页面。但是,无法在不单击上一页上的按钮的情况下访问新页面。单击按钮时,它会发送一个 cookie,用于检查是否单击了按钮。如果我使用request.sendRedirect(),这可以正常工作。但是,当使用 request.forward() 时,它不会。在我被发送到新页面之前,我必须多次单击该按钮。下面是代码
//sends cookie when button is clicked
private void connect(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie cookie = new Cookie("connect", "connected");
cookie.setMaxAge(1);
response.addCookie(cookie);
RequestDispatcher dispatcher = request.getRequestDispatcher("connectAudio.jsp");
dispatcher.forward(request, response);
}
浏览器检查 cookie 是否存在,如果不存在则表明该按钮未被按下并将其发送回带有按钮的页面
<c:if test="${empty cookie['connect']}">
<c:redirect url="index.jsp">
</c:redirect>
</c:if>
【问题讨论】:
标签: jsp servlets cookies forward