JSP内置对象Session小例--用户登录

2024-03-15 06:18

本文主要是介绍JSP内置对象Session小例--用户登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       在ASP.NET的学习中,我们就接触过Session,今天在这我们再次来复习一下在java中的session.Session对象用来保存一些在与每个用户会话期间需要保持的数据信息,这样就方便会话期间的一些处理程序.如可以用session变量记住用户的用户名,以后就不必在其他的网页中重复输入了.session对象的信息保存在服务器中,ID保存在客户机的cookies,如果客户机不支持Cookies则转为URL重写,一般在session对象时不必考虑其实现的细节问题.

       当用户关闭了所有某个Web服务器上的网页时,则此服务器与客户机的session对象以及其变量会自动消失.

       单说Session,可能大家觉得有点难以理解,那么就以一个很常用的demo来看看--用户登录:

1.用户登录界面sessionUserLogin.jsp

<%@page import="org.apache.catalina.connector.Request"%>
<%@ 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">
<script type="text/javascript">function on_submit(){if(form1.username.value==""){alert("用户名不能为空,请输入用户名!");form1.username.focus();return false;}if(form1.userpassword.value==""){alert("密码不能为空,请输入密码!");form1.userpassword.focus();return false}
}
</script>
<%!public String codeToString(String str){ //处理中文字符串的函数String s=str;try{byte tempB[]=s.getBytes("ISO-8859-1");s=new String(tempB);return s;}catch(Exception e){return s;}}
%>
<%String username=request.getParameter("username");String userpassword=request.getParameter("userpassword");if(username!=null &userpassword!=null){//如果用户名和密码都合法,则记下用户名,一般把用户和密码存在数据库中//用数据库中的信息与提交的用户名和密码比较以进行用户合法性检查session.setAttribute("username", codeToString(username));response.sendRedirect("sessionUserLogin1.jsp");}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户登录</title>
</head>
<body>
<table  aligin="center"><form name="form1"  method="post"  action="sessionUserLogin.jsp" οnsubmit="return on_submit()"><tr aligin="center"><td>用户登录</td></tr><tr aligin="center"><td>请输入用户名:<input type="text" name="username" size="20"></td></tr><tr aligin="center"><td>请输入密码:  <input type="password" name="userpassword" size="20"></td></tr><tr aligin="center"><td><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></td></tr></form>
</table>
</body>
</html>

其效果图为:


       在本个页面中,首先声明一个表单,用于填写用户名和密码;文件开始处是一个javascript程序,这段程序主要是用于验证用户名和密码是否为空,由浏览器执行.接下来的是字符串的中文处理函数;再下来是一段java程序.如果数据合法,表单提交后,要判断用户名和密码是否为空.检查用户名和密码则通过用一个session对象的数据对象username记住这个用户名,再将这个页面重定向至sessionUserLogin1.jsp页面.

2.登录成功跳转页面sessionUserLogin1.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>用户登录成功!<br>您的用户名是:<%=(String)session.getAttribute("username")%>
</body>
</html>

效果图为:


       在这个页面中,用getAttribute()方法获得session对象的数据对象username的值并输出.


       从以上的两个页面重哦,由此可以发现session对象可以在同一个会话的不同网页中共享变量.

这篇关于JSP内置对象Session小例--用户登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811054

相关文章

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja