JSP内置对象Session——setAttribute/getAttibute/removeAttribute

article/2025/9/24 19:41:24
本文章代码使用了request内置对象,可先查看之前的文章学习。

 前言

一、Session使用环境

二、常用方法

三.使用示例

1. 设计某系统登陆模块,该模块需满足以下条件:

2.login.jsp登录页面

2.check.jsp校验页面

3. success.jsp成功登录页面

4.loginout.jsp注销用户


前言

作为个人学习记录,有误和不清楚地方可评论指正,互相学习共同进步!谢谢!

一、Session使用环境

“session” 对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比 如在线购物、客户轨迹跟踪等。

二、常用方法

session.setAttribute(String key, Object obj):
//使用指定的名称将这个对象绑定到这个会话上;
session.getAttibute(String key):
//返回绑定到该会话的对象; 
session.removeAttribute(String key):
//session对象调用该方法移掉关键字key对应的对象。 

三.使用示例

1. 设计某系统登陆模块,该模块需满足以下条件:

        a.当用户名和密码正确时(用户名密码自己设定),显示用户登录成功信息。

        b. 当用户名和密码错误时,则跳转到登陆界面,并提示用户名或密码错误!    

        c. 当用户未输入用户名,密码直接访问主界面时,禁止访问!    

        d.当用户点击注销时,退出系统,返回到登陆界面

2.login.jsp登录页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">-->
</head>
<body><form action="check.jsp" method="post"><%String flag= request.getParameter("flag"); %><strong>用户名</strong>:<input name="username" type="text" size="12"><strong>密&nbsp;&nbsp;码</strong>:<input name="password" type="password" size="12"><%if(flag!=null&&flag.equals("error")){ %><font color="red">用户名或者密码错误</font><%} %><input type="submit" name="Submit2" value="进入">&nbsp;<input name="Submit" type="reset" value="重置"></form> </div><br>
</body>
</html>

 

