适用学习 对象 : java的 初学者 仅供参考-----------
开发 工具 idea ---- jdk8 ------ javaEE7 服务器tomcat 8.5
涉及javaWeb 基础 : session request response
有图 有码
分析 需求
:使用jsp来实现的 验证码 的 实现 : login.jsp ------ LoginServlet -----
login.jsp -----------
form table 表单 : tr —td
======& jsp的预览 要在 服务器 里 运行 :
--------- action 的请求的 是 :
servlet :---------- LoginSrevlet ---------
设置请求request的 编码 :
所有的 request 的参数:
获取验证码 ??
将 用户用户的 信息
5 判断 用户
信息的 封装到user 对象 里
session
判断 用户 的 获取 程序 生成验证码 : 与 用户输入 是否 保持一致
先判断 验证码 在 判断 用户 :减少 的 数据库 的访问次数的 压力
if 一致 :
if 用户名与密码
正确就 的登录成功
else
1: 给提示
2: 重定向到登录页面 ========= 重定向
这里 转发到Session 里 也是可以 的
----- 门都 没有进 就得重来 了-------
else 不一致 :
1: 提示验证 错误的 信息
2: 转发 跳转到 登录页面 里 ========= 转发
错误信息 只在jsp 里共享-----v 一次request 里 无需其他人知道
只是 起码都登录 了 验证码的错误
- 涉及
一个转发与 重定向 是的 区别 :
关于request 与的 使用与否
request 域里就会 用转发 其他的就是 重定向
使用 中 路径与否:
转发---相对路径 重定向---绝对路径
---- 关于域对象的 使用场景 :
用户名 与登录 会 经常的使用 存在 Session 里 ------
具体实施 : 将原来 一边写好 验证码的 servlet、 粘贴过来 :
据需要在 的改进 : 使用个的是StringBuild =====
生成 验证码 在Session域 里 域 ------ 操作方法 Attribute
防止空指针异常 ---=========
验证码忽略大小写 -------
-
注意 :
form 表单 提交到servlet 里
先判断 :验证码错误就少判断一次数据库
也许: 可能看不出来的 ------ null 值得判断 :sjp 里直接的就进行的 三元判断式 ******* 用一次就是失效 : 前面一点获取就 后面就会 removeAttribute() 是的 使用
============ 编码的实施 ===============
-
创建前端页面 :
--- from 表单的额 action 到指定的 servlet 里 method= post ---table 表格 里 tr -- td 里input Type与name 的属性的 定义 --- 分别定义的的是 ; ----- ----用户名 type text ----密码 type password ---- 验证码 type text ----img ----td 的 colspan=2 跨2行 ---- 图片 : img 的id =“img” src =“指定的servlet” ---- submit -----value:“登录” td 的 colspan=2 跨2行
-
使用js 来进行 切换 验证码 :
Windows 调用 onload 的回调函数 ‘function(){} 里’
通过id 获取标签体 :getElementById(“img”)onlick=function(){
this 调用当前的获取的标签体的img
调用src 指定的 方法 里 拼接time 值参数 的时间戳 ?time”+:
new Date().getTime()
----- 后端的继续编写 ---------------
创建servlet 页面 :
获取所有请求的参数 :request.getPrimaterMap()
获取Map --- 操作数据库 来做 ======
这不用数据库的操作 ---- 需要你 完善 数据库的
分别 获取参数 的:
reque