jsp基础之--使用Session完成简单的登陆操作
项目地址:https://gitee.com/martinHuang/jsp-basic-LoginDemo
今天来说说Session,Session也叫实域,能够保存一些信息,并且再页面跳转的时候不会丢失,常用作登陆,可以保存已经登陆用户的信息。今天就利用Session在不连接数据库的情况下实现简单的登陆操作。
在jsp中,session被作为一个独立的接口存在,叫做HttpSession
我们要用到的是设置Session,设置Session的过期时间,获取Session的值,移除Session,分别对应以下方法
setAttribute表示设置Session,第一个参数是Session的名称,第二个是其值,注意,要是一个对象。红框的意思是说,如果有两个同名的Session,先创建的将被后创建的覆盖
setMaxInactiveInterval表示设置Session的最大失效时间,就是说设置存活多少时间后失效,后面的参数是一个int值,以秒为单位
getAttribute表示获取Session的值,后面的参数是一个String值,表示要获取的Session名称,该方法返回一个Object对象,如果该Session不存在,返回null
removeAttribute表示移除Session,后面的参数是一个String值,表示要移除的Session名称
现在让我们开始吧~
1、新建一个Dynamic Web Project,名叫login_logout
2、在工程名点右键,新建一个类,名为login,来执行登陆操作
login.java内容如下
package login_logout;
public class login
{public boolean Login(String name , String password){if(name.equals("abc") && password.equals("123456")){return true;}else{return false;}}
}
login方法的作用是比对用户名和密码和预设的是否一致,一致返回true,不一致返回false
3、在WebContent下新建login.jsp页面,这个就是用户看到的第一屏页面了
login.jsp页面内容如下
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>简单的登陆界面</title>
</head>
<body><form action="jspCode/login_code.jsp" method="post"><input type="text" name="user" placeholder="请输入用户名"/><br/><br/><input type="password" name="password" placeholder="请输入密码"/><br/><br/><input type="submit" value="提交"/></form>
</body>
</html>
4、在WebContent文件夹下新建文件夹,叫jspCode,在该文件夹下新建login_code.jsp文件,login_code.jsp文件内容如下
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%@ page import="login_logout.*" %>
<% login in = new login();String name = request.getParameter("user");String pass = request.getParameter("password");boolean isLoginSucc = in.Login(name, pass);if(isLoginSucc){out.println("<script>alert('登陆成功!');window.location.href='../index.jsp'</script>");session.setAttribute("user", name);session.setMaxInactiveInterval(60);}else{out.println("<script>alert('登陆失败!');window.location.href='../login.jsp'</script>");}
%>
这里就用到了前面说的设置session的值,设置存活时间的方法了,这里我设置为1分钟
5、在WebContent目录下新建index.jsp页面,为用户登陆成功后所看到的页面,代码如下
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>欢迎</title>
</head>
<body><%if(session.getAttribute("user") == null){out.println("<script>alert('请先登陆');window.location.href='login.jsp'</script>");return;}Object user = session.getAttribute("user");out.println("欢迎"+user);%><br/><form action="#" method="post"><button type="submit" formaction="jspCode/logout.jsp">登出</button></form></body>
</html>
6、在前面创建好的jspCode文件夹下新建logout.jsp文件,用于登出操作,内容如下
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%session.removeAttribute("user");out.println("<script>window.location.href='../login.jsp'</script>");
%>
这里用到了移除session的方法
7、测试运行
输入预置的用户名和密码,显示登陆成功,并跳转页面
点击登出也正常登出
重新登陆等待1分钟后刷新页面
成功失效了~
回到登陆界面,输入错误的用户名和密码
OK~
最后的文件目录如下
呃...本人学生党,如果讲的不好,讲的啰嗦的话还请大家多多包含~
jsp基础之--使用Session完成简单的登陆操作相关推荐
- 【JSP基础】Dreamwe记录集简单用法,简单的jsp直连数据库
准备:Dreamweaver8,tomcate, 在tomcte的webapps目录下建立一个文件夹,以你将来站点的名称来命名该文件夹.并在该文件夹下命名一个"WEB-INT"文件 ...
- linux 复制代码 多出了很多空格_最基础Linux(一)——简单命令行操作
Linux终端的命令很多,但作为零基础的入门者而言,一开始了解一下几个操作就可以撑过好一阵子了,一下接触太多可能反而会比较头疼.而等回过神来想学更多的命令的时候,自己琢磨的能力也差不多了. 将介绍的命 ...
- PHP PDO 简单登陆操作
用PHP做出一个简单的登陆操作,确实很简单,下面就让我给大家简单的介绍一下PDO做出一个登陆界面操作的过程,因为也是初学乍练,不足之处请大家包涵. 首先,首先还要建一个表,在MySQL中建表,核心代码 ...
- JSP基础语法-动作(Action)
JSP基础语法 3.6.动作(Action) 动作的语法格式: <jsp:动作名称 属性名=属性值.... ></jsp:动作名称> 3.6.1.forwa ...
- JSP基础实验(期末复习)
实验1 jsp开发环境搭建 一.搭建JSP开发环境 JSP开发环境是用来开发.测试和运行JSP程序的地方.在此以JDK_1.7.0_75.apache-tomcat-8.0.52.EelipseLun ...
- JSP基础知识学习详解!
JSP基础知识学习 一.JSP是什么 JSP(全称JavaServer Pages)是由[Sun](https://baike.baidu.com/item/Sun Microsystems)公司主导 ...
- Jsp基础了解(一)
文章目录 JSP Jsp基础了解(二),点我去看看 1,JSP 概述 2,JSP 快速入门 2.1 搭建环境 2.2 导入 JSP 依赖 2.3 创建 jsp 页面 2.4 编写代码 2.5 测试 3 ...
- [Servlet 1] JSP基础知识
在之前学习过python web后并实践了一个项目后(目前我也在使用django + bootstrap在独立开发部署一个管理系统,有望可以开源放到gitee/github供大家学习参考与交流) 下面 ...
- Java基础-关于session的详细解释
一.术语session 在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的. session, ...
最新文章
- 马斯克为了解决堵车挖的隧道,已经堵上了
- 【Android 内存优化】Java 内存模型 ( Java 虚拟机内存模型 | 线程私有区 | 共享数据区 | 内存回收算法 | 引用计数 | 可达性分析 )
- mysql go命令行_Go语言调用mysql.exe和mysqldump命令行导入导出数据库
- HDU_1874 畅通工程续(SPFA)
- 计算机本地连接怎么找不到了,网络,本地连接不见了解决办法
- angular语言前端开发_web前端开发入门全套学习方法路径,兼职在家做网站也能月入上万...
- 数据分析体系构建那点事!
- uniGUI试用笔记(四)
- linux 22端口被墙,Linode被墙SSH无法连接通过Lish连接方法
- 新浪动作挺快,开始再博客投广告了
- 如何用美剧真正提升你的英语水平?
- win7(主机)+win7虚拟机(vmware,被调试机)+windbg配置内核驱动调试
- JDK Stream
- ubuntu下载安装google浏览器
- 数据分析常用名称、统计分析模型 SUS、CLV、VOC、认知失调、 体验度量
- 关闭 Flink Checkpoint,引发 P3 故障
- CAD建筑制图入门加老虎窗
- Java多线程Callable接口
- uni-app打包超出2M处理
- 房屋抵押贷款需要什么手续和条件?
热门文章
- 文献管理工具Zotero的使用及其常用插件推荐
- 迈德威视工业相机SDK取图问题
- 怎么把html变成桌面壁纸,怎么把抖音视频设置成桌面 抖音视频设置壁纸教程
- 信息化教学大赛教案LINUX,【全国中职信息化教学大赛参赛攻略六】信息化教学设计参考模板...
- 基于决策树的隐形眼镜类型预测
- 条码软件如何设置首饰珠宝标签
- L1-030 一帮一 Python
- php轻量级卖东西源码,DouPHP轻量级商城管理系统 [源码分享}
- python:curses.textpad --- 用于 curses 程序的文本输入控件
- 逻辑斯蒂回归模型——逻辑斯蒂分布、二项逻辑斯蒂回归模型、参数估计与多项逻辑斯蒂回归