Java 15 JSTL实现登录退出

发布时间 2023-08-29 11:44:10作者: OYそ

 

jstl.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  <%--if--%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%--格式化日期--%>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>首页</h1>
    <c:if test="${empty user}">
        <a href="${pageContext.request.contextPath}/login">登录</a>

    </c:if>
    <c:if test="${!empty user}">
        <p>欢迎:<strong>${user.usr_name}</strong>访问</p><%--点操作符--%> <%-- []操作符:${user["usr_name"]}--%>
        <a href="${pageContext.request.contextPath}/logout">退出</a>
        <fmt:formatDate value="${birth}" pattern="yyyy-MM-dd" /> <%--格式化--%>
        ${birth} <%--未格式化--%>
    </c:if>

</body>
</html>

 

LoginServlet.java

package servlet;

import entity.User;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.Date;

@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         request.getSession().setAttribute("user",new User(1,"张三","zs","123"));
        request.getSession().setAttribute("birth",new Date());
         response.sendRedirect(request.getContextPath()+"/jiaoxue/jstl.jsp");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

LogoutServlet.java

package servlet;

import entity.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/logout")
public class LogoutServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         request.getSession().removeAttribute("user");
         request.getSession().removeAttribute("birth");
         response.sendRedirect(request.getContextPath()+"/jiaoxue/jstl.jsp");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

 

登录

 退出回到第一张图