一.JSP
1.提供的动态网页编程技术,是 Java Web 服务器端的动态资源;
2.他其实就当于一个Servlet;
3.需要在IDEA中配置encode和template;
4.注释:<%----%>
二.JSP的指令标签
1.include静态包含:<%@ include file="要包含的文件路径" %>
2.include动态包含:<jsp:include page="include.jsp"></jsp:include>
三.JSP的四大域对象
1.page:只在一个页面保存属性,跳转后无效;
2.request:只在一次请求中保存,服务器跳转后依然有效;客户端跳转无效;
3.session:在一次会话范围内,两种跳转都是有效的;
4.application:在整个服务器上保存;
四.EL表达式
1.语法结构:${域对象中的对象}
2.获取指定域对象的值:${pageScope.uname}
3.获取list:${list[index]} ${list.side()}
4.获取map:${map.key} ${map["key"]}
5.获取JavaBean对象:${user.uname}
6.empty:判断域对象是否为空 ${empyty 限域变量名} ${!empty 限域变量名}
五.Jstl
1.JSP 标准标签库,是一个定制标签类库的集合;
2.需要在idea中导入两个jar包;
3.条件动作标签:
<c:if
test
=
"<boolean>"
var
=
"<string>"
scope
=
"<string>"
>
...
</c:if>
//test的内容为域对象,${num>0}
4.<c:choose><c:when test="boolean"></c:when><c:otherwise></c:otherwise></c:choose>
5.迭代标签
<c:forEach
begin
=
"
开始数
"
end
=
"
结束数
"
step
=
"
迭代数
"
var
=
"
限域变量名
"
>
</c:forEach>
循环
<c:forEach
items
=
"
被循环的集合
"
var
=
"
限域变量名
"
varStatus
=
"
当前成员对象的相关信息
"
>
</c:forEach>
6.formatNumber标签
<fmt:formatNumber
value
=
"10"
type
=
"number"
var
=
"num"
/>
${num }
<br>
<fmt:formatNumber
value
=
"10"
type
=
"percent"
/>
<br>
<fmt:formatNumber
value
=
"10"
type
=
"currency"
/>
<br>
<!--
设置时区
-->
<fmt:setLocale
value
=
"en_US"
/>
<fmt:formatNumber
value
=
"10"
type
=
"currency"
/>
<br>
7.formatDate标签:
formatNumber
标签用于格式化数字,百分比,货币
<%
request
.
setAttribute
(
"myDate"
,
new
Date
());
%>
${myDate }
<br/>
<fmt:formatDate
value
=
"${myDate }"
/><br/>
<fmt:formatDate
value
=
"${myDate }"
type
=
"both"
/><br/>
<fmt:formatDate
value
=
"${myDate }"
type
=
"both"
dateStyle
=
"full"
/><br/>
<fmt:formatDate
value
=
"${myDate }"
type
=
"both"
timeStyle
=
"long"
/><br/>
<fmt:formatDate
value
=
"${myDate }"
pattern
=
"HH:mm yyyy/MM/dd"
/><br/>
8.
parseNumber
标签用来解析数字,百分数,货币。
<fmt:parseNumber
value
=
"100%"
type
=
"percent"
/> <br>
<fmt:parseNumber
value
=
"
¥
10.00"
type
=
"currency"
/> <br>
9.
parseDate
标签用于解析日期。
<fmt:parseDate
value
=
"2020-01-06"
type
=
"date"
/> <br>
<fmt:parseDate
value
=
"2020/01/06"
pattern
=
"yyyy/MM/dd"
/> <br>
六.过滤器和监听器
1.// 处理请求乱码乱码 (处理POST请求)
request
.
setCharacterEncoding
(
"UTF-8"
);
2.
//
放⾏资源
chain
.
doFilter
(
myRequest
,
response
);