当前位置: 首页 > news >正文

JSP内置对象session

1.session对象,为会话对象,封装当前用户会话中的有关信息。

网页数据传递是单向传递的,session能够将数据进行多个数据互相传递,使用的是同一个东西

实例1: 利用session对象String  getId() 方法获取当前session对象的ID号。 利用session对象boolean isNew() 方法获判断是否为新的session对象。

2.如果id不一样,使用response响应

3.多个页面中数据响应

4.共享有效时间需要人为干预,注销session重新

1.物理关闭:关闭浏览器

2.session对象是否调用invalidate()方法使session无效。

3.session.setMaxInactiveInterval()是否达到设置的最长“有效”时间。

4.applicati对象:多个账户共享

1.setAttribute(“name”,“value”);添加

2.getAttribute("name")获取添加数据

3.removeAttribute("name")移除

总结代码

1.

<%@page import="java.util.Date"%>
<%@ 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>
<%-- <h3>这是一个out对象</h3><%out.print("这是out对象打印的内容1");out.println("这是out对象打印的内容2"\n);写在百分号之间%><br\> --%><%-- <jsp:forward page="duixiang.jsp">             <jsp:param value="中文" name="name"/></jsp:forward>--%><%-- <%request.setAttribute("name", "张三");   //传递数据,最大优点不会乱码%><jsp:forward page="duixiang.jsp"/> --%><!--  <form  action="duixiang.jsp"  name="form1"  method="post"  >post传输数据安全性更高用户名:<input type = "text" name ="user"><br/>密码:<input type = "password" name ="psw"><br/><input type ="submit" value="提交"></form>--><!--<a href="duixiang.jsp">超链接</a>不会传递参数, --><%--<form  action=""   >  <!--提交当前页面  --><input type = "text" ><br/><input type ="submit" value="下载" name="btn"></form><%String s1 = request.getParameter("btn");if(s1!=null){response.setContentType("application/msword; charset=UTF-8");} %> --%><%-- 日期 <%Date time = new Date();out.print(time.toLocaleString());/* 转换方法 */response.setHeader("refresh", "1");/* 隔着一秒刷新 */%>--%><!--  <form  action="duixiang.jsp"  name="form1"  method="post"  >用户名:<input type = "text" name ="usr"><br/>密码:<input type = "password" name ="pw"><br/><input type ="submit" value="登录"></form>--><h3>第一页</h3><%-- <jsp:forward page="duixiang.jsp"><jsp:param value="18" name="age"/></jsp:forward> --%><%String s = session.getId();out.print("第一个页面ID是:"+s);String ip = response.encodeRedirectUrl("duixiang.jsp");//为网址加密,新页面不用新建id直接将主页面的id给新页面session.setAttribute("name1", "商品1");session.setAttribute("name2", "商品2");%><a href="<%=ip %>">跳转第二页</a>
</body>
</html><!-- 
1.out对象:在浏览器中输出内容
基本语法:out.print  
2.request对象:专门用来接受和发送数据
1.获取数据,传输数据:String s = request.getParameter("name");获取数据request.setCharacterEncoding("UTF-8");request.getServletPath();查看当前地址request.setAttribute()防止乱码session对象:会话对象,封装当前用户会话中的有关信息1.getId():获取会话对象的id2.response.encodeREdirectUrl("show.jsp"):对网址加密,添加当前页面id3.setAttribute("name" ,"vlaue");把数据储存在session对象中4.getAttribute("name")5.注销session人为干预(1) 客户是否关闭浏览器。(2) session对象是否调用invalidate()方法使session无效。(3) 利用session对象的session.setMaxInactiveInterval(5)方法设置session的最大“有效时间”。6.applicati对象:多个账户共享1.setAttribute(“name”,“value”);添加2.getAttribute("name")获取添加数据3.removeAttribute("name")移除-->

2.

