cookie、session
来源:互联网 发布:重庆时时彩数学算法 编辑:程序博客网 时间:2024/06/05 16:37
验证数据后,在使用
url:
以/开头
1.服务器用,/代表:当前web应用[WebRoot]
2.客户端用,/代表:网站
request.getRequestDispatcher("/publi/xx.jsp").forward(request, response);//当前web应用this.getServletContext().getReadlPath("/publi/xx.jsp");//当前web应用this.getServletContext().getResourceAsStream("/publi/xx.jsp");//当前web应用response.sendRedirect("/xxProject/publi/xx.jsp");//代表:网站 + web应用//<a href="/xxProject/publi/xx.jsp"></a> //代表:网站 + web应用//<form action="/xxProject/publi/xx.jsp">//代表:网站 + web应用//</form<pre name="code" class="java">cookie.setPath("xxProject");//有效目录
cookie
1浏览器维护cookie
2一个cookie表示一个信息,可以传多个cookie,大小限制4kb
3cookie默认有效期是当前绘画,浏览器缓存中;本地存储:setMaxAge 秒 , 值为0浏览器将删除cookie[path也要一致]
Cookie cookie = new Cookie("name", "value");cookie.setValue("");cookie.getValue();cookie.setMaxAge(1);// 秒 有效期,浏览器本地存储与维护cookie.getMaxAge();//没有设置,cookie当前会话有效,缓存中cookie.setPath("uri");//有效目录cookie.getPath();cookie.setDomain(""); //域名 eg: baidu.com 浏览器会阻止这类cookiecookie.getDomain();cookie.getName();
session
1服务器维护session
2.生命周期:第一次getSession时,创建session; 默认30分钟无使用被销毁[可配置 web.xml中 ] 或者 session.invalidate();
<session-config><session-timeout>10</session-timeout></session-config>
session.invalidate();//销毁session
3.JSessionid: 基于cookie[默认时间],传JSessionid给浏览器
cookie: JSessionid=ADSAXX123 ; 当getSession时,判断JSessionid判断是否存在,创建?
session.setAttribute("name", "");//设置值 【多个】Object attribute = session.getAttribute("name");//取值tring nameString = (String) attribute;//覆盖cookie 解决 基于cookie[默认时间] 的问题String id = session.getId();Cookie cookie = new Cookie("JSESSONID", id);cookie.setPath("xxProject"); //paht要一致cookie.setMaxAge(30*60);//半小时response.addCookie(cookie);当cookie禁止后,还想使用session,url加sessionid :
response.encodeRedirectURL("url"); //重定向 //没有带sessionid,重写url地址。如果带了,统一资源定位器不变response.encodeURL("url");
4.防表单重复提交 struts1处理方案:
session.setAttribute("token", "随机数");
<input type="hidden" value="${token}" />
hidden携带随机数 token
//判断request.getParameter("token");//不空,否着不让提交session.getAttribute("token");//不空,且要和request带过来的一致,否着不让提交//处理提交 session.removeAttribute("token");//移除
UUID.randomUUID().toString(); // 随机数 全球唯一
Base64 + MD5
Base64:一个字节8bit,3个字节 转 4个字节,每个取6bit 高位补0,实际范围0-63【64个】;可逆
5.验证码,验证
- Session,Cookie
- cookie & session
- Cookie & Session
- Session, Cookie
- Session、Cookie
- SESSION && COOKIE
- Cookie & Session
- SESSION && COOKIE
- Session.Cookie
- cookie session
- session cookie
- session cookie
- Cookie&Session
- cookie session
- Cookie&Session
- Cookie、Session
- cookie&session
- Cookie & Session
- [leetcode] 227. Basic Calculator II
- Spark安装与学习
- jQuery 事件
- windows下python绘图库matplotlib安装方法(亲测)
- JS实现键盘监听(包括组合键)
- cookie、session
- jquery/js实现一个网页同时调用多个倒计时(最新的)
- [Servlet]请求封装器、响应封装器
- zzuli 1784: Camellia的难题 (暴力)
- 如何配置gethub(linux)
- eclipse中如何对jar包关联的源代码进行调试?
- 求二叉树的叶子节点数目/二叉树的高度
- 前端必读:浏览器内部的工作原理
- Android如何避免OOM总结