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
创建JSP文件
1. 导入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表达式取值
![]()
取某个对象下的值

JSTL 表达式(C标签)
比EL表达式功能更强大
1. 前提
引入两个jar包:jstl.jar, standard.jar
引入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>

本文介绍了JSP的基本概念,包括它的动态网页特性、与Servlet的关系,以及JSP的执行过程。重点讲解了JSP脚本元素、内置对象、EL表达式和JSTL的使用,如条件标签、迭代标签等,帮助读者掌握JSP开发中的核心概念和技术。
2553

被折叠的 条评论
为什么被折叠?



