session

Java Web 学习笔记(5)

风流意气都作罢 提交于 2020-02-29 17:47:20
JSP内置对象作用域 4个:page、request、session、application setAttribute、getAttribute page作用域:对应的内置对象是pageContext request作用域:对应的内置对象是request session作用域:对应的内置对象是session application作用域:对应的内置对象是application page<request<session<application page只在当前页面有效 request在一次请求内有效 session在一次会话内有效 application对应整个WEB应用的 网站访问量统计 <% Integer count =(Integer) application.getAttribute("count"); if(count==null){ count=1; application.setAttribute("count",count); }else{ count++; application.setAttribute("count",count); } %> 您是当前的第<%=count%>位访客 EL 表达式 Expression Language 表达式语言,替代 JSP页面中数据访问时的复杂编码,可以非常便捷地取出域对象(pageContext、request

搭建神经网络1

瘦欲@ 提交于 2020-02-29 17:08:45
基本概念 1、基于Tensorflow的NN(neural network)用 张量 表示数据,用 计算图 搭建神经网络,用 会话 执行运算图,优化线上的权重,得到模型。 0阶张量称作标量,表示一个单独的数,如s=12; 1阶张量称作向量,表示一个一维数组(列表),如V=[1,2,3]; 2阶张量称作矩阵,表示一个二维数组(列表),它可以有i行j列个元素,每个元素可以用行号和列号共同索引到, 如m=[[1,2,3],[4,5,6],[7,8,9]]; t=[[[...]]]为三阶张量。 2,数据类型:Tensorflow的 数据类型 有tf.float32、tf.int32等。 例如我们实现tensorflow的加法: import tensorflow as tf#引入模块 a = tf.constant([1.0,2.0])#定义一个张量等于[1.0,2.0],constant表示是一个常量 b = tf.constant([3.0,4.0])#定义一个张量等于[3.0,4.0] result = a+b#实现a和b的加法 print(result)#打印出结果 结果: 意思是result是一个名称为add_2:0的张量,shape=(2,)表示一维数组长度为2,dtype=float32表示数据类型为浮点型。 3,计算图(Graph):搭建神经网络的计算过程

SuperSocket 1.4系列文档(10) SuperSocket中的日志功能

做~自己de王妃 提交于 2020-02-29 16:03:43
SuperSocket内置了日志功能,你只需通过下面两个步骤来启用它: 1) 包含SuperSocket提供的配置文件log4net.config到你的启动程序的/Config目录 2) 如果你用自定义容器运行SuperSocket,请确认您添加了LogUtil.Setup(); 这段代码到程序入口位置,用于启用SuperSocket日志功能 SuperSocket的AppServer和AppSession都有Logger属性,你可以直接使用他们来记录日志。 SuperSocket的日志是以文件的形式存放在运行目录的Logs子目录里面,Log相关的配置请参考文档 http://www.cnblogs.com/jzywh/archive/2011/04/20/2022946.html 某项目AppServer类中有如下代码: if (string.IsNullOrEmpty(m_PolicyFile)) { Logger.LogError("Configuration option policyFile is required!"); return false; } 以上代码会将错误信息"Configuration option policyFile is required!"记录到err.log文件里面 你也可以用同样的方式通过Session的Logger来记录日志信息:

ActionContext和ServletActionContext小结

假如想象 提交于 2020-02-29 13:15:32
1. ActionContext 在Struts2开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直接对JavaServlet Http的请求(HttpServletRequest),响应(HttpServletResponse)操作. 我们需要在Action中取得request请求参数"username"的值: ActionContext context = ActionContext.getContext(); Map params = context.getParameters(); String username = (String) params.get("username"); ActionContext(com.opensymphony.xwork.ActionContext)是Action执行时的上下文,上下文可以看作是一个容器(其实我们这里的容器就是一个Map而已),它存放的是Action在执行时需要用到的对象. 一般情况, 我们的ActionContext都是通过: ActionContext context = (ActionContext) actionContext.get();来获取的.我们再来看看这里的actionContext对象的创建:

淘宝技术架构分享

