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

相关文章

SpringMVC高效获取JavaBean对象指南

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

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户