この回答を使用して、ログアウトしようとしました。
サーブレット コード:
@WebServlet(name = "LogoutServlet", urlPatterns = {"/logout"})
public class LogoutServlet extends HttpServlet {
private static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(user.class);
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Destroys the session for this user.
if (request.getSession(false) != null) {
request.getSession(false).invalidate();
}
// Redirects back to the initial page.
logger.warn(request.getContextPath());
response.sendRedirect(request.getContextPath());
}
}
コードを表示:
<h:form>
<h:commandButton value="Logout" action="/logout"/>
</h:form>
エラー:
Unable to find matching navigation case with from-view-id '/Admin/appManager.xhtml' for action '/logout' with outcome '/logout'
サーブレットが「/logout」URLパターンでリクエストを受け取っているとは思わない. 私は何を間違ったのですか?