/**
* forward和redirect的区别
* forward是服务器端的跳转:地址栏不发生变化
* redirect是客户端的跳转,地址栏发生变化
*/
(除了转发之外)request的作用域只在一次请求内有效。新的请求:request也是新的。
session注销的方法:1.session.invalidate();
session超时:
<session-config> <!-- session的超时时间以分钟为单位 .从产生到结束1分钟就消失--> <session-timeout>1</session-timeout> </session-config>
jstl的out和set
<% pageContext.setAttribute("pname", "shanxinxin"); %> <h1>JSTL核心库out和set</h1> <c:out value="${'shanxinxin' }"></c:out><br> <c:out value="${pname }"></c:out><br> <c:out value="${name }" default="unknow"></c:out><br> <c:out value="${'<font color=red>shanxinxin</font>' }" escapeXml="false"></c:out><br> <h2>set:默认情况下set所设置的变量是在当前域(pageContext)之中</h2> <c:set var="pname1" value="shanxinxin"></c:set>
<c:set var="pname2" value="shanxinxin" scope="request"></c:set>
<jsp:useBean id="person" class="com.rl.model.Person"></jsp:useBean> <c:set target="${person }" property="name" value="shanxinxin"></c:set> <c:set target="${person }" property="age" value="30"></c:set> <c:out value="${person }"></c:out>
jstl——if(if的test属性是boolean类型,如果test的判断为true,则执行if标签的内容)和choose
<h1>JSTL核心库if</h1>
<c:set var="pname3" value="shanxinxin"></c:set>
<c:if test="${not empty pname3 }">
<c:out value="${pname3 }"></c:out>
</c:if>
<h1>JSTL核心库choose</h1>
<c:set var="score" value="58"></c:set>
<c:choose>
<c:when test="${score<60 }">
<c:out value="${'没有及格' }"></c:out>
</c:when>
<c:when test="${score>=60 && score<80 }">
<c:out value="${'及格' }"></c:out>
</c:when>
<c:otherwise>
<c:out value="${'你学的很不错' }"></c:out>
</c:otherwise>
</c:choose>
jstl——forEach
<h1>JSTL标签forEach</h1>
<h2>数值的遍历</h2>
<c:forEach begin="1" end="10" var="i">
<c:out value="${i }"></c:out>
</c:forEach>
<hr>
<h3>step指的是步长</h3>
<c:forEach begin="1" end="10" var="i" step="2">
<c:out value="${i }"></c:out>
</c:forEach>
<br>
<h2>数组的遍历</h2>
<%
String [] strArr = {"shanxinxin","zhengyihao","raoding"};
pageContext.setAttribute("arr", strArr);
%>
<c:forEach items="${arr }" var="st">
<c:out value="${st }"></c:out>
</c:forEach>
</body>
forEach的varStatus属性是“循环状态”的变量名。可以获取{current,index,count,first,last}几种状态。
current:当前这次迭代的项(不常用);
index:当前这次迭代从0开始的迭代索引;
count:当前这次迭代从1开始的迭代计数;
first:用来表明当前这轮迭代是第一次迭代的标志;
last:用来表明当前这轮迭代是最后一次迭代的标志;
<h2>forEach的varStatus</h2>
<c:forEach items="${pList}" var="person" varStatus="status">
<%-- <c:out value="${status.current }"></c:out> current一般不会使用--%>
<%-- <c:out value="${status.index }"></c:out> --%>
<c:out value="${status.count }"></c:out>
<c:if test="${status.first }">
<c:out value="${'是第一行' }"></c:out><br>
</c:if>
<c:if test="${status.last }">
<c:out value="${'是最后一行' }"></c:out>
</c:if>
<c:out value="${person }"></c:out><br>
</c:forEach>