session对象

Java内置方式处理高并发

点点圈 提交于 2020-01-30 04:11:42
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。 为了更好的理解并发和同步,我们需要先明白两个重要的概念: 同步和异步 1、同步和异步的区别和联系   所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到 返回的值或消息后才往下执行其它的命令。 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回 值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。 同步在一定程度上可以看做是单线程,这个线程请求一个方法后就待这个方法给他回复,否则他不往下执行(死心眼)。 异步在一定程度上可以看做是多线程的(废话,一个线程怎么叫异步),请求一个方法后,就不管了,继续执行其他的方法。    同步就是一件事,一件事情一件事的做。 异步就是,做一件事情,不引响做其他事情。 例如:吃饭和说话,只能一件事一件事的来,因为只有一张嘴。 但吃饭和听音乐是异步的,因为,听音乐并不引响我们吃饭。 对于Java程序员而言,我们会经常听到同步关键字synchronized,假如这个同步的监视对象是类的话,那么如果当一个对象

Cookie&Session会话技术

我的梦境 提交于 2020-01-30 00:19:35
Cookie&Session会话技术 一.会话技术 1) 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会话技术就是记录这次会话中客户端的状态与数据的。 2)会话技术分为Cookie和Session: Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清除cookie; Session:将数据存储到服务器端,安全性相对好,增加服务器的压力; 二、Cookie技术 1.服务器端向客户端发送一个Cookie 1)创建Cookie: Cookie cookie = new Cookie(String cookieName,String cookieValue); 注意:Cookie中不能存储中文 。 2)设置Cookie在客户端的持久化时间: cookie.setMaxAge(int seconds); ---时间秒 注意:如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭 cookie信息销毁(会话级别的cookie),如果设置持久化时间,cookie信息会被持久化到浏览器的磁盘文件里 3)设置Cookie的携带路径: cookie.setPath(String path); 注意:如果不设置携带路径,那么该cookie信息会在访问产生该cookie的 web资源所在的路径都携带cookie信息 4

Django视图

和自甴很熟 提交于 2020-01-29 11:24:30
Django中视图的功能: 接收请求,进行处理,与M和T进行交互,返回应答 返回html内容HttpResponse、重定向页面redirect、json数据及异常等 1. 视图函数 定义视图函数:参数:request(必须),返回一个HttpResponse类型的对象或者HTTP404异常(参数名可以自定义不建议修改) URL配置:建立URL与视图函数之间的对应关系 URL配置 在项目的urls文件中包含具体应用的urls文件,在具体应用的urls文件中包含具体url和视图的对应关系 url配置项定义在一个名叫urlpatterns的列表中,其中的每一个元素就是一个配置项,每一个配置项都调用url函数(高版本使用path、re_path函数) url匹配过程: 注意: 匹配成功调用视图函数产生内容返回客户端,匹配失败产生404异常 不能在开始加反斜杠,推荐在结束加反斜杠 内置错误视图 404:找不到页面(请求的URL没有配置或者配置错误) - 关闭调试模式之后,默认会显示一个标准的错误页面,如果要显示自定义的页面,则需要的templates目录下面自定义一个404.html文件 - 默认情况下Django会向404.html文件传递一个参数:request_path(请求的路径) 500:服务器端错误(视图函数内部执行出错) - 默认会显示一个标准的500服务器错误页面

hibernate步骤

此生再无相见时 提交于 2020-01-28 21:00:29
1.读取并解析配置文件及映射文件 Configuration conf=new Configuration().configure(); 2.依据配置文件和映射文件中的信息,创建SessionFactory对象 1.2.3通常写在HbiernateUtil静态方法中 SessionFactory sf=conf.buildSessionFactory(); 并在Dao层中返回session 3.打开session Session session=sf.getCurrentSession() 4.开始一个事务 Transaction tx=session.beginTransaction() 5.数据库操作 session.save(user); delete update 6.结束事务 tx.commit() 7.如果是openSission().则需要session.close() hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate

hibernate整理

泪湿孤枕 提交于 2020-01-28 17:19:24
国外框架项目地址:http://websystique.com/springmvc/spring-mvc-4-angularjs-example/Angularjs文本输入框用ng-moduel,其他的用{{ }}放行用.*?Angularjs插件地址http://www.cnblogs.com/pilixiami/p/5634405.htmlUI班的教程:http://pan.baidu.com/share/link?shareid=4146906997&uk=866705889非严格读写是并发的概念Spring不支持多线程Flush()强制要求缓存与数据库一致Eache表连接,lazy子查询ORM: 编写程序时,以面向对象的方式处理数据 保存数据时是以关系型数据库的方式存储的Hibernate的数据持久化: New实例化对象时默认是瞬时的 Jdbc连接数据库时,持久化数据 将数据存入硬盘单向关联关系: 一个类单方向包含另一个类为属性,模拟数据库外键mysql数据库附加:String driver=com.mysql.jdbc.DriverString url=jdbc:mysql://localhost:3306/demohibernate注入: 实体类(1)这个表示一个实体类,Table表示对应数据库中的表名。@Entity@Table(name="t_emp")(2

理解session机制

