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>