新疆建设云资质查询网站/百度地图下载2022新版安装
一、Cookie简介
Cookie是保存在计算机上的一种文件。当我们使用计算机浏览网页时,服务器会生成一个证书并将其返回给我们的计算机。这个证书是cookie。一般来说,cookie是服务器写给客户端的文件,也可以称为浏览器缓存。
简单来说,它可以读取并保存你访问网站时产生的一些行为信息,这些信息通常是加密的,否则会侵犯用户的隐私。Cookie也可以帮助加快第二次拜访。通常,当我们访问一些网页时,系统会提示我们是否要保存用户名和密码。下次登录时,我们可以自动登录,无需再次登录。
二、创建和发送Cookie
1.创建Cookie,以响应头的方式发送给客户端
Cookie cookie = new Cookie(String cookieName, String cookieValue);
2.向客户端发送Cookie
response.addCooike(Cookie cookie);
三、Cookie的一些常见API
1.设置Cookie在客户端的持久化时间
cookie.setMaxAge(int seconds)
注意:如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭cookie信息销毁(会话级别的cookie),如果设置持久化时间,cookie信息会被持久化到浏览器的磁盘文件里
2.设置Cookie的携带路径
cookie.setPath(String path)
注意:如果不设置携带路径,那么该cookie信息会在访问产生该cookie的web资源所在的路径都携带cookie信息
3.向客户端发送Cookie
response.addCooike(Cookie cookie)
4.删除客户端的cookie
cookie.setMaxAge(0)
注意:如果想删除客户端的已经存储的cookie信息,那么就使用同名同路径的持久化时间为0的cookie进行覆盖即可
5.服务器获取客户端携带来的Cookie,以请求头的方式发送到服务器端的
// 通过request获得所有的Cookie Cookie[] cookies = request.getCookies();// 遍历Cookie数组,通过Cookie的名称获得我们想要的Cookie for (Cookie cookie : cookies) {if (cookie.getName.equals("cookieName")){String cookieValue = cookie.getValue();} }
四、Java Servelet Cookie 示例
1.生成cookie
@WebServlet(name = "CookieServlet",urlPatterns = "/cookie")
public class CookieServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Cookie cookie=new Cookie("goods","cup");//不能使用中文cookie.setMaxAge(60*10);cookie.setPath("/hello/getCookie");Cookie cookie1=new Cookie("userName","xiaoming");response.addCookie(cookie);response.addCookie(cookie1);}
}
2.显示 cookie
@WebServlet(name = "GetCookieServlet",urlPatterns = "/getCookie")
public class GetCookieServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Cookie[] cookies = request.getCookies();for (Cookie cookie : cookies) {String name = cookie.getName();if (name.equals("userName")){String cookieValue = cookie.getValue();response.getWriter().write("userName:"+cookieValue);}}}
}