session

myeclipse创建hibernate工程

南楼画角 提交于 2020-02-09 17:04:46
1.创建数据库: from blog http://www.cnblogs.com/zhaocundang/p/9061959.html 使用navicat mysql IDE: 创建数据库 bookshop 创建表 CREATE TABLE books(id INT PRIMARY KEY auto_increment,Bookname VARCHAR(50),Bookprice VARCHAR(40)); ok 数据库部分整完。 打开myeclipse创建web工程: finish 创建数据库连接db browser 如果没有的话,在other查找db browser 右键new 填信息 测试连接 finish 展开数据库,右键数据库表book,反向工程 finish 右键工程导入hibernate库 取消勾 整个工程: 创建个测试类: 插入数据 package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import pojo.Book; public class mytest { static Configuration cfg

java 三大框架——Hibernate

本小妞迷上赌 提交于 2020-02-09 14:37:11
Hibernate框架简介 Hibernate框架是一款数据持久型的框架也是一款ORM框架 数据持久型:是将数据存入数据库或将数据库里的数据读入程序中 ORM:我们说JAVA中是面向对象的思想 而现在市场中大部分使用的数据库都是关系型数据库,如果利用面向对象语言来操作关系型数据库的话,其中会出现一些很麻烦的代码,会阻碍我们进行开发造成了没必要的麻烦,所以ORM提供了一种能使用对象来调用数据库里的每一条数据,具体是以类来对应数据库中的表,以对象来对应表中的字段,以对象来对应表中的每一条数据。 在了解Hibernate之前 首先回顾一下JDBC是如何操作数据库的 1,加载mysql驱动 2,获取连接 3,获取数据的操作对象 4,进行数据库的操作 5,关闭资源 在Hibernate结构目录中分别有以下几个结构 documentation(文档) lib(jar包) project(源代码) 对于初学这款框架的程序员来说 先进入lib包下进行导包 hibernate框架的jar包就分的很详细 lib中会发现有这几种envers jpa optional osgi required 一般情况下只导入required下的jar包即可 这些jar都是必须存在的 optional中的jar包主要是用于优化hibernate的性能 包括数据连接池和缓存两部分 接下来了解下Hibernate的相关配置

Day32——Java web学习笔记part3

给你一囗甜甜゛ 提交于 2020-02-09 14:06:09
Java web学习笔记 文章目录 Java web学习笔记 8、Cookie、Session 1、会话 2、保存会话的两种技术 3、Cookie 4、session(重) 9、Java Server Page 1、什么是JSP 2、JSP原理 3、JSP基础语法 4、JSP指令 5、9大内置对象 6、JSP标签、JSTL标签、EL表达式 JSP标签 JSTL表达式 7、JavaBean JavaBeans属性 访问JavaBeans 10、MVC三层架构 11、过滤器Filter(重) 12、监听器 过滤器与监听器常见应用 8、Cookie、Session 1、会话 会话 :用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可称为会话。 有状态会话 :(一个同学来过教室,下次再来教室,大家会知道这个同学曾经来过,称之有状态会话) 一个网站,怎么证明你访问过? 客户端——————服务端 1、服务端给客户端一个信件,客户端下次访问服务端带上信件就可;(cookie) 2、服务器登记客户端访问过,下次访问时来匹配就可;(session) 2、保存会话的两种技术 cookie 客户端技术(响应,请求) session 服务器技术,利用这个技术,可以保存用户的会话信息,可以把信息或者数据放在Session中 常见场景 :网站登录(如B站),第一次登录

session的工作原理

一笑奈何 提交于 2020-02-09 13:57:58
Session 工作原理 1、创建Session   当用户访问到一个服务器,如果服务器启用Session,服务器就要为该用户创建一个SESSION,在创建这个SESSION的时候,服务器首先检查这个用户发来的请求里是否包含了一个SESSION ID,如果包含了一个SESSION ID则说明之前该用户已经登陆过并为此用户创建过SESSION,那服务器就按照这个SESSION ID把这个SESSION在服务器的内存中查找出来,如果客户端请求里不包含有SESSION ID,则为该客户端创建一个SESSION并生成一个与此SESSION相关的SESSION ID。这个SESSION ID是唯一的、不重复的、不容易找到规律的字符串,这个SESSION ID将被在本次响应中返回到客户端保存,而保存这个SESSION ID的正是COOKIE,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。    2、使用Session   我们知道在IE中,我们可以在工具的Internet选项中把Cookie禁止,那么会不会出现把客户端的Cookie禁止了,那么SESSIONID就无法再用了呢?找了一些资料说明,可以有其他机制在COOKIE被禁止时仍然能够把Session id传递回服务器。   经常被使用的一种技术叫做URL重写,就是把Session

html页面通过ajax请求获取session中的值

江枫思渺然 提交于 2020-02-09 01:48:16
在利用springboot进行web开发时,遇到这样一个问题:html如何获取session中的值,实现用户登录系统后首页展示xx欢迎您。 也就是需要实现html通过ajax请求获取session中的值。 1.登录页面 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <meta charset="utf-8"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>测试</title> </head> <body> <form action="../checkuser" method="post"> <table> <tr> <td> 姓名:</td> <td width="25"> <input type="text" name="username" value=""> </td> </tr> <tr> <td> 密码:<

session执行机制