<%@ 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>
<h3>第二页</h3>
<%/* String s=request.getParameter("name");        request.setCharacterEncoding("UTF-8");request.getServletPath(); String s1 = request.getParameter("age");String path = request.getServletPath();String ip = request.getRemoteAddr();out.print(s1+":"+path+":"+ip);out.print(request.getAttribute("name")); *//* request.setCharacterEncoding("UTF-8");//form表单修改乱码,只需要在接收端修改String s1 = request.getParameter("user");String s2 = request.getParameter("psw");out.print(s1+":"+s2); *//* request.setCharacterEncoding("UTF-8");//form表单修改乱码,只需要在接收端修改String s1 = request.getParameter("usr");String s2 = request.getParameter("pw");if(s1!=null&&s2!=null&&!s1.equals("")&&!s2.equals("")){out.print("登录成功,欢迎"+s1);}else{response.sendRedirect("neizhiduixiang.jsp");//网页重定向} */String s = session.getId();out.print("第二个页面ID是:"+s);Object s1 = session.getAttribute("name1");Object s2 = session.getAttribute("name2");out.print(s1+":"+s2);%> <a href="duixiang1.jsp">跳转第三页</a></body>
</html>

3.

<%@ 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>
<h3>第三页</h3><%String s = session.getId();out.print("第三个页面ID是:"+s);Object s1 = session.getAttribute("name1");Object s2 = session.getAttribute("name2");out.print(s1+":"+s2);session.removeAttribute("name2");/*移除*/session.setAttribute("name3", "商品3");/*添加*//* 此时显示的使用户信息 */%><a href ="duixiang2.jsp">跳转第四个页面</a>
</body>
</html>

4.

<%@ 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>
<h3>第四个页面</h3>
<body><%Object s1 = session.getAttribute("name1");Object s2 = session.getAttribute("name2");Object s3= session.getAttribute("name3");out.print(s1+":"+s2+":"+s3);%></body>
</html>

http://www.lryc.cn/news/336340.html

相关文章:

  • BM96 主持人调度(二)(贪心算法)
  • 【TB作品】MSP430单片机读取大气压强传感器BMP180
  • Github第一Star数的国产免费开源防火墙--雷池社区版初步体验
  • 自动驾驶涉及相关的技术
  • 简单高效的GO发票识别+发票查验接口
  • c++和python基本数据类型比较
  • 运维工具如此割裂,九招帮你统一纳管
  • 基于springboot的大创管理系统源码数据库
  • 解密辛普森悖论:如何在数据分析中保持清醒头脑
  • Vue前端框架
  • 【随笔】Git 基础篇 -- 远程仓库 git clone(二十五)
  • 在js中如果a的值是空是不是if(表达式的值是false)?
  • 数据生成 | Matlab实现基于K-means和SVM的GMM高斯混合分布的数据生成
  • HarmonyOS开发:【NFC配置流程】
  • 解决JQuery和其他库的冲突
  • 【Linux】在 Linux 上模拟网络故障
  • 腾讯云流量怎么计算的?轻量服务器流量价格表
  • 解决Maven Clean过程因内存溢出导致的“Process terminated”问题
  • 十分钟掌握在 PyTorch 中构建一个深度神经网络,基本组件、步骤和代码实现,从导入模块和定义网络结构到训练和评估网络性能。
  • BUG:vue表单验证校验不报错,必填都有信息,就是不能正常往下进行
  • MapStruct入门教程详解:轻松掌握Java Bean映射
  • Springboot 集成websocket
  • FPGA和ARM学习那个比较好
  • 你知道 Java 线程池的原理吗?
  • numpy学习笔记(1),不定期更新
  • 如何使用静态IP代理解决Facebook多账号注册并进行网络推广业务?
  • 局部适配器在产品和二次开发中的应用
  • C++之类和对象(上)
  • Linux 测试磁盘读写速度
  • 【YOLOv8】Yolov5和Yolov8网络结构的分析与对比