Servlet2
初始JSP HTML动态升级版
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。
1. 在HTML中嵌入JAVA代码。设计出更加动态,内容丰富的HTML页面
2. JSP文件需要使用tomcat来解析
3. JSP文件的技术基础是Servlet
4. 执行顺序:hello.jsp -> hello.java -> hello.class -> HTML页面
创建JSP文件
1. 检查tomcat下包含jar包 jstl, standard
2. 创建JSP文件为 index.jsp
3. 修改编码格式为 UTF-8
JSP脚本
1. 表达式脚本,是产生输出功能的脚本,不能以分号结尾 <%= … %>
2. 普通脚本,函数声明以外,方法内部的绝大部分java代码 <% … %>
3. 声明脚本,用于定义全局变量和方法 <%! … %>
JSP内置隐藏对象
内置对象(又叫隐含对象,有9个内置对象),不需要预先声明就可以在脚本代码和表达式中直接使用
作用域对象: page, request, session, application
page 作用域当前页面;
request 作用域当前一次请求;
session 作用域当前会话;
application 作用域当前服务器;
其它对象:response, out, pageContext, config, exception
作用域示例图
EL 表达式
${} 在这样特殊的格式内,写弱java逻辑代码
1、关系运算符:
>、<、>=、<=、==、!=
2、逻辑运算符:
与:&&(and)
或:||(or)
非: !(not)
3、EL操作符:
点操作符: . 使用方便
在servlet中,保存数据到request作用域: req.setAttribute(key , Value);
前台EL表达式取值,指定在request作用域取值
取某个对象下的值
JSTL 表达式(C标签)
比EL表达式功能更强大
1. 前提
引入两个jar包:jstl.jar, standard.jar
复制这个两个jar包到lib下
引入taglib标签参考地址
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
prefix表名该表达式的变量名是 c , C标签前缀
2. 核心标签库:通用标签,条件标签,迭代标签
通用标签
<c:set>赋值
1. 在某一个作用域中,给某一个变量赋值
语法:<c:set var="变量名" value="变量值" scope="作用域"/>
测试作用域
EL默认取值优先级 page>request > session > application
2. <c:out>:显示输出
<c:out value=”变量名”>在变量不存在时候,自动显示default默认值
语法:<c:out value="EL表达式表示的变量" default="默认值" /><br>
3. <c:remove>:删除
语法:<c:remove var="变量名"/><br>
条件标签
1、单层选择
<c:if test="判断条件" ></c:if>
使用EL表达式做取值和条件判断
2、多重选择。类似于switch
<c:choose>
<c:when test="..." > </c:when>
<c:when test="..." > </c:when>
<c:when test="..." > </c:when>
<c:otherwise> </c:otherwise>
</c:choose>
迭代标签
定义循环值
<c:forEach var="s" begin="开始" end="结束" >
代码.....
</c:forEach>
定义集合
<c:forEach var="s" items=”${集合}”varStatus=”vs” >
//显示下标
${vs.index}
代码.....
${s.属性值}
</c:forEach>
标签:EL,作用域,标签,Servlet2,HTML,JSP,表达式 From: https://www.cnblogs.com/Lovew2/p/16908155.html