初步使用session和cookie

下面代码是怎么基本使用session和cookie:
session.java

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");

        PrintWriter out=resp.getWriter();

        String uname=req.getParameter("uname");
        String pw=req.getParameter("pw");

        System.out.println("这是从表单中得到的值:"+uname+"   "+pw);

        /*session的初步使用*/

        HttpSession session=req.getSession();       //创建session
        session.setAttribute("myname",uname);   //添加

        String string;
        string =(String)session.getAttribute("myname");   //得到  
        System.out.println("这是从session中取出来的数据:"+string);

        session.removeAttribute("myname");        //移除添加的
        session.invalidate();       //删除所有session中保存的键


        /*cookie的初步使用  注意,有时候tomcat对中文的不支持会使cookie使用时(resp.add())报错
         * 
         * 设置Cookie时,name=URLEncoder.encode(name,"UTF-8");
         * 读取Cookie时,name=URLDecoder.decode(name,"UTF-8");
         *
         * 在win7系统下,cookie保存在
         * C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies
         * 
         * 用360浏览器在该目录下没有找到cookie,但用ie浏览器后可以找到
         * */
        uname=URLEncoder.encode(uname,"UTF-8");

        Cookie c1=new Cookie("myCookie",uname);
        c1.setMaxAge(60*60*1);

        resp.addCookie(c1);
        System.out.println("cookie保存成功!");

        out.println("<a href=\"cookie\">点击获取cookie</a>");
        //resp.sendRedirect("cookie");

        out.flush();
        out.close();

    }

下面是获取cookie

getCookie.java

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        resp.setContentType("text/html;charset=utf-8");

        PrintWriter out=resp.getWriter();
        out.println("look:");
        out.println("下面是获取cookie");

        Cookie[] cookies=req.getCookies();
        Cookie c=null;
        String name;
        String val;

        if(cookies!=null){
            for(int i=0;i<cookies.length;i++){
                if("myCookie".equals(cookies[i].getName())){
                    System.out.println("找到cookie");
                    name=cookies[i].getName();
                    val=cookies[i].getValue();
                    name=URLDecoder.decode(name,"UTF-8");
                    val=URLDecoder.decode(val,"UTF-8");
                    System.out.println(name+"  "+val);
                    out.println(name+"  "+val);
                }
            }
        }else {
            out.println("没有找到cookie!");
        }
        out.flush();
        out.close();

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值