1.JSP中的各种元素:代码段、注释、内置对象、表达式
(1)代码段:<% %>
(2)注释:<%-- %>(HTML)、<%// %>或<%/* /*%>(Java)
(3)内置对象:request、response、session、application、config、exception、out、page、pageContext
(4)JSP表达式:<%= %>
(5)JSP定义块:
①全局变量(定义方法也用):<%! %>
②局部变量:<%= %>
(6)JSP指令:<%指令名 属性1=值1,……,属性n=值n %>
①page指令:定义整个页面的全局属性
<%@page …… %>
②include指令:用于包含一个文本or代码的文件
<%@include …… %>
(7)其他
①引入标签库:<%@ taglib uri=” ” prefix=” ” %>
②不创建session:<%@page …… session=”false” %>
2.EL(Expression Language)表达式、EL对某种范围的机制
(1)表达式
①算数运算:1+2=${1+2}
②关系运算:5>3?${5>3}
③逻辑运算:5>3 and 3<2?${5>3 and 3<2}
5>3 or 3<2?${5>3 or 3<2}
not 5>3?${not (5>3)}
(2)范围机制
获得某范围数据:username:${requestScope.username},username:${sessionScope.username},username:${applicationScope.username}
如,username:${username},若没指定范围,则从最小范围开始找,即从requestScope中找。找不到,则找大范围(顺序:page→request→session→application);都没找到,则显示空白。
3.JSP标签(JSP动作)
(1)<jsp:forword page=”main.jsp”></jsp:forword>
(2)<jsp:include page=”main.jsp”></jsp:include>
4.熟悉TLD(Tag Library Description file,标签库描述)文件内容
*.TLD 说明了标签库中标签的使用方式。TLD文件位于JSTL 1.2.2 Library/jstl-impl-1.2.2.jar/META-INF/maven中。
如C标签库:
JSTL 1.2.2 Library/jstl-impl-1.2.2.jar/META-INF/maven中的c.tld文件。
其中的<uri>http://java.sun.com/jsp/jstl/core</uri>表示它的地址。
<short-name>c</short-name>表示建议使用的简称。
<tag></tag>表示C标签中的属性。
5.了解C标签库
JSTL 1.2.2 Library/jstl-impl-1.2.2.jar/META-INF/maven中的c.tld文件。
其中的<uri>http://java.sun.com/jsp/jstl/core</uri>表示它的地址。
<c:if test=”……”></c:if>、<c:when test=”……”></c:when>、<c:out value=”……”></c:out>、<c:url value=”……”></c:if>、<c:choose></c:choose>、<c:otherwise></c:otherwise>
6.三层架构分为哪三层
表现层(presentation layer)、商业逻辑层(business layer)、数据持久化(persistence layer)
7.重定向代码
(1)response.sendRedirect(“load_student.jsp”);
(2)<jsp:forword page=”load_student.jsp”></jsp:forword>
区别:
(1)只能用<jsp:forword>在本网站内跳转,而response.sendRedirect能跳转到任何一个地址的页面。
(2)<jsp:forword>带着request中的信息跳转,而sendRedirect不带request信息跳转。
8.了解servlet生命周期
servlet生命周期定义了一个servlet如何被加载、初始化,以及它怎样接收请求、响应请求,提供服务。
(1)init()
在Servlet的生命周期中,仅执行一次init()方法,它是在服务器装入Servlet时执行的,可以配置服务器。
(2)service()
每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用。
(3)destroy()
仅执行一次,在服务器端停止且卸载Servlet时执行该方法。