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