第一部分+++++++++++
1.session会话

定义:session会话——对某个web应用程序的一次整体访问的过程。

由来:无连接的http协议是无状态的,不能保存每个客户端私有信息
 a用户和b用户同时访问一个服务器,在还没有登录的情况下
 ,服务器不能保存客户的信息,服务器为了辨识客户的本次访问,
 产生了sessionId来标识,a的sessionId标识a客户的本次会话。

标识:每一个session都有一个唯一标识sessionId
 sessionId存放在本地浏览器的cookie中

2.会话跟踪
 作用:解决同一时刻不同客户端会话私有数据保存问题
 两种实现:session(存储在服务器端)和cookie(本地浏览器)

3.session机制
 a. 客户端向服务器端发出首次请求,服务器为此客户端产生session对象,
 并将生成的sessionId随应答返回客户端,客户端保存此Id
 b. 当同一个客户端向服务器发送新的请求的时候,
 要将上次得到的sessionId一同发出到服务器端,
 服务器根据此Id来辨识,响应对象的session对象。
4.session对象:服务器分配的保存客户端私有信息的一块内存
 空间(临时空间,短时间内不访问,session会消亡)
 用户登录信息放在session里边(涵盖了request和response对象) 
 定义:对于面向无链接无状态的http协议而言是实现有状态会话的有益补充。

5.session存储在服务器端
 服务器通过sessionId将客户端与session数据对应起来

6.得到session句柄
 a.在servlet中得到session
 默认为true
 httpSession session = request.getSession(boolean)
 false有返回,无返回null
 
 true有返回,无创建并返回
 request.getSession()
 与传true等价
7.设置session最大有效时长
 <session-config>
  <session-timeout>
1
</session-timeout>

</session-config>

第二部分+++++++++++
1. (登录验证)
建议:在SQL列筛选的时候,能查单列完成功能的决不用全列查,否则性能下降
耗费流量,不安全
2.提交按钮加属性
 style="cursor: pointer;"—效果(鼠标变成手势)

3.servlet用户信息验证
if(adminName == null || adminName.trim().equals("")) {
 out.print("<script>alert('用户名不能为空'); history.go(-1);</script>");
 return;
}
第三部分+++++++++++++++
具体验证码步骤:
1.导jar包(kaptcha.jar)
2.配置XML文件(复制过来)
 XML文件内:
 a.有个servlet类doget方法,先生成随机数,然后根据随机数生成一个文本(验证码图片里的数字)。
 b.把文本和时间date都存到session里边
 c.根据文本生成验证图片
 把图片发送到jsp页面
3.nonoise:无干扰线(验证码无干扰线)

4.点击图片切换—请求方式(src)
对象.src = "kaptcha" + new Date();
原理:根据不管改变的时间来做为随机数,生成不同数字的图片。

5.在servlet中得到验证码的随机数
String kaptcha =
request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY).toString();

6.验证码的作用:
 a.防止重复提交(每次登陆验证码要重新输入)
 b.安全性提高

7.日期存储问题
从util的Date转化到SQL的Date然后才能存储
Date sqlDate = new Date(utilDate.getTime())

javaweb笔记09—(session会话及验证码问题)的更多相关文章

  1. 超全面的JavaWeb笔记day11<JSP&Session&Cookie&HttpSession>

    1.JSP 2.回话跟踪技术 3.Cookie 4.HttpSession JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态 ...

  2. Tomcat负载均衡、调优核心应用进阶学习笔记(三):LNMT nginx+tomcat、LAMT apache+tomcat、session会话保持、不错的站点

    文章目录 LNMT nginx+tomcat LAMT apache+tomcat 基于mod_proxy 单节点 配置基于mod_proxy的负载均衡 基于mod_jk(需要编译安装) 单节点 配置 ...

  3. Cookie与Session会话技术

    Cookie与Session会话技术 一.什么是会话 会话:当用户打开浏览器,访问多个WEB资源,然后关闭浏览器的过程,称之为一个会话,选项卡,弹出页面都属于这个会话,且共享同一个session. 二 ...

  4. [terry笔记]Oracle会话追踪(二):TKPROF

    接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html ...

  5. [terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046

      SQL_TRACE/10046 事件是 Oracle 提供的用于进行 SQL 跟踪的手段,在日常的数据库问题诊断和解决中是非常常用的方法.但其生成的trace文件需要tkprof工具生成一个可供人 ...

  6. Django实战(一)-----用户登录与注册系统6(session会话、注册视图)

    因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的.独立的. 通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户.对于 ...

  7. 使用aspnet_regsql.exe 创建ASPState数据库,用来保存session会话

    使用aspnet_regsql.exe 创建ASPState数据库,用来保存session会话   因为公司有多台服务器,所以session要保存在sql server上,因此要在数据库中建立存放se ...

  8. Session覆盖测试(要验证码提交到后续页面操作的 绕过去的场景)

    测试原理和方法 找回密码逻辑漏洞测试中也会遇到参数不可控的情况,比如要修改的用户名或者绑定 的手机号无法在提交参数时修改,服务端通过读取当前session会话来判断要修改密码的账 号,这种情况下能否对 ...

  9. MZY项目笔记:session歧路

    from my typora MZY项目笔记:session歧路 文章目录 MZY项目笔记:session歧路 那该怎么办? 1. 手动加上cookie的header. 2.自己模拟一个Session ...

随机推荐

  1. python中的*arg和**kwargs

    arg对应多出来的位置参数,把它们解析成tuple;kwargs把关键字参数解析成dict. def example(pram): print(pram) def example2(param, *a ...

  2. dataframe操作

    1.去除重复项drop_duplication #去除重复项drop_duplication import pandas as pd df = pd.DataFrame({"col1&quo ...

  3. Spark创建空的DataFrame

    前言 本文主要给出Spark创建空的DataFrame的代码示例,这里讲的空的DataFrame主要指有列名(可以自己随意指定),但是没有行的DataFrame,因为自己在开发过程中有这个需求,之前并 ...

  4. [py]super调用父类的方法---面向对象

    super()用于调用父类方法 http://www.runoob.com/python/python-func-super.html super() 函数是用于调用父类(超类)的一个方法. clas ...

  5. zhaoyin

    1.什么时候用到事务,单个update操作会用到事务吗? 银行转账 /**//*--使用事务--*/ use stuDB go --恢复原来的数据 --update bank set currentM ...

  6. MySQL--5子查询与连接小结

    子查询:出现在其他sql语句中的 SELECT,必须出现在小括号内,子查询外层可以是常见的SELECT语句,INSERT语句 UPDATE语句 DELETE语句,在子查询中可以包含多个关键字和条件 ( ...

  7. Ubuntu下orbbec mini 无法正常显示图像问题

    最近用orbbec的深度摄像头采集RGBD图像,Windows下一切OK.但是Ubuntu下出现了不少问题.总结一下 1.将设备插到USB,先确定电脑能否正常识别设备 Ubuntu下是不需要安装驱动的 ...

  8. FCN的理解

    FCN特点 1.卷积化 即是将普通的分类网络丢弃全连接层,换上对应的卷积层即可 2.上采样 方法是双线性上采样差 此处的上采样即是反卷积3.因为如果将全卷积之后的结果直接上采样得到的结果是很粗糙的,所 ...

  9. antlr安装

    安装java环境,环境变量设置如下: ANTLR 简介 ANTLR—Another Tool for Language Recognition,Antlr 本身是使用 Java 开发的,它为包括Jav ...

  10. MySQL报错

    1,使用mysqldump导出数据报错: mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when d ...