孤街醉人 提交于 2020-02-29 10:09:18
上周六参加了一场由淘宝的架构师,曾宪杰先生主讲的淘宝网架构分享。然后马上就出差了,一直没来得及总结,今晚比较有空,把这次听到的比较有启发的观点记录一下 一、为什么stateless比较有利于实现水平伸缩 关于什么是stateless的扫盲,见这个贴: http://kyfxbl.iteye.com/blog/1831869 一般有一个共识,就是把应用做成无状态的,会比较容易实现水平伸缩。但是以前一直有一个想法,就算应用是有状态的,也可以做成水平伸缩:只需要在负载均衡那里做一个session绑定就可以了,根据某种标识,把请求固定地发送到特定的server上 但是相对于有状态,stateless是更好的,主要有3个原因: 1、负载均衡不需要做session绑定,也就可以用更简单的算法,比如随机、取模等,把请求分配到任意server上,因此相对于session绑定的做法,性能会比较好 2、也是性能的问题,在7层网络模型中,session位于第7层,负载均衡如果是基于session的算法来决定要怎么分发请求,性能的损耗也会比较大 3、如果某一台server down掉了,后续的请求就没法继续往这台server发了,影响可用性 二、为什么淘宝开发session框架 如果将请求所需的信息,都放在cookie里,确实就不需要session框架了,而且也比较容易实现stateless

会话技术Cookie&Session

旧巷老猫 提交于 2020-02-29 09:46:56
   学习Servlet三个域对象:ServletContext(web项目)、request(一次请求)、Session(一个客户端)!均有相同的方法!   从用户开始打开浏览器进行操作,便开始了一次会话,直至关闭浏览器为止结束。在此过程中,每次产生请求时均会产生一次cookie,同时会产生一个JESSIONID进入到客户端进行创建内存空间,下次调用直接寻找此唯一的ID值。数据存储在两个地方均有利弊!需要注意的是,浏览器关闭,session并没有销毁! 一、会话技术简介: 1、存储客户端的状态:   因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态。 会话技术是帮助服务器记住客户端状态(区分客户端) 2、会话技术: ①、从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会话技术就是记录这次会话中客户端的状态与数据的。 ②、会话技术分为Cookie 和Session: Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清楚cookie. Session:将数据存储到服务器端,安全性相对好,增加服务器的压力。 二、Cookie技术: 1、服务器向客户端发送一个Cookie(不能存中文) Cookie cookie=new Cookie(String

cookie和session

大憨熊 提交于 2020-02-29 09:45:36
一 http 无状态 定义: HTTP 无状态协议,是指协议对于交互性场景没有记忆能力。 通俗点说, http 不记录任何状态,也就无法维持会话。 例子: 购物商城买东西,当登陆成功后,跳转到购买页面,此时再添加商品,服务器跳转到购买商品的接口,无法判断是否合法,就需要再登陆一遍。因为登陆的那个响应已经结束,而 Http 不记录任何状态,因此服务器要重新调用登陆那个接口才能让用户添加商品。 二 cookie 1.cookie 由于 HTTP 是一种无状态的协议,服务器单纯从网络连接上无从知道客户身份。 Cookie 就来解决这个问题 ( 1 ) cookie 是什么: cookie 是浏览器的技术, Cookie 具体指的是一段小信息,它是服务器发送出来存储在浏 览器上的一组组键值对,可以理解为服务端给客户端的一个小甜点,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息。 ( 2 ) cookie 原理: 浏览器访问服务端,带着一个空的 cookie ,然后由服务器产生内容,浏览器收到相应后保存在本地;当浏览器再次访问时,浏览器会自动带上 Cookie ,这样服务器就能通过 Cookie 的内容来判断这个是 “ 谁 ” 了。 ( 3 ) cookie 传输: Cookie 是通过 HTTP 请求 头 和响应头在客户端和服务器端传递的

SSH三大框架的工作原理及流程

帅比萌擦擦* 提交于 2020-02-29 09:06:35
Hibernate工作原理及为什么要用? 原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息 3.通过config.buildSessionFactory();//创建SessionFactory 4.sessionFactory.openSession();//打开Sesssion 5.session.beginTransaction();//创建事务Transation 6.persistent operate持久化操作 7.session.getTransaction().commit();//提交事务 8.关闭Session 9.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库

深入研究java.lang.ThreadLocal类

我的梦境 提交于 2020-02-29 08:45:26
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。 从线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收(除非存在对这些副本的其他引用)。 通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。 ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单,在ThreadLocal类中有一个Map,用于存储每一个线程的变量的副本。 概括起来说,对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份变量,让不同的线程排队访问

python相关注册登录方式

孤街浪徒 提交于 2020-02-29 06:17:33
1、使用django自带功能实现登录/退出登录  使用django自带登录功能,前提生成用户(用户注册)使用的是django自带的user,或称models中用户表继承于django自带的user 1.1、登录  views.py: from django.contrib.auth import authenticate,login,logout def acc_login(request): """登录页面""" error_msg = '' if request.method == "POST": username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username = username, password = password) if user: login(request,user) return redirect(request.GET.get('next','/index/')) # 如果有next则跳转到next指定的页面,如果没有则跳转到index页面 else: error_msg = "Wrong username or password!" return render(request,"login.html",{