我的定位:中高级人才(框架熟练、Java语法精通、数据库会用、Linux会用、中间件会用、有大数据经验!)
开始,我以为自己什么都知道。后来发现,其实我什么都不知道。

web04--cookie

1.创建1.jsp

<body>
    <form action="cookie/2.jsp"  method="post">
      姓名:<input type="text" name="userName"/>
       <button type="submit">登录</button>
    </form>
  
  <%
    //获取第二个界面的信息
     String msg=(String)request.getAttribute("msg");
   //有可能Null
   if(msg!=null){
       out.print(msg);
   }
  %>
  </body>

2.创建2.jsp

<%@page import="java.net.URLEncoder"%>
  <body>
     <%
     request.setCharacterEncoding("utf-8");  //解决post请求乱码问题
       //获取登陆的用户名
     String name =request.getParameter("userName");
     //判断用户名是不是admin
     if(name.equalsIgnoreCase("admin")){
         //在返回到第一个界面时 给一个提示
         request.setAttribute("msg", "不允许使用admin登录!");
         //转发
         request.getRequestDispatcher("1.jsp").forward(request, response);
     }else{
         //成功! 跳转到下个界面,并把用户名传递下去
         //01.创建cookie     如果有中文  必须需要设置编码格式
         Cookie cookie=new Cookie("user",URLEncoder.encode(name,"utf-8"));
         //02.如果想给cookie设置有效期  必须在增加之前
         cookie.setMaxAge(20);
         //03.给响应新增cookie
         response.addCookie(cookie);
         //重定向
         response.sendRedirect("3.jsp");
         
     }
     %>
  </body>

3.创建3.jsp

<%@page import="java.net.URLDecoder"%>
  <body>
  <%
     //获取第二个界面的cookie
    Cookie [] cookies= request.getCookies();
    String  name="";
    //遍历数组  获取我们想要的  user
    for(Cookie cookie:cookies){
        if(cookie.getName().equals("user")){  //找到了
            //进行中文的解码
            name=URLDecoder.decode(cookie.getValue(), "utf-8");
            out.print("用户名====》"+name);
        }
    }
  %>
  </body>


posted @ 2017-06-29 15:05  想太多先森  阅读(144)  评论(0编辑  收藏  举报