1.servlet

servlet是运行在服务端的小程序.是sun公司提供的一套规范,用来处理客户端请求,响应给浏览器的动态资源.
servlet是javaWeb三大组件之一,sevlet,filter,listener
servlet生命周期
  1. 创建: 用户第一次访问servlet创建servlet的实例.
  2. 销毁: 当项目从服务器移除,或服务器关闭的时候
servletContext

每次在服务器上部署一个项目时,系统会自动的创建一个ServletContext对象,这个对象时整个项目共同拥有.

  • 实现多个Servlet之间数据的数据的共享
  • 获取服务器上自定文件资源的信息
    a:可以获取服务器资源文件的绝对路径
    context.getRealPath(path);
    b:可以直接获取服务器上资源文件的字节流
    context.getResourceAsStream(path)
  • 获取Web项目web.xml中的初始化参数
getInitParameter(name);

2.cookie & session

  • 用户打开一个浏览器访问页面,访问网站的很多页面,
    访问完成后将浏览器关闭的过程称为是一次会话.
cookie

cookie是一种会话技术,用来进行数据传递/数据共享

  • 服务端
    生成cookie,发送到客户端
    负责解析浏览器传送的cookie
  • 浏览器端
    负责保存cookie
    负责将cookie传递给服务器
  • cookie使用注意
    常用场景 - 7天内自动登录 将用户名密码保存到cookie中
    - 历史记录 将浏览商品id保存到cookie中
    - 购物信息 将商品信息保存到cookie中
    cookie使用是有上限的:一个站点最多存放20个cookie,单个cookie最大不能超过4kb,不安全.
session

Session保存在服务器端:占用服务器内存,安全,数据量/保存数量无上限。
session的生命周期

  • 创建:对应的浏览器,第一次调用getSession()
  • 销毁:①服务器非正常关闭
    注: 服务器正常关闭,session被序列化保存到硬盘,服务器正常启动,session还原

3. javaWeb四大域对象

  • servletContext
  • 生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。
  • 作用范围:整个Web应用。
  • session
  • 生命周期:在第一次调用 request.getSession() 方法时,服务器会检查是否已经有对应的session,如果没有就在内存 中创建一个session并返回。
  • 作用范围:一次会话。
  • request
  • 生命周期:在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。
  • 作用范围:整个请求链(请求转发也存在)
  • pageContext
  • 生命周期:当对JSP的请求时开始,当响应结束时销毁。
  • 作用范围:整个JSP页面,是四大作用域中最小的一个。

jsp & el & jstl

  • jsp九大内置对象
    request response exception page pageContext out session config application
    pageContext可以获得其他八个内置对象
  • el表达式
    简化java代码书写
    ${ }可以取出域对象的内容
  • jstl表达式
    JSP需要使用taglib指令导入对应标签库,某个JSP就可以使用JSTL标签
    常用标签<c:if></c:if> <c:foreach></c:foreach>