JSP实现数据保存(web基础学习笔记四)
session对象:
//服务端设置Session属性
session.setAttribute("user", username);
//客户端接收Session
Object obj = session.getAttribute("user");
//判断是否为空,不是空就输出
if(obj==null){
//如果为空就提示用户登录
%>
<%}else{
//不为空就输出用户名,和欢迎信息
out.println("欢迎您"+obj.toString());
}
%>
Session清理机制
在服务端设置过期时间
//设置服务器端session过期日期(单位为:秒),如设置为10秒
session.setMaxInactiveInterval(10);
在客户端中设置
<%
//在客户端设置session,如点击注销之后,直接设置session过期
//第一种删除session中的数据
session.removeAttribute("user");
//第二种 或者直接使用session过期
session.invalidate();
//以2选一
//重定向主页
response.sendRedirect("index.jsp"); %>
在tomcat中直接设置,在tomact中设置时间为分钟conf/web.xml中
<!--在最下方的</webapp>之前添加,并设置为10分种-->
<session-config>
<session-timeout>10</session-timeout>
</session-config>
</web-app>
Session过程
cookie
在服务端设置Cookie
//声明cookie变量,并添加要保存的参数和值如:用户名
Cookie cookie = new Cookie("user",username);
//设置cookie的有效时间以秒为单位60秒*60秒int类型的值
cookie.setMaxAge(60*60);
//将cookies对象发回客户端
response.addCookie(cookie);
在客户端接收cookie,
//接收cookies返回值为cookies的数组
Cookie [] cookies = request.getCookies();
//声明字符串变量用来接收cookies的值
String user="";
for(int i=0;i<cookies.length;i++){
//获取cookies的名字,并判断如果是服务端的名称
if(cookies[i].getName().equals("user")){
//将cookes的值赋为字符串变量
user=cookies[i].getValue();
} }
Application对象
计数器的实现原理
<% //计数器
//取出application属性中的count值为object值
Object count = application.getAttribute("count");
//判断是否为空
if(count==null){
//如果是空,表示第一次访问将值设置为1
application.setAttribute("count", new Integer(1));
}else{
//不是空,则将结果+1
Integer i=(Integer)count;
application.setAttribute("count", i.intValue()+1);
}
Integer iCount=(Integer)application.getAttribute("count");
out.println("访问: "+iCount+"次"); %>
<%
//获取application对象的count属性值
Object count = application.getAttribute("count");
//判断是否为空
if(count==null){
//为空就设置为1
application.setAttribute("count", new Integer(1));
}else{
//不空就取值+1
application.setAttribute("count", (Integer)count+1);
}
Integer icount = (Integer)application.getAttribute("count");
out.println("访问了: "+icount+"次");
%>
Request、Session和Application的区别
Request:中存储的数据仅在一个请求中可用
Session:中存储的数据在一个会话有效期内可用
Application:中存储的数据在整个WEB项目中可用,直到WEB服务器停止运行
JSP实现数据保存(web基础学习笔记四)的更多相关文章
- JSP实现数据传递(web基础学习笔记三)
get和post的区别: JSP内置对象: 1)out内置对象:out内置对象是在JSP开发过程中使用得最为频繁的对象,然而其使用起来也是最简单的.out对象用于向客户端浏览器输出数 ...
- JDBC五数据源和数据池(web基础学习笔记十一)
一.为什么使用数据源和连接池 现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的.如果每次操作都连接数据库,然后关闭,这样做性能一定会受限.所以,我们一定要想办法复用数据库的连接. ...
- JSP的范围-作用域(web基础学习笔记五)
JSP的范围(作用域) 在JSP页面中的对象,包括用户创建的对象如JavaBean,都有一个范围属性,这个范围也被叫做“作用域”.范围定义了在什么时间内,在哪一个JSP页面中可以访问这些对象.例如,s ...
- JSP的页面连接和提交方式(web基础学习笔记六)
一.GET请求新页面 1.1.超链接请求新页面 <!-- 超链接到page2 --> <a href="page2.jsp">链接到page2</a& ...
- 使用JSP实现输出(web基础学习笔记二)
Jsp:Java Server Page 服务器端的Java页面,动态网页技术 jsp注释 显式注释:这种注释客户端是允许看见的;<!--html注释--> 隐式注释:这种注释客户端是看不 ...
- JSTL 标签库 使用(web基础学习笔记十九)
标签库概要: 一.C标签库介绍 1.1.<c:> 核心标签库 JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:1.表达式控制标签:out.set.remove.catch2 ...
- EL运算符(web基础学习笔记十七)
一.EL语法 1.1.语法结构 ${expression} 1.2.[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一 ...
- JavaBean(web基础学习笔记十二)
一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...
- Servlet一(web基础学习笔记二十)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
随机推荐
- 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”
报错内容如下: 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的COM对象强制转换为接口类型“Microsoft.Office.Inte ...
- java编译优化
#java编译器对`String常量表达式`的优化: - 1.String+String 可以被编译器识别为常量表达 String a="ab" ; String b=" ...
- C#遍历系统所安装的打印机,使用WMI方式获取打印机的所有属性
有网友发消息来询问,C#如何遍历系统已经安装的所有打印机,并获得每个打印机的相关信息,如:端口,名称等等 C#里面,虽然在 System.Drawing.Printing 这个namespace下,提 ...
- mq刷盘方式
Broker 在收到Producer发送过来的消息后,会存入CommitLog对应的内存映射区中,见CommitLog类的putMessage方法.该方法执行OK后,会判断存储配置中刷盘模式:同步or ...
- remotepath != null 与 !TextUtils.isEmpty(remotepath) 的差别
remotepath != null 与 !TextUtils.isEmpty(remotepath) 的差别 !TextUtils.isEmpty(remotepath) 与 remo ...
- cocos2d-x动画加速与减速
动画是游戏的必定要素之中的一个,在整个游戏过程中,又有着加速.减速动画的需求.以塔防为样例,布塔的时候希望可以将游戏减速,布好塔后,则希望能将游戏加速:当某个怪被冰冻后,移动速度减缓,而其它怪的移动速 ...
- ASP.NET—015:ASP.NET中无刷新页面实现
原文作者:杨友山 原文地址:http://blog.csdn.net/yysyangyangyangshan/article/details/39679823 前面也说过在asp.net中前后前交互的 ...
- scala编程第18章学习笔记——有状态的对象
银行账号的简化实现: scala> class BankAccount{ | private var bal: Int = 0 | def balance: Int = bal | def de ...
- GUI程序设计3
16. 树(JTree)使用示例 例16.1 创建JTree示例. package GUI1; import java.awt.BorderLayout; import java.awt.Contai ...
- 我也用github(2)——关联本地工程到github仓库
github只是为我们提供了一个存储的功能,我们也可以准备一个服务器(当然,能联网是前提了),将版本库保存到服务器上. 本文以github为例进行实验. 1. 在github上创建一个仓库 这个非常简 ...