ⅰ亾dé卋堺 提交于 2020-02-08 21:30:59
客户端第一次请求服务器 服务端会产生一个session对象(用户保存该客户的信息); 每个session对象都会有一个唯一的sessionID(用户区分其他session); 服务端会又会产生一个cookie,并且该cookie的name=JSESSIONID,value=服务端sessionID的值; 然后服务端会在响应客户端的同时将该cookie发送给客户端; 至此,客户端就有了一个cookie(JSESSIONID); 客户端的cookie和服务端的session一一对应 : (JSESSIONID - sessionID) ** 客户端第二次/n此访问服务器 服务端会先用客户端cookie中的JSESSIONID 去服务端的session中匹配sessionid, 如果匹配成功(cookie jsessionid和sessionid ),说明此用户不是第一次访问,无需登录 总结: 第一次 客户请求时 产生一个sessionid 并复制给cookie 的jsessionid 然后 发跟踪客户端。 最终 通过session的sessionid-cookie的jsessionid 扩展 session常用方法: getId ( ) : //获取sessionId bolean isNew ( ) ; //判断是否是 新用户(第一次访问) void invalitate ( ) :

使用Tomcat基于redis的session共享机制集群部署

流过昼夜 提交于 2020-02-08 21:04:35
常见的session集群方案:session复制和session共享 Session复制:指session信息会在集群节点之间复制,每个节点服务上都会有相同的session信息;主要是实现后端多个节点的冗余功能。但是node之间通信频繁,响应速度有影响,多并发,高频发操作的情况下,性能存在严重问题; Session共享:通俗来说就是一个浏览器对应多个web服务时,服务端的session数据需要共享 【集群环境】 因为是在个人虚机模拟,资源有限,故tomcat和redis环境复用(Ps:软件环境需要的话,可以找到博客左边的联系方式) 软件环境:jdk1.8.0、redis-5.0.3.tar.gz、apache-tomcat-8.0.50.tar.gz、redisson-tomcat-8-3.12.1.jar、redisson-all-3.12.1.jar Nginx代理端:192.168.109.100 Tomcat_node1/redis服务: 192.168.109.101 Tomcat_node2 :192.168.109.102 【集群部署】 部署redis环境 #tar xvf redis-5.0.3.tar.gz #cd redis-5.0.3 #make #cp redis.conf /etc/ #cd src #cp redis-cli redis-server

JSP学习-sessionDemo

那年仲夏 提交于 2020-02-08 18:02:02
一个简单的Demo: 一个登陆页面login.jsp,跳转到check.jsp,登陆成功就跳转到welcome.jsp,失败就跳转回login.jsp 并且非活动时间大于10秒也自动跳转回login.jsp login.jsp 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <form action="check.jsp" method="post"> 11 <!-- 登录后去哪里校验 --> 12 用户名:<input type="text" name="uname"><br> 密码:<input 13 type="password" name="upwd"><br> 提交:<input type="submit" 14 value="登录"><br> 15 </form> 16 </body> 17 </html> check.jsp 1 <%@ page language="java" contentType=

127.Hibernate二级缓存

…衆ロ難τιáo~ 提交于 2020-02-08 17:52:41
在项目中,有些数据几乎不会改变,作为共享数据来使用的时候,它们就是二级缓存。 Hibernate 并没有提供二级缓存的解决方案。但是市面上有解决二级缓存的第三方组件,如:EhCache、OsCache、JbossCache、MomeryCache等。 特性: 1.修改不能特别频繁。 2. 数据可以公开。 二级缓存在SessionFactory中,因为SessionFactory是线程安全的,所以二级缓存也是线程安全的。 二级缓存的生活周期和SessionFactory一样。 怎么样把数据放入二级缓存? 怎么样把数据从二级缓存中提取出来? Hibernate 默认二级缓存是关闭的。所以需要在 1.hibernate.cfg.xml 中配置二级缓存。 5.0 这么配置不对 在Mapping文件中配置。 注意<cache>的位置必须在<id>之前 session.get 方法的作用 :1.把一个对象变成持久化状态的对象。2.把该对象存放到session的一级缓存中。3.把该对象存入sessionFactory的二级缓存中。 session.clear 方法清除一级和二级缓存。 session.save 方法特殊,它只放入一级缓存,不放入二级缓存。 session.flush 会把数据放入二级缓存中。 session.get 、session.load、session

123.Hibernate一级缓存

拜拜、爱过 提交于 2020-02-08 17:28:24
研究一级缓存需要理解的问题: /** * 1. 一级缓存的生命周期 * 一级缓存在 Session 中存放,只要创建 session ,一级缓存就存在了。 * 当关闭 Session 的时候,一级缓存就不存在了。 * 2. 一级缓存依赖于谁存在 * 依赖于 session 存在。 * 3. 怎么样把数据存放到一级缓存中 * 利用 session.get 、 update 、 save 方法 * 4. 怎么样从一级缓存中获取数据 * 利用 session.get 方法 * 5. 怎么样将一级缓存的数据同步到数据库 * 只要是一个持久化状态的数据,那它一定在一级缓存中 * 利用 session.flush 方法 * 6. 怎么样将数据库中的数据同步到一级缓存 * session.refresh 方法 : 只能同步一个对象 * 7. 一级缓存的特性 * 也叫 session 级别的缓存。 * session 中存放私有数据。 * 可以通过新建 session 和从当前线程中获取 session 来保证数据的安全性。 * 8. 从一级缓存中清除某个对象 * session.evcit 方法、并且将一个对象从持久化状态转换成脱管状态。 * 9. 清空一级缓存中所以的数据 * session.clear 方法 */ session.save() 方法 可以将一个对象变成持久化对象