Cookie的简单使用

来源:互联网 发布:阿里云和腾讯云对比 编辑:程序博客网 时间:2024/05/21 09:24

在JSP中,使用cookie,有以下几个步骤:

1.使用page指令导入类javax.servlet.http.cookie

<%@ page import="javax.servlet.http.Cookie" %>

2.创建Cookie对象

Cookie newCookie=new Cookie(String key,Object value);

3.写入Cookie

在创建Cookie对象后,我们使用response对象的addCookie()方法实现写入cookie,代码如下:

response.addCookie(newCookie);

4.读取Cookie

JSP通过response对象的addCookie方法写入Cookie后,读取时将会调用JSP中的request对象的getCookies方法,该方法将会返回一个HTTP请求头中的内容对应的cookie对象数组,因此必须要通过遍历的方式进行访问.

 必须使用重定向,才可以在客户端写入cookie.

下面的代码是实现:用户登录成功后,将用户的信息保存到cookie中,然后在欢迎页面中,读取并显示。

登录页面login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>用户登录</title>  </head>  <body>       <form  name="loginForm" method="post" action="doLogin.jsp">              <table>                    <tr>                        <td>用户名:</td>                        <td><input type="text" name="userName"/></td>                    </tr>                    <tr>                       <td>密码:</td>                       <td><input type="password" name="pwd"/></td>                    </tr>                    <tr>                        <td colspan="2"><input type="submit" value="登录"/></td>                    </tr>              </table>       </form>  </body></html>

登录处理页面:doLogin.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>登录处理页面</title>  </head>    <body>      <%        request.setCharacterEncoding("UTF-8");        String name=request.getParameter("userName");        String pwd=request.getParameter("pwd");        if("sa".equals(name.trim())&&"123".equals(pwd.trim())){        //以Key\Value的形式创建Cookie        Cookie uname=new Cookie("uname",name.trim());        response.addCookie(uname);        response.sendRedirect("welcome.jsp");        }      %>  </body></html>


欢迎页面:weclome.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ page import="javax.servlet.http.Cookie" %><html>  <head>    <title>欢迎页面</title>  </head>  <body>          <%           //获取请求中的Cookie,以数组方式保存           Cookie cookies[]=request.getCookies();          //循环遍历数组,得到key为"uname" 的Cookie          for(int i=0;i<cookies.length;i++){          Cookie ucookie=cookies[i];          if(ucookie.getName().equals("uname")){ //判断Cookie的名称          //获取key对应的Value,输出显示          out.println("欢迎你 :"+ucookie.getValue());          }          }       %>    </body></html>

 

 

 

原创粉丝点击