JavaWeb之JSP技术(EL,JSTL)

Java Server Page

即JSP是一种Java服务页,目的在于简化Servlet的设计,将逻辑与界面设计分开

jsp执行时首先通过request调用jsp页面,将.jsp文件编译为.java文件,再编译为.class文件来执行,最后由response相应到客户端

JSP源代码中包含了JSP元素与Template data两类

  1. jsp元素是<% %>中的代码,其必须符合JSP语法
  2. Template data 是<% %>以外的代码,是不会被jsp引擎处理的,会直接传送到客户端浏览器

JSP语法有三种不同的类型

  1. 编译器指令

    编译器指令有三种(1)<%@page   %>页指令用来定义jsp 文件中的全局属性例如导包<%@ page import="java.util.*, java.lang.*" %>  (2)<%@taglib   %>taglib指令用于引入定制标签库<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>(3)<%@include   %>包含指令,例如向当前页中插入一个静态文件的内容<%@ include file="相对位置" %>

  2. 脚本语法

    <% java语句%>

  3. 动作与法

    <jsp:forward>,<jsp:include>,<jsp:plugin>, <jsp:getProperty>,<jsp:setProperty>和<jsp:useBean>等等

JSP的四种作用域

page是默认值, 仅在当前jsp页面中有效

request在一次请求中有效 ,指从http请求到服务器处理结束,返回响应的整个过程,在这个过程中使用forward方式跳转多个jsp,在这些页面里你可以使用request

 session在当前会话中有效,同一浏览器访问多次,在这多次访问之间传递信息

  1. page
  2. request
  3. session
  4. application

application在所有应用中有效,从服务器启动到服务器关闭一直存在

JSP的9种内置对象

  1. request来自客户端的请求
  2. response客户端的相应
  3. pageContext页面上下文对象
  4. session会话对象
  5. application应用程序对象
  6. out输出对象
  7. page页面对象
  8. exception例外对象
  9. config配置对象

EL表达式(Expression Language)

是JSP页面一种更简洁的语法${     }

例如:

  1. JSP 获取对象属性  User auser=(User)session.getAttribute(“user”);   auser.getName();
  2. EL获取对象属性  ${sessionScope.user.name}

EL变量的查找顺序

Page

pageScope

Request

requestScope

Session

sessionScope

application

applicationScope

EL保留字

And、eq、gt、true、Or、ne、le、false、No、lt、ge、null、instanceof、empty、div、mod

EL隐含对象

  1. PageContext
  2. pageScope
  3. requestScope
  4. sessionScope
  5. applicationScope Param:request.getParameter()
  6. Paravalues:request.getParameterValues()
  7. Header headerValues
  8. Cookie:request.getcookies()
  9. initParam

JSTL(Java Server Page standard tag library)

JSTL是一个JSP标签集合,它封装了JSP应用的通用核心功能

JSTL常用标签

<c:out>用于在JSP中显示数据,就像<%= ... >
<c:set>用于保存数据
<c:remove>用于删除数据
<c:catch>用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if>与我们在一般程序中用的if一样
<c:choose>本身只当做<c:when>和<c:otherwise>的父标签
<c:when><c:choose>的子标签,用来判断条件是否成立
<c:otherwise><c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
<c:import>检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forEach>基础迭代标签,接受多种集合类型
<c:forTokens>根据指定的分隔符来分隔内容并迭代输出
<c:param>用来给包含或重定向的页面传递参数
<c:redirect>重定向至一个新的URL.
<c:url>使用可选的查询参数来创造一个URL

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值