JSP的作用域与COOKIE
page,request,session,application对象都拥有通过键和值保存数据的常用方法,但作用域并不相同
保存数据:setAttribute("键",值)
获取数据:getAttribute("键")
补充:application有getRealPath("相对路径");方法用来获取绝对路径
---------------------------------------------------------------------------------------------------
page的作用域在当前页面之间的数据共享,主要针对包含页面(<%@include %>指令)
补充:include指令是将一个jsp页面包含到另一个jsp页面中,语法
<%@include file="要包含的页面路径"%>
---------------------------------------------------------------------------------------------------
request请求作用域:请求转发过程中实现数据共享(常用)
---------------------------------------------------------------------------------------------------
session作用域:实现会话之间的数据共享,拥有动态有效期,且仅对当前浏览器窗口
补充:session常用方法
setMaxInactiveInterval()//单位是秒,用来设置session 的存在时间
removaeAttribute("键"),//手动清除session
getID()获取当前session编号
---------------------------------------------------------------------------------------------------
application作用域:存在于服务器之中只要服务器存在他就存在;
---------------------------------------------------------------------------------------------------
cookie是客户端第一次发请求服务器创建cookie并写入客户端;
第二次发送请求会连同cookie一同发送到服务器
cookie语法
创建cookie
Cookie cookie=new Cookie("键",值);
写入cookie
response.addCookie(cookie);
读取cookie
Cookie[]cookie=request.getCookies()//这个方法获取到的是存有Cookie对象的数组
之后用循环对数组进行操作即可
----------------------------------------------------------------------------------------------------------------------------
其他:
1.模拟get方式发送请求,利用?实现页面之间的数据传递
任何页面?变量名=值&变量名=值&······
2:防盗链
2.1通过检测session是否存在来判断是否可以登录当前页面
2.2可以将检测页面做成公共页面,通过<%@include file="检测页面"%>的方式将防盗链页面插入到所有页面中