JSP数据交互2

一: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名称
posted @ 2019-07-05 17:27  街头诗人李寻欢  阅读(107)  评论(0编辑  收藏  举报