用servlet实现退出登录
时间: 2023-10-03 14:06:58 浏览: 96
以下是一个使用Servlet实现退出登录的示例代码:
```java
@WebServlet("/logout")
public class LogoutServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate(); // 销毁session
}
response.sendRedirect("login.jsp"); // 重定向到登录页面
}
}
```
以上代码中,`@WebServlet("/logout")`注解指定了Servlet处理的路由为`/logout`,当用户点击退出按钮时,前端发送一个POST请求到该路由。在后端,我们首先通过`request.getSession(false)`方法获取当前用户的session,如果session不为null,即用户已经登录,则调用`session.invalidate()`方法销毁session。最后,使用`response.sendRedirect("login.jsp")`方法重定向到登录页面。
需要注意的是,在使用`request.getSession(false)`方法时,我们传入了一个false参数,表示如果当前用户没有session,不会自动创建一个新的session,而是返回null。这个参数很重要,避免了在用户未登录时创建了新的session。
阅读全文