您现在的位置:首页 >> 前端 >> 内容

Cookie的简单使用

时间:2013/11/20 13:42:19 点击:

  核心提示:在JSP中,使用cookie,有以下几个步骤:1.使用page指令导入类javax.servlet.http.cookie%@ page import=javax.servlet.http.Cooki...
在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

[html]  

<%@ 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

[html]  

<%@ 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

[html 

<%@ 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>  

 

Tags:CO OO OK KI 
作者:网络 来源:不详