JSP四大作用域和Cookie

Posted yjc1605961523

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP四大作用域和Cookie相关的知识,希望对你有一定的参考价值。

一:JSP中的四大作用域

  域对象的作用:保存数据,获取数据,共享数据.

  1. page:      jsp页面被执行,生命周期开始,jsp页面执行完毕,生命周期结束(jsp当前页面有效)
  2. request:       用户发送一个请求,生命周期开始,服务器返回响应,请求结束,生命周期结束(一次请求)
  3. session:       用户打开浏览器访问,创建session(生命周期开始),session超时或被声明失效,该对象生命周期结束(一次会话)
  4. application:  web应用加载的时候创建,web应用移除或服务器关闭,生命周期结束(当前web应用)

二:Cookie

  Cookie对象用于保存客户端浏览器请求的服务器页面,也可用于存放非敏感性的用户信息,信息保存的时间可以根据用户的需要进行设置。并非所有的浏览器都支持Cookie,并且数据信息是以文本的形式保存在客户端计算机中的。

  例子:通过Cookie实现用户登录成功之后规定时间内再次访问该页面时无需登录

  登录页面Login.jsp

<form action="Verification.jsp" method="post">
    用户名:<input type="text" name="username" id="user" /><br>&nbsp;&nbsp;&nbsp;码:<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的主要内容,如果未能解决你的问题,请参考以下文章

JSP四大作用域属性范围

java web 九大内置对象和四个作用域之间的关系是啥?

JSP-四大作用域

JSP九大内置对象和四大作用域

jsp的四大作用域

jsp都有哪些内置对象 作用分别是啥