感情迁移 提交于 2020-01-28 04:22:17
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。 当 程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为 session id,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个 session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成 一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个 session id将被在本次响应中返回给客户端保存。 保存这个session id的方式可以采用cookie,这样在交互过程中浏 览器可以自动的按照规则把这个标识发挥给服务器。一般这个cookie的名字都是类似于 SEEESIONID,而。比如weblogic对于web应用 程序生成的cookie,JSESSIONID= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764,它的名字就是 JSESSIONID。 由于cookie可以被人为的禁止

Java实现有效时间短信验证码

蹲街弑〆低调 提交于 2020-01-27 16:01:16
上周由于其他的工作繁忙,都没时间来写博客,这不一有时间,就马上来写最近实现的性功能了。 这篇主要讲的是怎么让短信验证码具有时效性,我手上的项目要求的时效性是5分钟,那么话不多说,我就开始码代码了~这里主要还用到了第三方的短信接口,互亿无线短信平台。www.ihuyi.com 实现步骤:(springmvc) 1、controller中,获取session对象,取code,取不到新生成,并存储session中; 2、单手机号发送量,判断并+1记入数据库; 3、Timer定时器,设置新线程延时执行TimerTask任务(删除code) @RequestMapping(value="sendMessage",method=RequestMethod.GET)   publicObjectsendMessage(finalHttpServletRequestrequest){   Stringphone=request.getParameter("phone");   inttimes=userService.messageSendToday(phone);//二次验证,单个手机号每日发送上限   if(times<=MAX_PER_DAY){   StringcheckCode=GenerateRandomCode.createRandomNumber(6);  

koa-session学习笔记

早过忘川 提交于 2020-01-27 04:42:55
koa-session 是koa的 session 管理中间件,最近在写登录注册模块的时候学习了一下这部分的代码,感觉还比较容易看明白,让自己对于 session 的理解也更加深入了,这里总结一下。 session基础知识 这部分算是基础知识,熟悉的朋友可以跳过。 我们都知道 http协议本身是无状态的 ,因此协议本身是不支持“登录状态”这样的概念的,必须由项目自己来实现。我们常常说到 session 这个概念,但是可能有人并不是非常清楚我们讨论的 session 具体指代什么。我觉得这个概念比较容易混淆,不同的上下文会有不同的含义: session 首先是一个抽象的概念, 指代多个有关联的http请求所构成的一个会话 。 session 常常用来指代为了实现一个会话, 需要在客户端和服务端之间传输的信息 。这些信息可以是会话所需的所有内容( 包括用户身份、相关数据等 ), 也可以只是一个id , 让服务端可能从后台检索到相关数据 ,这也是实际系统中最常用的方式。 当我们讨论** session 的实现方式 的时候,都是 寻找一种方式从而使得多次请求之间能够共享一些信息**。不论选择哪种方式,都是 需要由服务自己来实现的, http 协议并不提供原生的支持 。 实现 session 的一种方式就是 在每个请求的参数或者数据中带上相关信息 ,这种方式的好处是 不受 cookie

HttpSession详解

試著忘記壹切 提交于 2020-01-26 00:47:58
session的机制    http 是无状态的协议,客户每次读取 web 页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么要怎么才能实现会话跟踪呢? session 就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过 SessionID 来区分不同的客户 ,session 是以 cookie 或 URL 重写为基础的,默认使用 cookie 来实现,系统会创造一个名为 JSESSIONID 的输出返回给客户端Cookie保存。 保存session id的几种方式    A.保存session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。   B.由于cookie可以被人为的禁止,必须有其它的机制以便在cookie被禁止时仍然能够把session id传递回服务器,经常采用的一种技术叫做 URL重写,就是把session id附加在URL路径的后面,附加的方式也有两种,一种是作为URL路径的附加信息,另一种是作为查询字符串附加在URL后面。网络在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id。   C.另一种技术叫做 表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session

Session和Cookie实现购物车

限于喜欢 提交于 2020-01-25 13:39:48
来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=342 GPS平台、网站建设、软件开发、系统运维,找森大网络科技! http://cnsendnet.taobao.com 使用Session和Cookie实现购物车的比较   购物车相当于现实中超市的购物车,不同的是一个是实体车,一个是虚拟车而已。用户可以在购物网站的不同页面之间跳转,以选购自己喜爱的商品,点击购买时,该商品就自动保存到你的购物车中,重复选购后,最后将选中的所有商品放在购物车中统一到付款台结账,这也是尽量让客户体验到现实生活中购物的感觉。服务器通过追踪每个用户的行动,以保证在结账时每件商品都物有其主。 购物车的功能包括以下几项: 把商品添加到购物车,即订购 删除购物车中已定购的商品 修改购物车中某一本图书的订购数量 清空购物车 显示购物车中商品清单及数量、价格 实现购物车的关键在于服务器识别每一个用户并维持与他们的联系。但是HTTP协议是一种“无状态(Stateless)”的协议,因而服务器不能记住是谁在购买商品,当把商品加入购物车时,服务器也不知道购物车里原先有些什么,使得用户在不同页面间跳转时购物车无法“随身携带”,这都给购物车的实现造成了一定的困难。 目前购物车的实现主要是通过cookie、session或结合数据库的方式。下面分析一下它们的机制及作用。