Servlet课堂笔记2

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

Servlet2

 

初始JSP HTML动态升级版

       JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTMLXML或其他格式文档的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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值