- 会话技术:从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会话技术就是记录这次会话中客户端的状态与数据的
- 会话分类:cookie数据存储在客户端本地,减少服务器端的存储压力,安全性不好,客户端可以清除cookie;session:将数据存储到服务器端,安全性相对较好,增加服务器的压力
- 创建cookie
服务器端向客户端发送一个cookie
1、创建cookie
Cookie cookie=new Cookie(String cookieName,String cookieValue);
示例:Cookie cookie=new Cookie("username","zhangsan");
那么该cookie会以响应头的形式发送给客户端;
注意:Cookie中不能存储中文
2、向客户端发送cookie
response.addCookie(Cookie cookie);
@WebServlet(name="CookieServlet",urlPatterns="/cookie")
public class CookieServlet extends HttpServlet{
protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
Cookie cookie=new Cookie(name:"goods",value:"cup");
response.addCookie(cookie);
}
}
- 获取cookie
```java
服务器端是怎么接收客户端携带的Cookie
cookie信息是以请求头的方式发送到服务器端的;
1通过request获得所有的Cookie
Cookie[] cookies=request.getCookies();
2遍历Cookie数组,通过Cookie的名称获得我们想要的Cookie
for(Cookie cookie:cookies){
if(cookie.getName().equal(cookieName)){
String cookieValue=cookie.getValue();
}
}
protected void doPost(HttpServletRequest req,HttpServletResponse resp) 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(s:"userName:" + cookieValue);
}
}
}