JSP四大作用域和Cookie
Posted yjc1605961523
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP四大作用域和Cookie相关的知识,希望对你有一定的参考价值。
一:JSP中的四大作用域
域对象的作用:保存数据,获取数据,共享数据.
- page: jsp页面被执行,生命周期开始,jsp页面执行完毕,生命周期结束(jsp当前页面有效)
- request: 用户发送一个请求,生命周期开始,服务器返回响应,请求结束,生命周期结束(一次请求)
- session: 用户打开浏览器访问,创建session(生命周期开始),session超时或被声明失效,该对象生命周期结束(一次会话)
- application: web应用加载的时候创建,web应用移除或服务器关闭,生命周期结束(当前web应用)
二:Cookie
Cookie对象用于保存客户端浏览器请求的服务器页面,也可用于存放非敏感性的用户信息,信息保存的时间可以根据用户的需要进行设置。并非所有的浏览器都支持Cookie,并且数据信息是以文本的形式保存在客户端计算机中的。
例子:通过Cookie实现用户登录成功之后规定时间内再次访问该页面时无需登录
登录页面Login.jsp
<form action="Verification.jsp" method="post"> 用户名:<input type="text" name="username" id="user" /><br> 密 码:<input type="password" name="password" id="pwd" style="width: 158px" /><br> <input type="submit" value="提交" /> <!-- 当用户点击提交按钮时将网页信息提交给Verification.jsp验证页面--> </form>
<%
Cookie[] cookies = request.getCookies(); //获取所有的Cookie对象
if (cookies != null)
for (int i = 0; i < cookies.length; i++) //利用循环判断用户是否登录过
if ("admin".equals(cookies[i].getName()))
response.sendRedirect("Welcome.jsp"); //登录成功重定向到欢迎页面
%>
验证页面 Verification.jsp
<% String name=request.getParameter("username"); //获取表单信息 String pwd=request.getParameter("password"); if("admin".equals(name)&&"123456".equals(pwd)) //判断用户名和密码是否匹配 Cookie newCookie=new Cookie("admin",name); //创建cookie对象保存用户 newCookie.setMaxAge(5*60); //设置cookie的有效时间(单位/秒) response.addCookie(newCookie); response.sendRedirect("Welcome.jsp"); //保存完信息跳转到欢迎页面,表示登录成功 else request.getRequestDispatcher("Login.jsp").forward(request, response); //验证失败的情况下,转发到登录页面 %>
Cookie常用的方法
- Cookie[] getCookies() HttpServletRequest 返回一个数组,其中包含客户端通过此请求发送的所有Cookie对象
- void addCookie(Cookie cookie) HttpServletResponse 通过cookie把这个值返回到浏览器的内存中(回写) 向响应添加指定的cookie。可以多次调用此方法来设置多个cookie。
- Cookie(String name ,String value) 使用cookie的构造函数
- getName() 获取cookie名称
以上是关于JSP四大作用域和Cookie的主要内容,如果未能解决你的问题,请参考以下文章