1.session

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
//获取session ID Manager 可以将session保存在本地上
String id = session.getId();
%>
<h1><%=id %></h1>
</body>
</html>
 <%@ page language="java" contentType="text/html"
pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
if(session.isNew()){
%>
<h1>欢迎新用户</h1>
<%
}else{
%>
<h1>老用户</h1>
<%
}
%>
</body>
</html>
 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
long start = session.getCreationTime(); //创建此会话的时间
long end = session.getLastAccessedTime();//客户端上一次发送与此会话关联的请求的时间,最后一次操作此会话时间
long time = (end-start)/1000; // 毫秒转换为秒
%>
<h1>您已经在此网页停留了<%=time %>秒</h1>
</body>
</html>

2.request

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
Cookie c1 = new Cookie("hw","hello world");
Cookie c2 = new Cookie("hi","nice to meet you");
c1.setMaxAge(300);//设置最大生存时间300秒
c2.setMaxAge(30); //设置最大生存时间30秒
response.addCookie(c1);
response.addCookie(c2);
%>
</body>
</html>
 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
Cookie [] c = request.getCookies();
if(c!=null){
for(int i=0;i<c.length;i++){
%>
<h1>name:<%=c[i].getName() %>--value:<%=c[i].getValue() %></h1>
<%
}
}
%>
</body>
</html>

3.定时刷新

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%!
int count = 0;
%>
<%
response.setHeader("refresh","1"); //每隔1秒刷新一次
%>
<h3>已经刷新了<%=count++ %>次</h3>
</body>
</html>

4.定时跳转页面一

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>访问错误,5秒后跳转至首页,如果没有跳转,请点击<a href=hello.jsp>这里</a></h1>
<%!
int count = 0;
%>
<%
response.setHeader("refresh","5; url=hello.jsp");
%>
</body>
</html>

4.定时跳转页面二

 <!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="5;url=hello.jsp" charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>访问错误,5秒后跳转至首页,如果没有跳转,请点击<a href=hello.jsp>这里</a></h1>
</body>
</html>

5.重定向

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
response.sendRedirect("hello.jsp");
%>
</body>
</html>

6.addcookie

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
Cookie c1 = new Cookie("hw","hello world");
Cookie c2 = new Cookie("hi","nice to meet you");
c1.setMaxAge(300);//设置最大生存时间300秒
c2.setMaxAge(30); //设置最大生存时间30秒
response.addCookie(c1);
response.addCookie(c2);
%>
</body>
</html>
 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
Cookie [] c = request.getCookies();
if(c!=null){
for(int i=0;i<c.length;i++){
%>
<h1>name:<%=c[i].getName() %>--value:<%=c[i].getValue() %></h1>
<%
}
}
%>
</body>
</html>

7.练习

 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form action="login.jsp" method="post">
用户名:<input type="text" name="uname" ><br/>
密 码:<input type="password" name="upass" ><br/>
<input type="submit" value="登陆">
<input type="reset" value="清空">
</form>
<%
//用户名scott,密码orcl
String name=request.getParameter("uname");
String password=request.getParameter("upass"); if(!(name==null||"".equals(name.trim())||password==null||"".equals(password.trim()))){
if("scott".equals(name)&&"orcl".equals(password)){
response.setHeader("refresh","2;url=welcome.jsp");//2秒后跳转welcome页面
session.setAttribute("userName",name); //传值
%>
<h1>登陆成功,两秒后跳转至欢迎页 </h1>
<h1>如果没有跳转,请点击<a href="welcome.jsp">这里</a></h1>
<%
}else{
%>
<h3>用户名或密码错误,请重新登陆...</h3>
<%
response.setHeader("refresh","2;url=login.jsp");
}
}else{
}
%>
</body>
</html>
 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
session.invalidate();
response.setHeader("refresh","2;login.jsp");
%>
<h2>注销成功,两秒后跳转至首页</h2>
<h1>如果没有跳转,请点击<a href="login.jsp">这里</a></h1>
</body>
</html>
 <%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
