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>


web04--cookie_java


作者:Rick__想太多先森