1. jsp

1.1jsp是什么

全称: Java Server Pages,java服务器页面。和Servlet一样,是sun公司定义的一种动态网页开发技术。
    特点:基于html模版,可以在html模版嵌入java代码和jsp中的标签。
备注:html静态页面。
     CSS:修饰美化html页面。
     JavaScript:动态修改html页面和css样式。
     Servlet:运行在服务器上的java程序。适合编写java代码,写网页困难
     jsp:适合编写动态内容,不适合写java代码,主要用于显示页面

1.2 为什么要用jsp

    2.1 jsp性能好,可以在html页面中动态嵌入元素
    2.2  服务器调用的是已经编译好的JSP文件
    2.3 JSP基于Java Servlet Api,有很多强大企业的支持。
    2.4 JSP可以与处理业务逻辑的Servlet一起使用,该模式被Java Servlet模版引擎所支持。

1.3 JSP的优势

   3.1 与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句
    3.2 与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
    3.3 与静态HTML相比:静态HTML不包含动态信息

1.4jsp的语法

1.4.1 jsp的语法格式

1.4.2 jsp注释

1.4.3 代码演示

1.5  jsp指令

告诉jsp引擎如何jsp文件中的内容

语法:<%@指令名称1="属性值" 属性名称2="属性值2"%>

示例:<%@page language="java" contentType="text/html";

charset=UTF-8" pageEncoding="UTF-8"%>

1.5.1 page指令

import和java 代码的含义一样

<%@ pageimport="java.util.Date.java.Util.List"%>

或者:

<% pageimport="java.util.Date"%>

<%pageimport="java.util.List"%>

session:是否会自动创建session对象,默认值为true;

buffer:jsp中有Java.servlet.jsp.JspWriter输出字符流。设置输出数据的缓存大小。默认8kb.

errorPage:如果页面有错误,跳转到指定的资源 errorPage="/uri"如果写"/"则代表当前目录下,

绝对路径。如果不写"/"则代表相对路径。

isErrorPage:是否创建throwable对象。默认是false

contentType:等同于response.setContentType("text-html",chartset=utf-8)服务器发送客户端的内容编码

pageEncoding:js文件本身的代码。

isELIgnored: 是否支持EL表达式。 默认是false,支持表达式, 是true,不支持表达式,${1+1};false输出结果2   true按照原样输出

1.5.2 include指令

include指令

静态包含:把其他资源包含到当前页面中<%@ include file="header.jsp%>

动态包含:<jsp:include page="header.jsp"></jsp:include>

两者的区别:翻译的时间段不同(可在tomcat工作目录下查看)

静态包含:在翻译时就把两个文件进行合并

动态包含:不会合并文件,当代码执行到include时,才会包含另一个文件的内容

1.5.3 taglib指令

作用:在jsp页面中导入JSTL标签库。替换jsp中的Java代码

<% taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%>

1.6 jsp的6个动作

jsp:include 动态包含

jsp:forward请求转发

jsp:param 请求设置参数

jsp:useBean创建一个对象

jsp:setProperty给指定的对象属性赋值

jsp:getProperty取出指定的对象属值

1.7 内置对象

        对象名         类型     说明
request javax.servlet.http.HttpServletRequest  
response javax.servlet.http.httpServletResponse  
session javax.servlet.http.httpSession 由session=“true"开关
application javax.servlet.ServletContext  
exception java.lang.Throwable 由isErrorPage="false"开关
page java.lang.Object当前对象是this 当前servlet实例
config java.servlet.ServletConfig  
pagecontext javax.servlet.jsp.jspWriter  
out javax.servlet.jsp.PageContext javax.servlet.jsp.jspWriter

代码演示:

1.8 pageContext对象

1.8.1 域对象

可以操作其他三个域对象(request,session,application)

1.8.2 它可以创建其它的8个隐式对象

在普通类中可以通过PageContext获取其它JSP隐形对象,具体如下:

getException方法返回exception隐形对象

getPage方法返回page隐形对象

getRequest方法返回的是request隐式对象

getServletConfig方法返回的是config隐式对象

getResponse方法返回的是response隐式对象

getServletContext方法返回application隐式对象

getSession方法返回session隐式对象

getOut方法返回out隐式对象

1.8.3 提供简易方法

pageContext.forward("2.jsp");

pageContext.include("2.jsp");

2. EL表达式

2.1 EL概述和基本的语法

EL表达式:expression language表达式语言

目的:简化jsp中java代码的开发

它不是一种开发语言而是jsp中获取数据的一种规范

格式如:${EL表达式}等价于findAttribute(name)

