Java 之 Web前端(二)

时间:2023-12-13 12:22:02

1.Cookie  (客户端所拥有)

  a.含义:服务器给浏览器的甜点

  b.语法:

//创建Cookie
Cookie cookie = new Cookie("name", "zhangsan"); //将Cookie发送到客户端
response.addCookie(cookie); //获取Cookie
Cookie[] cookies = request.getCookies(); //获取Cookie的name
String name = cookie.getName(); //获取Cookie的value
String value = cookie.getValue();

  c.注意:Cookie 的 name 和 value 都不能是中文,一个浏览器最多存放20个Cookie

  d.Cookie的有效时间(-1为默认时间)

cookie.setMaxAge(3600*24*7);    //设置cookie的有效时间,单位:秒

cookie.setMaxAge(0);
response.addCookie(cookie); //设置cookie的有效时间为0,则为清除cookie

2.Session  (服务端所拥有)

  a.语法:

HttpSession session = request.getSession(true);    //当session不存在的时候创建一个session,存在就取session

  b.设置非活动间隔时间

    ①在web.xml中设置(单位:分钟)

<session-config>
<session-timeout>10</session-timeout>
</session-config>

    ②在Servlet中设置(单位:秒)

session.setMaxInactiveInterval(60*5);    //值为-1时为永不失效

  c.属性:

session.setAttribute("dateTime" , new Date());    //设置或修改session属性

Date date = (Date)session.getAttribute("dateTime");    //获取session属性

  d.删除:

session.removeAttribute("user");    //删除属性

session.invalidate();    //彻底删除session(不推荐)

3.URL重写

  a.定义:即在URL地址后面加上jsessionid,用于保障Cookie被禁用时session的使用

  b.语法:

String url = response.encodeURL("getSession");

out.println("<a href='" + url + "'>跳转</a>");

4.ServletContext 应用上下文

ServletContext application = getServletContext();

//设置全局参数
application.setAttribute("count" , 1); //获得全局参数
application.getAttribute("count");