一:保存会话数据的两种方式,session和cookie。session是服务器的技术,cookie是客户端技术,
二:为多次会话保存一次session方法,由于服务器在一次浏览器会话中会为客户端发送本次session的id,浏览器在一次会话中每次访问新的链接都会带来这个JSESSIONID的cookie,所以会话中只有一个session。如果想多次会话中使用一个session,可以设置这个JSESSIONID的生命周期。
三:在浏览器禁用cookie时,如果想使用session的话,必须要使用URL重写技术,就是URL后面以参数的形式将session的id号发送给其他请求资源,这样就可以多个servlet或其他程序使用同一个session了。
response. encodeRedirectURL(java.lang.String url)用于对sendRedirect方法后的url地址进行重写。
response. encodeURL(java.lang.String url)用于对表单action和超链接的url地址进行重写
四:在web.xml中可以配置session的失效时间
五:md5算法可以为世界上任何大小的数据产生16个字节的唯一数据。
六:base64算法,将三个字节从后往前每六位取一次补两个0,变成四字节,由于每个字节最大是63,所以叫base64编码。
七:使用session完成用户登录,就是将用户名等存在session中,登录成功后,在首页显示用户名
八:使用session防止表单重复提交,防止表单重复提交首先可以在浏览器端用JavaScript校验,或者在服务端每次返回给浏览器时传一个随机数,使用md5算法对随机数求出数据指纹,然后使用base64算法返回一个字符串给浏览器,然后收集浏览器数据与session中的数据是不是一致,如果不一致说明重复提交了。