思路之界面总结(二)
开发工具与关键技术:Visual Studio 、个人思路
撰写时间:4月5号
作者:曾子千
1、验证码
因为验证码是图片无法比较 所以要先获取验证码字符串 在静态方法中就有生成的验证码字符串 直接在静态类中直接把验证码字符串存进session(浏览器临时缓存 储存位置在服务器)中
session=[“validcode”(命名)]=strRando(静态类生成的验证码字符串);
为弥补http无状态的不足 浏览器或添加缓存机制 session和Cookie(浏览器临时缓存 储存位置在客户端),无状态情况下服务器无法通过网络连接确定客户身
Cookie:不占服务器内存 出现早 相当给客户端颁发通行证 复杂
session:占用服务器内存 出现晚 在服务器中’客户’端信息 简单// 新建Cookie
Cookie
cookie = new(声明)
Cookie("username","helloweenvsfei");
cookie.setMaxAge(Integer.MAX_VALUE);
//设置生命周期为MAX_VALUE
如果maxAge为负数,则表示该Cookie仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该Cookie即失效
response.addCookie(cookie);
// 输出到客户端
服务器会把长时间内没有活跃的Session从内存删除。
Session的超时时间为maxInactiveInterval属性,可以通过对应的getMaxInactiveInterval()获取,通过
setMaxInactiveInterval(longinterval)修改。
Session的超时时间也可以在web.xml中修改。另外,通过调用Session的invalidate()方法可以使Session失效。
session是全局的所有地方都可以用调用 页面直接@出来就可以
控制器可以声明变量来接收 string(声明) sessionValiCode=””;String(声明) sessionValiCode=session[“validcode”(命名)].ToStting(返回表示当前对象的字符串)();
开始判断Session
是不是空值,然后开始忽略大小写比较验证码
if
(sessionValiCode.Equals(忽略字符大小写) (strValidCode.Trim(),
StringComparison(声明,比较前后数据)
.lncariantCulturelgnoreCase(忽略字符大小写)))