session对象

Asp.net中Application Session Cookie ViewState Cache Hidden

孤街浪徒 提交于 2019-12-10 04:35:13
转http://www.cnblogs.com/me-sa/archive/2007/07/04/805084.html Application 1. Application用来保存所有用户共用的信息 2. 在Asp时代,如果要保存的数据在应用程序生存期内不会或者很少发生改变,那么使用Application是理想的选择。但是在Asp.net开发环境中我们把类似的配置数据放在Web.config中。 3. 如果要使用Application 要注意的是所有的写操作都要在Application_OnStart事件中完成(global.Asax),尽管可以使用Application.Lock()避免了冲突,但是它串行化了对Application的请求,会产生严重的性能瓶颈。 4. 不要使用Application保存大数据量信息 5. 代码:Application[“UserID”]=”test”; String UserName=Application[“UserID”].ToString(); Session 1. Session用来保存每一个用户的专有信息 2. Session的生存期是用户持续请求时间加上一段时间(一般是20分钟左右) 3. Session信息是保存在Web服务器内存中的,保存数据量可大可小 4. Session超时或者被关闭将自动释放数据信息 5.

(day58)十、Cookie、Session、Token、Django中间件

安稳与你 提交于 2019-12-10 03:16:08
[toc] 一、Cookie (一)由来 HTTP协议的无状态特性导致每次的请求都是独立的,即客户端和服务器在某次会话中产生的数据不会被保存,因此产生了Cookie,用来保存客户端的用户状态 (二)什么是Cookie Cookie具体是指服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些信息,以便服务器通过Cookie提取有用信息从而判断访问者 Cookie最大支持4096字节,保存在客户端,安全性低 (三)Django中操作Cookie (1)设置Cookie 普通 obj.set_cookie(key,value,...) obj为HttpResponse或render或redirect实例化的对象 加盐 obj.set_signed_cookie(key,value,salt='加密盐', max_age=None, ...) obj为HttpResponse或render或redirect实例化的对象 参数 key:键 value:值 max_age:超时时间,以秒为单位,不能给IE设置cookie expires:超时时间,以秒为单位,可以给IE设置cookie path:cookie生效的路径,/表示根路径,可以被任何URL页面访问 domain:cookie生效的域名 secure:布尔值,是否为HTTPS传输 httponly:布尔值

吃透Shiro源码第三天

