1.jsp:
1.jsp技术: java server page java服务器页面文件
目的:解放生产力,帮你拼接字符串 本质就是servlet
2japjava代码语法
1.<%Java代码%> (记住这个)
2.<%=输出表达式%>
3.<%!成员属性 成员方法定义$>
3.jsp注释
<%-- --%>
4.jsp指令
语法格式:
<%@命令名 属性名=属性值 属性名=属性值..%>
page指令:
contentType:指明编码
import:导入jar包
include指令:
把页面共同的内容抽取出来 用的时候包含进来
taglib指令:
导入标签库
5.jsp九大内置对象:(面试会问)
常用:
request:
response:
session:
out: 可以理解为response.getWriter()
application: 就是servletContext对象 上下文
pageContext:页面域对象
不常用:
page:其实就是this
config:servletConfig
exception:异常对象
6.四个域对象:
pageContext request session application
pageContext:作用范围只在该页面有效
1.首先都有一组 xxAttribute()方法
2.提供了一组可以获取其他八个内置对象的方法
3.findAttribute("属性名"):查找属性
从小到大 依次查找 找到为止
2.el表达式
1.el表达式: 为了替代在jsp页面写的java代码
主要替代<%= %>
2.语法格式:
${表达式}
3.使用el表达式获取 万一内容为空 显示页面不是null而是空白
4.获取简单数据
${域名.属性名} 域名:page|request|session|application-Scope
5.获取复杂数据
1.获取数组:
${属性名[index]}
2.获取list
${属性名[index]}
3.获取map集合
${属性名.key的名字}
6.获取javaBean数据
${属性名.javaBean属性名}
7.javaBean概念:
1.类必须是公共
2.成员必须私有
3.必须无参构造
4.最好实现序列化接口
5.提供 getter|setter 或则 getter&setter方法
要不要提供对应的方法 看你的业务
javaBean属性:
把你的javaBean中的 getter或则setter方法 把前缀去掉 并且去掉驼峰
例子
getName()---->Name--->name 我们javaBean有一个叫做name的javaBean属性
一个javaBean有木有一个字段跟有木有一个javaBean没有关系
8.支持运算
1.在java中+拼接字符串 一个加法运算
在el表达式+加法运算
2.empty 判空
1.对象为null
2.集合或者数组大小为0
3.""空字符串
3.三元运算也支持
9.获取十一个内置对象(就一个有用)
pageContext对象,获取完整的对象
pageContext.getRequest().getContextPath()
3.jstl
1.jstl:jsp standard tag lib jsp标准标签库
2.作用:第三方提供的功能,主要提供 if for控制语句
3.core包 控制语句相关 if for
4.if的用法:
<c:if test="${判断语句}">
逻辑 (jstl if没有else再写一个if)
</c:if>
5.for循环:
1.简单用法:
<c:forEach begin="开始索引" end="结束索引"var="变量名"step="步长">
${i}
</c:forEach>
2.高级用法:
遍历数组,list,set,map,list集合装javaBean
<c:forEach items="${遍历的集合对象}"var="变量名"varStatus="正在被遍历的行的状态">
${vs.count}--${user.id}-${user.name}-${user.salary}-${user.nianxin}<br>
</c:forEach>
varStatus:
count:计数.