首页 > 编程语言 >Java 15 JSTL实现登录退出

Java 15 JSTL实现登录退出

时间:2023-08-29 11:44:22浏览次数:39  
标签:Java request response JSTL IOException import 15 servlet javax

 

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 {

    }
}

 

登录

 退出回到第一张图

 

标签:Java,request,response,JSTL,IOException,import,15,servlet,javax
From: https://www.cnblogs.com/oyww-2027/p/17664348.html

相关文章

  • Java 14 EL表达式
     eljstl.jsp<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</title></head><body><h1>首页</h1><%--指令包含<%@includefile=......
  • JAVA SE基础《十》 ---- 面对对象高级一
    目录一、static  1、static修饰成员变量2、static修饰成员变量的应用场景:在线人数统计3、static修饰成员方法4、static修饰成员方法的应用场景:工具类5、static的注意事项6、static的应用知识:代码块7、static的应用知识:单例设计模式二、面向......
  • Java代码审计之目录穿越
    一、目录穿越漏洞1、什么是目录穿越所谓的目录穿越指利用操作系统中的文件系统对目录的表示。在文件系统路径中,".."表示上一级目录,当你使用"../"时,你正在引用当前目录的上一级目录。如果你使用"../../",你实际上在两次".."的基础上,再次引用上一级目录,从而返回到上两级目录。......
  • Java并发编程的挑战与解决方案
    Java并发编程是一个复杂而重要的主题,开发者在处理并发场景时经常面临各种挑战。本文将讨论Java并发编程中的一些重要概念和问题,并提供实际的代码示例和解决方案。一、Java并发编程的基本概念线程与进程的区别并发和并行的概念共享资源与竞态条件线程安全性与数据同步二、Java......
  • 深入探究Java中的多线程并发与同步
    在后端开发中,多线程编程是一项关键技术,能够充分利用多核处理器,提高系统性能和响应能力。然而,多线程编程涉及到并发与同步问题,可能引发复杂的线程安全难题。本篇博客将深入探讨Java中的多线程编程,重点关注并发问题和同步机制。并发与多线程并发是指多个任务在同一时间段内执行,而多线......
  • 闰年、数字统计和成绩分析 - Java编程案例
    目录1.判断闰年2.统计数字出现次数3.成绩分析导言:最近,我在学习Java编程过程中遇到了一些有趣的问题,其中包括判断闰年、统计数字出现次数以及分析成绩等。通过编写代码并解决这些问题,我不仅加深了对Java的理解,还提高了编程能力。在本篇博客中,我将与大家分享我遇到的这些问题以及......
  • 练习题 - Java编程案例
    当用户在Java程序中输入字符时,我们可以通过代码对这些字符进行判断和处理。在这篇博客中,我们将介绍如何使用Java编写一个程序,根据用户输入的字符进行判断,并进行相应的输出。首先,让我们来看看如何判断一个字符是否为元音字母(a、e、i、o、u)。我们可以使用Scanner类来获取用户输入的字......
  • 购物系统分析与实现 - Java编程案例
    目录1.购物系统分析2.实现购物系统2.1程序入口2.2菜单显示2.3用户输入2.4计算购买数量和剩余金额2.5结果输出3.执行购物系统总结简介:本文将介绍一个简单的购物系统的实现,使用Java编程语言来实现一个基于控制台的购物系统。通过这个实例,我们可以学习如何进行用户输入、条件......
  • 打印图形:三角形、圆形和正方形 - Java编程案例
    目录1.打印三角形2.打印圆形3.打印正方形总结简介:本文将介绍如何使用Java编程语言打印出不同的图形,包括三角形、圆形和正方形。我们将使用嵌套循环和基本的数学计算来实现这些图形的打印。1.打印三角形首先,让我们来打印一个简单的三角形。在代码中,我们使用了一个嵌套的循环来控......
  • 张三坐电梯的计算问题 - Java编程实现
    摘要:本文介绍了一个关于张三坐电梯的计算问题,并通过Java代码实现了解决方案。在张三学校的教学楼前排了很多人,他的前面有n个人在等电梯。电梯每次可以乘坐12人,每次上下需要的时间为4分钟(上需要2分钟,下需要2分钟)。现在,我们需要帮助张三计算还需要多少分钟才能乘电梯到达楼上。我们......