Cookies实践

    xiaoxiao2021-03-26  35

      代码:

    setcookies.html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Cookies测试</title> </head> <body> <form action="SetCookies.do" method="POST"> 姓名:<input type="text" name="name"> <br /> 密码:<input type="password" name="pwd" /> <br /> <input type="submit" value="提交" /> </form> </body> </html> SetCookies.java(获取html页面传过来的Cookies参数 )

    package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.net.URLEncoder; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/SetCookies.do") public class SetCookies extends HttpServlet { private static final long serialVersionUID = 1L; public SetCookies() { super(); // TODO Auto-generated constructor stub } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); //获取姓名和密码参数 String paramName=request.getParameter("name"); String paramPwd=URLEncoder.encode(request.getParameter("pwd"),"UTF-8"); //为姓名和密码创建Cookies Cookie name=new Cookie("name", URLEncoder.encode(paramName, "UTF-8")); Cookie pwd=new Cookie("pwd", URLEncoder.encode(paramPwd, "UTF-8")); //设置两个Cookies的过期日期为30分钟 name.setMaxAge(30*60); pwd.setMaxAge(30*60); //在响应头中添加两个Cookies response.addCookie(name); response.addCookie(pwd); //设置响应内容类型 response.setContentType("text/html; charset=UTF-8"); PrintWriter out=response.getWriter(); out.println("姓名:"+paramName+"<br>"); out.println("密码:"+paramPwd+"<br>"); } } 截图:

    GetCookies.java(查看已存在Cookies数据)

    package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.net.URLDecoder; import java.net.URLEncoder; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/GetCookies.do") public class GetCookies extends HttpServlet { private static final long serialVersionUID = 1L; public GetCookies() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub Cookie cookie=null; Cookie[] cookies=null; //设置字符编码 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); //获取Cookies数组 cookies=request.getCookies(); //设置响应内容类型 response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); if (cookies != null) { out.println("<h4>查找 Cookies 名称和值</h4>"); for (int i = 0; i < cookies.length; i++) { cookie = cookies[i]; out.print("名称:" + cookie.getName() + " ——> "); out.print("值:" + URLDecoder.decode(cookie.getValue(), "UTF-8") + " <br/>"); } } else { out.println("<h4>未找到 Cookies</h4>"); } } } 截图:

    DelCookies.java(查看已删除的Cookies数据)

    package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.net.URLDecoder; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/DelCookies.do") public class DelCookies extends HttpServlet { private static final long serialVersionUID = 1L; public DelCookies() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Cookie cookie = null; Cookie[] cookies = null; // 设置字符编码 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); // 获取 Cookies 数组 cookies = request.getCookies(); // 设置响应内容类型 response.setContentType("text/html; charset=UTF-8"); if (cookies != null) { out.println("<h4>Cookies 名称和值</h4>"); for (int i = 0; i < cookies.length; i++) { cookie = cookies[i]; if ("name".equals(cookie.getName()) || "pwd".equals(cookie.getName())) { cookie.setMaxAge(0); response.addCookie(cookie); out.print("已删除的 cookie:" + cookie.getName() + "<br/>"); } out.print("名称:" + cookie.getName() + " ——> "); out.print("值:" + URLDecoder.decode(cookie.getValue(), "UTF-8")+ " <br/>"); } } else { out.println("<h4>未找到 Cookies </h4>"); } } } 截图:

    转载请注明原文地址: https://ju.6miu.com/read-350265.html

    最新回复(0)