一.cookie
1.cookie是什么:
cookie就是一种将用户的信息保存在浏览器端的技术,创建一个cookie对象,
将一小部分信息用servlet发送到浏览器,保存在浏览器,之后返回给服务器端
2.cookie的创建和使用
// 1.创建cookie
Cookie cookie = new Cookie("name", "zhangsan");
Cookie cookie2 = new Cookie("productID", "computer123456");
// cookie如果不设置最大存活时间,则cookie保存在浏览器的内存中,浏览器关闭则内存释放
// 设置cookie的最大存活时间,可以将cookie保存在浏览器所在的硬盘上
cookie.setMaxAge(60 * 60 * 24 * 7); // 以秒 为cookie设置最大的存活时间
// 设置cookie访问的路径
cookie.setPath("/demo03/tc");
// 2.将cookie发送到浏览器
response.addCookie(cookie);
response.addCookie(cookie2);
// 3.获取浏览器发送过来cookie
Cookie[] cookies = request.getCookies();
if (cookies != null && cookies.length > 0) {
for (int i = 0; i < cookies.length; i++) {
System.out.println(cookies[i].getName() + " ---> " + cookies[i].getValue());
}
}
二:session
1.session是什么:
session就是一种将用户的信息保存在服务器端的技术
session:在多个页面中表明一个用户,并可以为用户保存一些信息
2.session的创建和使用:
//1.session创建或获取当前session
HttpSession session = request.getSession();
//session的ID
System.out.println(session.getId());
//2.session存在一个最大不活跃时间(默认30min)
session.setMaxInactiveInterval(30*60); //10s
//3.立即销毁session
session.invalidate();
//4.session保存用户信息
session.setAttribute("name", "zhangsan");
session.setAttribute("age", 22);
session.setAttribute("gender", "男");
三:application(ServletContext)
1.ServletContext是什么:
ServletContext:表示全局的Servlet配置对象,整个项目就一个ServletContext对象,被所有servlet所共用
2.ServletContex的创建和使用:
//1.获取ServletContext对象
ServletContext sc1 = this.getServletConfig().getServletContext();
ServletContext sc2 = this.getServletContext();
ServletContext sc3 = request.getServletContext();
//2.使用ServletContext对象
//获取文件的绝对路径(重要的方法※)
String realPath = sc1.getRealPath("img/1.jpg");
System.out.println(realPath);
//获取全局的配置信息
String initParameter = sc1.getInitParameter("gender");
System.out.println(initParameter);
//上下文路径(context root/context path ):部署在tomcat/webapps下的目录名称、访问项目的项目路径(重要的方法※)
String contextPath = sc1.getContextPath();
System.out.println(contextPath);
//遍历某个文件夹下的资源路径
Set<String> resourcePaths = sc1.getResourcePaths("/img");
for (String string : resourcePaths) {
System.out.println(string);
}
//设置一些数据保存在ServletContext中(重要的方法※)
sc1.setAttribute("msg", "hello");
//3.ServletContext的别名:application
四:三大对象的生命周期
servlet中的作用域对象就是用来做页面(servlet)间的传值
作用域对象 生命周期 作用范围
request 用户发起的一次请求 一次请求经过的servlet
session 浏览器与服务器的一次会话 一次会话中经过的所有servlet
application 从服务器启动到服务器关闭 所有的servlet都可以访问