一.Servlet的四大作用域
目的:为了方便传递值 做数据共享(servlet之间)
1.request:请求
2.session:会话
往作用域里面放值:
setAttribute(String name,Object obj);
从作用域里面取值:
getAttribute(String name);
移除指定名字的内容:
removeAttribute(String name)
面试题:
req.getParameter("")和req.getAttribute("")的区别?
getParameter获取的get/post请求的里面的参数内容
getAttribute:获取的是作用域里面的值
①Session只用于登录,保存当前登录的用户
②Request我们平时从数据库拿到数据的展示都全部Request
③Application一般用于统计当前登录用户的数量上
1.pageContext
作用范围:当前页面
设置值:setAttribute(String str, Object obj);
取值:getAttribute(String str);这个str必须与上面设置值的str相同
2.Request
设置值:setAttribute(String str, Object obj);
取值:getAttribute(String str);这个str必须与上面设置值的str相同
可用于当前数据的展示,请求结束的时候结束(我们平时从数据库拿到数据的展示都全部Request)
3.session
设置值:setAttribute(String str, Object obj);
取值:getAttribute(String str);这个str必须与上面设置值的str相同
会话结束的时候结束(例如:可用于登录,保存当前登录的用户)
浏览器关闭的时候结束
4.application
设置值:setAttribute(String str, Object obj);
取值:getAttribute(String str);这个str必须与上面设置值的str相同
项目关闭的时候(即Tomcat服务停止的时候)结束(一般用于统计当前登录用户的数量上)
二.JavaBean
1.什么是JavaBean
类有一个公共无参的构造器
以Java来说 get/set属于方法,但是以JavaBean来说,get/set它是属性;
2.什么是JavaBean自省机制?
我们拿到一个JavaBean,就可以拿到它的可读和可写的属性 或者属性名,字段;
一般来说我们需要拿到可读可写属性;有个这些属性,可以通过反射去完成读写功能;
3.BeanUtils的使用
主要用于进行属性的拷备
三.EL表达式
1.什么是EL
EL是一种表达式语言,可以获取作用域里的共享数据
2.EL的写法
语法:${key} : 会到四个作用域里面去找到key对应的value
3.EL在四大作用域取值
取值顺序: 从小至大,先取小的范围的值,小的没有,在取到大的范围的值
4.EL其他特性
EL算术运算符
${1+2} ${2-1} ${2*3} ${16/5}
EL 关系运算符
${16>5} 或${16 gt 5}
${16<5} 或${16 lt 5}
${16>=5} 或${16 ge 5}
${16<=5} 或${16 le 5}
${1=2} 或${1 eq 2}
${2!=1} 或 ${2 ne 1}
EL 逻辑运算符
${true && true} --结果 true
${true and true} 结果true
${true || false} ${true or false} 结果 true
${!true} 或 ${not true} 结果false
EL 其他运算符
${empty param.name} 如果param.name 为空 返回true 否则false
EL 三目运算符
${A?B:C} 比如 ${user.sex?”男”:”女”}
四.JSTL
1.JSTL是什么
JSTL是标准标签库, 标签库由标签库和EL表达式语言两个部分组成;用来消除JAVA代码
2.怎么使用JSTL
第一步,导包
导入jstl.jar 和standard.jar
第二步,引用JSTL标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3.常用JSTL标签
if标签(判断)
foreach标签(循环)