jsp基础之--使用Session完成简单的登陆操作
来源:互联网 发布:zuk z2 网络较慢 编辑:程序博客网 时间:2024/05/18 15:30
今天来说说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完成简单的登陆程序
- Jsp基础之session
- 一个简单的学生登陆系统的jsp实现之登陆主页面main.jsp
- JSP入门初级教程之Session的使用
- JSP入门初级教程之Session的使用
- JSP入门初级教程之Session的使用
- JSP入门初级教程之Session的使用
- JSP入门初级教程之Session的使用
- jsp入门初级之session的使用
- JSP专题:实现简单登陆操作
- 【Jsp】使用jspsmartupload完成简单的文件上传系统
- JSP基础语法之八:session对象,简单登录模块(session+JDBC)
- JSP session的使用
- 一个简单的学生登陆系统的jsp实现之登陆身份验证
- 个简单的学生登陆系统的jsp实现之登陆身份验证
- Session完成用户登陆2
- 在JSP中使用Session制作简单的登录模块
- 干活
- android 访问data目录、6.0模拟器读写sdcard、相关sdcard路径
- javascript学习路线level分级
- I/O篇(3)——各I/O类的用法
- 栈和队列面试题(二)
- jsp基础之--使用Session完成简单的登陆操作
- Strusts2原理解析
- 粉书练习之表达式树的实现
- 会议总结20160819
- java学习之路 之 Java常用类-Data类、Math类、BigInteger类、BigDecimai类 及 练习题
- pygame.key 键值说明
- 【Spark Java API】Transformation(6)—aggregate、aggregateByKey
- 记录cocoaPods 安装的详细流程,以及遇到的问题。
- 软件测试分类