2.check.jsp校验页面

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>密码校验</title>
</head>
<body>
<% request.setCharacterEncoding("utf-8");String user= request.getParameter("username");String pass= request.getParameter("password");if(user.equals("张三")&&pass.equals("123")){session.setAttribute("username", user);//将username绑定userRequestDispatcher rd= request.getRequestDispatcher("success.jsp"); //request类跳转rd.forward(request, response);}else{RequestDispatcher rd= request.getRequestDispatcher("login.jsp?flag=error") ; rd.forward(request, response);}%>
</body>
</html>

session.setAttribute("username", user);//将username绑定user

3. success.jsp成功登录页面

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%String user=(String)session.getAttribute("username");//获取到usernameif(user==null){response.sendRedirect("login.jsp")  ;}
%>
<%=user %>你好,欢迎使用本系统!<a href="loginout.jsp">退出/注销</a>
</body>
</html>

String user=(String)session.getAttribute("username");//获取到username

 

4.loginout.jsp注销用户

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%session.removeAttribute("username");//注销此用户response.sendRedirect("login.jsp");//跳转回登录页面,此时“username”这个用户已经被注销
%>
</body>
</html>

点击退出/注销按钮后退回登录页面  


http://chatgpt.dhexx.cn/article/lIhqF2BD.shtml

相关文章

Iterator remove()详解

转自&#xff1a;http://blog.51cto.com/tianxingzhe/1693218 一、Iterator的API 关于Iterator主要有三个方法&#xff1a;hasNext()、next()、remove() hasNext:没有指针下移操作&#xff0c;只是判断是否存在下一个元素 next&#xff1a;指针下移&#xff…

VLAN命令行配置

VLNA配置任务概览 各配置任务间的逻辑关系&#xff1a; VLAN配置任务概览&#xff1a; 配置任务描述划分VLAN创建并划分VLAN&#xff0c;将没有二层互通需求的用户进行隔离&#xff0c;可增强网络的安全性、减少广播流量&#xff0c;同时也减少了广播风暴的产生。配置通过VLA…

VLAN配置命令

VLAN作用 分割广播域 VLAN分类 静态VLAN 基于端口划分 动态VLAN 基于MAC地址划分 VLAN范围 0-4095 共4096个vlanID 0与4095系统保留 1-4094可用 VLAN配置命令 VLAN基础配置代码 添加vlan&#xff08;2-4094&#xff09; vlan 10 删除vlan undo vlan 10 批量增加 vlan batch …

华为 -VLAN配置

按照实验拓扑图接线。 配置PC1&#xff1a;IP&#xff08;192.168.1.1/24&#xff09;,PC2:IP(192.168.2.1/24)。测试PC1和PC2的连通性&#xff1a;用PC1去PingPC2&#xff0c;查看Ping的结果&#xff0c;并解释原因。 PC1和PC2在不同的网段&#xff0c;不能ping通 配置PC1&…

华为交换机vlan配置

拓扑图&#xff1a; 配置命令&#xff1a; sw1: sys sys sw1 vlan 10 vlan 20 int e0/0/1 port link-type access port default vlan 10 int e0/0/2 port link-type access port default vlan 20 int e0/0/3 port link-type trunk port trunk allow vlan 10 20sw2: sys sy…

ensp交换机vlan配置

交换机 一、VLAN1、VLAN的概念2、优势3、VLAN的种类4、VLAN的范围5、VLAN标识6、IEEE802.1q工作原理帧格式 二、交换机命令配置1、华为交换机链路类型2、添加VLAN 一、VLAN 1、VLAN的概念 VLAN&#xff08;Virtual Local Area Network&#xff09;即虚拟局域网&#xff0c;是…

eNSP VLAN配置

按如上拓扑图进行配置&#xff1a; 1、按拓扑图标记&#xff0c;划分VLAN&#xff0c;分配固定IP 2、开启两个路由器的DHCP服务&#xff0c;分配所有客户机IP地址 3、实现全网互通 一、划分VLAN&#xff0c;分配固定IP 因为两个路由器连接不同的交换机&#xff0c;所以左右两…

华三vlan配置

基于MAC地址划分vlan 配置思路&#xff1a; 创建VLAN 100、VLAN 200。 配置Device A和Device C的上行端口为Trunk端口&#xff0c;并允许VLAN 100和VLAN 200的报文通过。 配置 Device B 的下行端口为Trunk端口&#xff0c;并允许VLAN 100和VLAN 200的报文通过&#xff1b;上行…

计算机网络配置——VLAN的配置

一、实验目的 了解VLAN的作用和用途&#xff1b;掌握单一交换机与跨交换机划分VLAN的配置方法&#xff1b; 理解VLAN标签添加和删除的过程。 二、实验任务 在思科模拟器中实现下图所示的VLAN的配置&#xff1a; 使用ping命令验证配置结果&#xff0c;并完成实验报告。 二、…

H3C_交换机_Vlan配置

奶奶说&#xff0c;没事不要和小学生比爹。 一、实验环境 HCL v2.1.2win7操作系统 二、拓扑结构 三、模拟环境 一般用于企业网络或者需要对局域网进行逻辑区域划分的网络。不同vlan间一般情况是不能相互访问的&#xff0c;这样就可以减少广播和提高网络安全性。 四、介绍 …

华为交换配置之VLAN配置。

每天进步一点点&#xff01; 08 vlan 配置与原理 vlan 虚拟局域网 作用&#xff1a;实现同一vlan的设备才可以进行通信&#xff0c;不同vlan不能通信。 vlan tag&#xff1a;接口配置vlan后发生数据会携带相应的vlan tag&#xff08;vlan 标签&#xff09; VLAN ID&#…

VLAN,简单配置vlan

VLAN 在交换机中工作 分割广播域 物理分割--------子网掩码划分 逻辑分割---------VLAN划分 VLAN的优势 控制广播 增强网络安全性 简化网络管理 VLAN的种类 静态VLAN&#xff1a;基于端口划分静态VLAN 动态VLAN&#xff1a;基于MAC地址划分动态VLAN VLAN的ID范围 0~4095共4096…

VLAN基本配置

目录 一、VLAN概述 1、VLAN概念 1&#xff09;分隔广播域的两种方法 2、VLAN优势 1&#xff09;控制广播 2&#xff09;增强网络安全性 3&#xff09;简化网络管理 3、VLAN的种类 二、静态VLAN的配置 1、VLAN的范围 2、VLAN基本配置 1&#xff09;创建VLAN 2&#…

交换机VLAN基本配置

一、实验目的 &#xff08;1&#xff09;掌握交换机路由器基本配置。 &#xff08;2&#xff09;掌握VLAN基本配置。 二、实验环境 &#xff08;1&#xff09;4人1组&#xff0c;每组运行Windows 2008 Server/Windows XP/Windows 7/ Windows 10 操作系统的PC机4台&#xff0c…

华为ENSP的VLAN配置

华为ENSP vlan配置实验 实验一 实现同一个vlan下面的不同网段的ping通 网络拓扑图如下&#xff1a; ①配置两个pc端的ip地址和子网掩码、网关 ②对交换机进行vlan的配置 1&#xff09;创建vlan2 [SA]vlan 2 [SA-vlan2]quit2&#xff09;将两个网段的网关都加入vlan2 中&am…

VLAN简单配置详细过程

实验拓扑图 一、PC的 ip配置 PC1 Ip&#xff1a;192.168.1.1/24 PC2 Ip&#xff1a;192.168.1.2/24 PC3&#xff1a; Ip:192.168.1.3/24 PC4&#xff1a; Ip&#xff1a;192.168.1.4/24 二、路由器中命令 AR1中指令 <Huawei>undo t m …

VLAN配置

实验效果&#xff1a;相同VLAN能通讯&#xff0c;不同VLAN不能通讯 1.配置拓扑图如下&#xff1a;&#xff08;两台交换机和四台主机终端设备&#xff09; 2.四台终端设备设置IP地址和网关 PC0 IP地址&#xff1a;192.168.2.11 网关 192.168.2.1 PC1 IP地址&#xff1a;192.…

VLAN(含配置命令行)

一、VLAN的概念及优势 虚拟局域网&#xff08;VLAN&#xff09;是一组逻辑上的设备和用户&#xff0c;这些设备和用户并不受物理位置的限制&#xff0c;可以根据功能、部门及应用等因素将它们组织起来&#xff0c;相互之间的通信就好像它们在同一个网段中一样&#xff0c;由此得…

VLAN简单配置

VLAN——虚拟局域网 虚拟局域网&#xff08;Virtual Local Area Network&#xff09;简写VLAN vlan的作用&#xff1a;划分广播域&#xff0c;控制广播消息传递范围。将一个局域网划分成多个VLAN&#xff0c;减少广播所占用的带宽。 开始配置 软件&#xff1a;Cisco Packet …

【网络】VLAN 及其配置详解

起序&#xff1a;网络中存在的大量的广播&#xff0c;这些广播有很多的危害。比如&#xff1a; 大规模耗用链路带宽&#xff0c;使得正常数据不能得到有效传输。造成交换机资源被占用&#xff0c;导致死机。 解决 广播 的常用的方法就是 VLAN &#xff0c;下面会介绍几种方法…