JSP内置对象session

博客主要介绍了Java中session对象和applicati对象的使用。session对象可封装用户会话信息,能实现多数据传递,还介绍了获取ID、判断是否为新对象等方法,以及session失效的几种情况。applicati对象可实现多账户共享,介绍了添加、获取和移除数据的方法。

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():获取会话对象的id
		2.response.encodeREdirectUrl("show.jsp"):对网址加密,添加当前页面id
		3.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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值