2.2 EL的具体功能

获取实体类中的属性值

2.3 使用list和map

2.4使用EL表达式的empty关键

3. JSTL

3.1 什么是JSTL

JSL:全称javaServletPage standard  TagLibrary,jsp标准标签库

3.2jstl的作用

实现jsp页面中的逻辑处理。

3.3 使用jstl

必须在jsp页面添加tablib指令库

<%@ tagliburi="http://java.sun.com/jsp/jstl/core" prefix="c">

3.4常用标签的使用

3.4.1 通用标签 set ,out, remove

3.4.2 条件标签if,choose

<c:if> &gt

<c:choose>&gt

3.4.3迭代标签foreach

for 基础遍历

foreach遍历

扩展:

改变编码格式

点击window---选择preferences

jsp(3,6,9) EL表达式及JSTL的更多相关文章

  1. Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)

    一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...

  2. 简述jsp之EL表达式和jstl及其使用

    Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...

  3. jsp EL表达式和JSTL标签if-else if-else用法

    java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...

  4. [转]EL表达式和JSTL表达式实例

    /* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...

  5. Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库

    一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...

  6. EL表达式和JSTL标签库

    expresion language表达式语言 可以输出表达式的值.跟jsp的表达式脚本一样.计算表达式的值后输出.  EL表达式出现的目的是为了使JSP写起来更加简单,让jsp的代码更佳简化. 1. ...

  7. EL表达式、 jstl标签

    https://www.cnblogs.com/zhaotiancheng/p/6391894.html https://blog.csdn.net/zdwzzu2006/article/detail ...

  8. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

  9. EL表达式、JSTL

    EL表达式 一.简介 > JSP表达式 <%= %> 用于向页面中输出一个对象.        > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段.   ...

  10. (十)EL表达式和JSTL标签快速入门

    目录 什么是 el 表达式 示例:使用EL表达式获取pageContext .request.session.application域中的数据: 示例:使用EL表达式获取Bean属性 获取当前WEB应 ...

随机推荐

  1. Python 搭建webdriver环境遇到的问题总结

    安装过程是参考<selenium2Python自动化测试实战>中Pythonwebdriver环境搭建章节 在安装过程中,遇到了一些问题,总结一下,为日后自己再遇到相同问题做个笔记以便查看 ...

  2. 【software】变异注释工具:annovar

    annovar提供三种注释方式 一,基于基因的注释 给定变异,看变异是否影响编码蛋白的改变 支持基因定义系统:RefSeq genes, UCSC genes, ENSEMBL genes, GENC ...

  3. 这个黑科技iPhone8会用吗?人体传送密码解开锁屏

    ​ 随着现代化信息技术的发展,人们对信息安全也是愈发关注,数据安全始终是个热点和难点.通过WIFI或者蓝牙进行密码传输确实非常方便,但是它已经不再具备安全保障.因此为了解决信息安全的问题,华盛顿大学的 ...

  4. nvm安装以及注意事项

    nvm初衷:由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理 1. 下载:[nvm-windows](https://github.com/cor ...

  5. AVCaptureInput和AVCaptureOutput子类介绍

    AVCaptureInput AVCaptureDeviceInput:用于从AVCaptureDevice对象捕获数据. AVCaptureScreenInput:从macOS屏幕上录制的一种捕获输 ...

  6. 前端每日实战:92# 视频演示如何用纯 CSS 创作一颗逼真的土星

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/EpbaQX 可交互视频 此视频是可 ...

  7. Python 绘图 - Bokeh 柱状图小试(Stacked Bar)

    背景 在 Bokeh 初探之后,学习使用它来做个图 目标 做一个柱状图,支持多个 y 数据源,即有堆叠效果的柱状图 stacked bar 实现 单数据源 简单的柱状图 参考 Handling Cat ...

  8. Apache Druid 的集群设计与工作流程

    导读:本文将描述 Apache Druid 的基本集群架构,说明架构中各进程的作用.并从数据写入和数据查询两个角度来说明 Druid 架构的工作流程. 关注公众号 MageByte,设置星标点「在看」 ...

  9. 俊哥的blog的一道题

    题目: 实现一个person对象,有eat和dinner两种方法 请用实例[依次类推] new person('Tom').sleep(10).eat('dinner'); //输出 console. ...

  10. Markdown使用说明

    # Markdown 使用说明 Markdown 是一种**轻量级标记语言** 使用规则: 1. 标题   2. 列表 3. 引用 4. 图片与链接 5. 粗体与斜体 6.表格 7. 代码框 8. 分 ...