if(session.getAttribute("userName")!=null){
%>
<h2>欢迎<%=session.getAttribute("userName") %>登陆本系统</h2>
<h1>注销请点击<a href="loginout.jsp">注销</a></h1>
<%
}else{
%>
<h1>请先<a href="login.jsp">登录</a></h1>
<%
}
%>
</body>
</html>
 

JSP中四种属性保存范围(2)的更多相关文章

  1. JSP中四种属性保存范围(1)

    一.四种属性范围 在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效request:在一次服务请求范围内,服务器跳转后依然有效session:-在一次会话范围内,无论何种跳 ...

  2. jsp中四种传递参数的方法

    jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...

  3. css样式表中四种属性选择器

    学习此连接的总结http://developer.51cto.com/art/201009/226158.htmcss样式表中四种属性选择器1> 简易属性 tag[class]{ font-we ...

  4. (转)JSP中四种传递参数的方法:

    1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="index.jsp"?a= ...

  5. JSP中四种传递参数中文乱码问题

    查看来源:http://blog.csdn.net/hackerain/article/details/6776083

  6. JSP九大内置对象和四种属性范围解读

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九 ...

  7. Jsp学习总结(1)——JSP九大内置对象和四种属性范围解读

    一.四种属性范围 1.1.在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效 request:在一次服务请求范围内,服务器跳转后依然有效 session:-在一次会话范围内 ...

  8. jsp四种属性范围

    在JSP提供了四种属性的保存范围.所谓的属性保存范围,指的就是一个设置的对象,可以在多个页面中保存并可以继续使用.它们分别是:page.request.session.appliction. 1.pa ...

  9. JavaScript中四种不同的属性检测方式比较

    JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //fa ...

随机推荐

  1. 扩展欧几里得算法详解(exgcd)

    一.前言 本博客适合已经学会欧几里得算法的人食用~~~ 二.扩展欧几里得算法 为了更好的理解扩展欧几里得算法,首先你要知道一个叫做贝祖定理的玄学定理: 即如果a.b是整数,那么一定存在整数x.y使得$ ...

  2. LeetCode107. 二叉树的层次遍历 II

    107. 二叉树的层次遍历 II 描述 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 例如,给定二叉树: [3,9,20,null ...

  3. 29、前端知识点--session\cookie\token

    Java Token的原理和生成使用机制 https://yq.aliyun.com/articles/594217 Cookies Session Token 三者区别及应用场景 https://w ...

  4. python学习笔记(13):python并发编程以及系统常用模块

    一.进程与线程 1.进程:程序的一次执行(程序装载入内存,系统分配资源运行).n 每个进程有自己的内存空间.数据栈等,只能使用进程间通讯,而不能直接共享信息 2.线程:所有线程运行在同一个进程中,共享 ...

  5. NodeJS、npm安装步骤和配置(windows版本)

    https://jingyan.baidu.com/article/48b37f8dd141b41a646488bc.html 上面这个链接很详细了,怕它没了自己记一遍.我的简洁一点. 1. 打开no ...

  6. CCF CSP/CCSP报名费优惠的方法以及常见疑问

    目录 1. 本文地址 2. 认证作用 2.1. 高校认可 2.2. 赛事认可 2.3. 企业认可 3. 报名费价格及获取优惠的方法 3.1. CCF CSP 3.2. CCF CCSP 4. 语言与I ...

  7. nodejs 文件读写

    文件读取: //例如: fs.readFile 就是用来读取文件的 //1. 使用require方法来加载 fs 核心模块 var fs = require('fs'); /* *2. 读取文件 * ...

  8. TensorFlow 安装及使用

    安装 (1)安装包安装:pip install tensorflow==1.14 -i https://pypi.douban.com/simple virtualenv -p /usr/bin/py ...

  9. Linux架构之Rsync守护进程推和拉

    第三十三章 Rsync服务 33.1)Rsync基本概述 rsync是一款开源.快速.多功能.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于Unix/linux/Window ...

  10. BZOJ-1907 树的路径覆盖 贪心

    题意:给一个n个点的树,求树的最小路径覆盖.(这个最小路径覆盖不能有重点) 解法:往图论方向想很久,想得太复杂了,其实直接贪心.这个大佬题解写得很好: https://blog.csdn.net/bl ...