本文章代码使用了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>

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

JSP内置对象Session——setAttribute/getAttibute/removeAttribute相关推荐

  1. jsp内置对象------session

    session对象 JSP利用servlet提供的HttpSession接口来识别一个用户,存储这个用户的所有访问信息. 默认情况下,JSP允许会话跟踪,一个新的HttpSession对象将会自动地为 ...

  2. jsp内置对象*session

    session对象 基本概念: 指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止.它是HttpSession类的实例.     ...

  3. jsp内置对象--session

    session(服务端) session:会话 1. 浏览网站:开始->关闭 2. 购物:浏览,结算,付款,退出 3. 电子邮件: 浏览,写邮件,退出 以上都是session的例子,一次开始到结 ...

  4. JSP内置对象request——setAttribute/getAttribute的使用

    学习本文章前需知getRequestDispatcher的使用 前言 一.setAttribute是什么? 二.使用步骤示例 1.建ArrayList和HashMap 2. 使用setAttribut ...

  5. JSP内置对象—session

    什么是session? session对象是用来在每个用户之间分别保存每个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在server端,session的id保存在client的co ...

  6. Java学习-jsp内置对象Session

    转载于:https://www.cnblogs.com/sunjianfei/p/5682330.html

  7. jsp 内置对象 session

  8. JSP内置对象:request、response、out、session、application等内置对象

    Java程序的功能主要是由Java包下的各个类在运行期所产生的对象所提供,并且应用这些对象组织构建程序所需的功能. 所谓JSP内置对象,是指在JSP网页环境之下,用户不需要声明而直接可以在JSP网页中 ...

  9. jsp内置对象【02】四种内置对象【02】session、application

    我们继续来学习,上一篇文章中说到了request属性,那么既要想客户端和服务端都都能实现跳转的话,就用到了session. 第三种:session属性 我们接着修改一下上一篇文章中的代码来对比一下: ...

最新文章

  1. 【BZOJ-3456】城市规划 CDQ分治 + NTT
  2. mysql索引 钱缀_【mysql索引】之前缀索引-Go语言中文社区
  3. Inherits、CodeFile、CodeBehind
  4. windows延缓写入失败相关问题解决办法
  5. centos 6.5 安装 lamp 后mysql不能启动_CentOS 6.5 系统 LAMP(Apache+MySQL+PHP)安装步骤
  6. 导入Oracle 数据库镜像,创建Oracle虚拟机_01
  7. Android获取系统ID(com.android.internal.R)
  8. Linux设置串口波特率等参数
  9. 运算放大器使用注意事项
  10. php视频打水印,php 七牛云 视频加水印
  11. 科技进化的终点,与荣耀全场景的起点
  12. plt.subplots_adjust(wspace=0.01, hspace=0.01)
  13. 精准准确的统一社会信用代码正则(js)
  14. 查询当前数据库名、用户名、数据库服务器IP、端口、数据库版本信息。
  15. 2019年总结-2020年计划
  16. 连续空间和离散空间的距离基础
  17. 迅雷播放器的在线智能字幕匹配下载的字幕文件在哪里?
  18. JavaScript星星动画心形js特效
  19. 大数据BI工具Tableau学习【第二期】]带你领略Tableau 的页面风采
  20. 《趣谈网络协议》学习笔记DAY10

热门文章

  1. twisted的简单介绍
  2. SpringBoot POI导出Excel
  3. 计算机和通讯技术对我们生活的改变,信息技术的发展,带来了哪些方面的改变?...
  4. 精心整理史上最全的数据结构flash演示动画,共5个版本,祝大家考研成功!
  5. 算法5:线性DP与区间DP
  6. 三分钟入门大数据之用户画像标签的分类
  7. 自考02323《操作系统概论》第一章操作系统简介——思维导图
  8. 【ACWing】2188. 无源汇上下界可行流
  9. Delphi CreateMutex 防止程序多次运行
  10. html开发android,使用HTML5开发Android本地应用(一)