家住魔仙堡 提交于 2019-12-10 01:54:58
文章目录 技术手法 (1)接口的代理 (2)接口作为方法参数 (3)生命周期的使用工具 重点研究类 技术手法 (1)接口的代理 Shiro自己也实现了会话机制。Shiro创建了自己的Session接口。为了拦截某些Session调用并执行其他逻辑,创建了一个简单的Session代理。如何扩展呢?可以继承ProxiedSession这个类,重写某个function(),并调用super.function()立即调用代理对象的方法,在此之前可编写其他代码以执行其他逻辑。此实现思路可以应用到任何已经创建的接口上。 /** * 简单的代理Session实现 * 立即将调用转给代理实例 * 此类对于框架子类继承很有用, * 以拦截某些Session调用并执行其他逻辑。 */ public class ProxiedSession implements Session . . . /** * 代理实例 */ protected final Session delegate ; /** * @param target 要被代理的Session对象 */ public ProxiedSession ( Session target ) { this . delegate = target ; } @Override public Serializable getId ( ) { /

Java Web-Cookie和Session

丶灬走出姿态 提交于 2019-12-09 22:36:13
Java Web-Cookie和Session 会话 会话的概念 一次会话是指浏览器从浏览器第一次给服务器发送请求建立到其中一方断开结束会话的一个过程。它包含多次请求和响应。 会话是用来在一次会话的范围内的多次请求间共享数据的 会话分为两类:客户端会话技术(cookie)和服务器端会话技术(session)。 cookie:将数据存储到客户端 session:将数据储存到服务器端 Cookie cookie保存在浏览器本地、一个会话中每一次请求都携带着它 快速入门 步骤: 服务器创建cookie对象,绑定数据 new Cookie(String name,String value) 发送cookie对象给浏览器 response.addCookie(Cookie cookie) 获取浏览器返回的cookie,拿到数据 Cookies[] request.getCookies() 代码: cookieDemo1.java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* cookie快速入门 */ //1.创建cookie对象 Cookie c=new Cookie("msg","hello"

JSP基础

北战南征 提交于 2019-12-09 18:07:58
基础 get与post请求方式的区别 get与post请求方式的区别: a. get方式 在地址栏显示请求信息(地址栏能够容纳的信息有限,4-5kb );post不会显示 b.文件上传操作,必须是post 推荐使用post JSP九大内置对象 内置对象 作用 out 输出对象,向客户端输出内容 request 请求对象;存储“客户端向服务端发送的请求信息” response 响应对象 session 会话,存在于服务端 pageContext JSP页面容器 config 配置对象(服务器配置信息) page 当前JSP页面对象(相当于Java中的this) exception 异常对象 对象 方法 返回类型 作用 request getParamenter(String name) String 根据请求的字段名(key)(input标签的name属性值),返回字段值(value)(input标签的value值) request gtParameterValues(String name) String[] 根据请求的字段名(key),返回多个字段值(value) request setCharacterEncoding(“编码格式”) void 设置请求编码 request getRequestDispatcher(“b.jsp”).forward(request

day58总结

ぐ巨炮叔叔 提交于 2019-12-09 17:12:05
目录 cookie, session, 及token的工作原理 cookie与session token cookie基本操作 orm操作cookie 基于cookie实现登录认证 session基本操作 django中间件 需要掌握的方法 了解的方法, 能简单口述即可 课外拓展题: RBAC cookie, session, 及token的工作原理 cookie与session 为什么要有这些技术? HTTP协议是无状态的, cookie和session是为了保持客户端的用户状态 cookie: 保存在客户端浏览器上的键值对, cookie虽然是保存在客户端浏览器上的键值对, 但它是由服务端设置的 浏览器有权禁止cookie的写入 session: 保存在服务端上面的键值对, session的工作机制是需要依赖于cookie的 token 加密算法, salt: xxx 用户信息 + xxx --> 随机字符串 用户信息 + 随机字符串 --> res, 浏览器的cookie保存res 之后浏览器发送cookie, 服务端将res拆分成: 用户信息 + 随机字符串 服务端将用户信息通过相同的加密算法得出一个结果与拆分出的随机字符串进行比对 优点: 一定程度保证了用户信息安全, 同时服务端不需要使用session存储用户信息 cookie基本操作 orm操作cookie

Asp.net中Application、Session、Cookie、ViewState、Cache、Hidden的区别

ⅰ亾dé卋堺 提交于 2019-12-09 13:46:38
  这些对象都是用来保存信息的,包括用户信息,传递值的信息,全局信息等等。下面主要说一下他们之间的区别: 1.Application对象 Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈.因此最好不要用此对象保存大的数据集合. 下面我们做个在线用户统计的例子来说明这个问题: (以文件的形式存放网站总访问量) Global.asax类 代码 using System; using System.Collections; using System.ComponentModel; using System.Web; using System.Web.SessionState; using System.IO; /// Global 的摘要说明。 public class Global : System.Web.HttpApplication { /// 必需的设计器变量。 private System.ComponentModel

西蒙购物网servlet测试

耗尽温柔 提交于 2019-12-09 12:51:42
在src里创建net.hw.shop.servlet包,在里面创建各种控制处理类。 1、登录处理类LoginServlet package net.wj.shop.servlet; import net.wj.shop.bean.User; import net.wj.shop.service.UserService; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; /** * 登录处理类 */ @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet

AJAX学习5

ぃ、小莉子 提交于 2019-12-09 12:43:59
代码如下: package net . yjx . shop . servlet ; /** * 功能:注销处理类 * 作者:尹佳欣 * 日期:2019年12月9日 */ import java . io . IOException ; import javax . servlet . ServletException ; import javax . servlet . annotation . WebServlet ; import javax . servlet . http . HttpServlet ; import javax . servlet . http . HttpServletRequest ; import javax . servlet . http . HttpServletResponse ; @WebServlet ( "/logout" ) public class LogoutServlet extends HttpServlet { private static final long serialVersionUID = 1 L ; protected void doGet ( HttpServletRequest request , HttpServletResponse response ) throws ServletException

Hibernate原生SQL查询

夙愿已清 提交于 2019-12-09 12:05:02
Hibernate除了支持HQL查询外,还支持原生SQL查询。 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。该接口是Query接口的子接口。 执行SQL查询步骤如下: 1、获取Hibernate Session对象 2、编写SQL语句 3、通过Session的createSQLQuery方法创建查询对象 4、调用SQLQuery对象的addScalar()或addEntity()方法将选出的结果与标量值或实体进行关联,分别用于进行标量查询或实体查询 5、如果SQL语句包含参数,调用Query的setXxxx方法为参数赋值 6、调用Query的list方法返回查询的结果集 一、标量查询 最基本的SQL查询就是获得一个标量的列表: session.createSQLQuery("select * from person_inf").list(); session.createSQLQuery("select id,name,age from person_inf").list(); 它们都将返回一个Object数组组成的List,数组每个元素都是person_inf表的一个字段值。Hibernate会使用ResultSetMetadata来判定返回的标量值的实际顺序和类型。