0

我想断开与 jsp 页面的连接,为此,我尝试了以下操作:

在我的 JSP (accueil_mobile.jsp) 中,我得到了这个:

<form action="b" method="POST">
      <input type="submit" value="Deconnexion" />
</form>

b 指的是一个 SERVLET,其 post 的方法如下:

public static final String VUE = "/accueil_mobile.jsp" ;
.
.
.
protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
       request.getSession().invalidate();
       response.sendRedirect("accueil.xhtml");
       this.getServletContext().getRequestDispatcher(VUE).forward(request, response) ;
     }

现在我希望这会使会话无效并将我重定向到accueil.xhtml,但它所做的只是无限地加载页面。这是为什么 ?

谢谢。

4

2 回答 2

0

You need to change for the view and not the external URL, get rid of the sendRedirect :

public static final String VUE = "/accueil_mobile.xhtml" ;

protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    request.getSession().invalidate();
    //response.sendRedirect("accueil.xhtml");
    request.getRequestDispatcher(VUE).forward(request, response) ;
}
于 2013-06-19T01:52:03.973 回答
0

尝试删除

this.getServletContext().getRequestDispatcher(VUE).forward(request, response) ;

您正在尝试同时使用重定向和转发。

于 2013-06-18T23:49:29.227 回答