一、jsp概述
  JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。
  JSP实际上就是Servlet。

  jsp = html + java

  html:静态内容
  servlet:服务器端的小应用程序。适合编写java逻辑代码。
  jsp:适合编写输出动态内容,但不适合编写java逻辑。

二、jsp的原理
  jsp页面通过服务器的翻译 ---〉变成java文件通过编译 ---〉变成class文件用来执行
    jsp文件是用来做显示模块,加上少量的逻辑运算代码。
    servlet文件就是用来进行做控制器 : 获取表单数据:调用业务逻辑:分发转向

四、jsp的基本语法
  1、JSP模版元素
    网页的静态内容。如:html标签和文本。
  2、JSP的脚本
    2.1、小脚本 <% java代码 %>
    2.1、表达式 <%= 2+3 %> 等价于out.print(2+3);

    2.3、声明 <%! %> 表示在类中定义全局成员,和静态块。
  3、JSP注释
    JSP注释:<%-- 被注释的内容 --%> 特点:安全,省流量
    网页注释:<!-- 网页注释 --> 特点:不安全,费流量

五、jsp的3个指令
  语法:<%@ %>

  1、page:
    作用:用于定义JSP页面的各种属性

    1.1、 import 和java代码中的import是一样的
      <%@ page import="java.util.Date,java.util.List"%>
    1.2、 session: 是否会自动创建session对象。默认值是true;
    1.3、 buffer: 设置输出流缓冲大小,默认为 8 kb。
    1.4、 errorPage: 如果页面中有错误,则跳转到指定的资源。
    1.5、 isErrorPage: 是否创建throwable对象。默认是false;
    1.6、 contextType: 等同于response.setContextType("text/html;charset=utf-8");
    1.7、 pageEncoding: 告诉JSP引擎要翻译的文件使用的编码。
    1.8、 isELIgnored: 是否屏蔽支持EL表达式。 默认是false
      <%@ page pageEncoding="gbk" %>

  2、include:
    静态包含:把其它资源包含到当前页面中。
      <%@ include file="/include/header.jsp" %>
    动态包含:
      <jsp:include page="/include/header.jsp"></jsp:include>

    两者的区别:翻译的时间段不同
      前者:在翻译时就把两个文件合并
      后者:不会合并文件,当代码执行到include时,才包含另一个文件的内容。

    原则:能用静的就不用动的。

  3、taglib
    作用:在JSP页面中导入JSTL标签库。替换jsp中的java代码片段。
      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

六、jsp的6个动作
  使用标签的形式来表示一段java代码。
    如: <jsp:include page="2.jsp"></jsp:include>
  <jsp:include > 动态包含
  <jsp:forward> 请求转发
  <jsp:param> 设置请求参数

  <jsp:useBean> 创建一个对象
  <jsp:setProperty> 给指定的对象属性赋值
  <jsp:getProperty> 取出指定对象的属性值

七、jsp的9个内置对象: pageContext,request,session,application(ServletContext),

            response,exception,page,out,config.
  pageContext:
    1、 可以操作其他三个域对象(本身是代表页面的域对象)。
      findAttribute(String name); 自动从page request session application依次查找,找到了就取值,结束查找。
    2、它可以创建其它的8个隐式对象
      在普通类中可以通过PageContext获取其他JSP隐式对象。自定义标签时就使用。
    3、提供了的简易方法
      pageContext.forward("2.jsp");
      pageContext.include("2.jsp");

八、四大域对象
  pageContext: 代表页面的域对象。
  request: 代表一次请求的域对象。
  session: 代表一次会话的域对象。
  ServletContext: 代表一个程序(应用)的域对象。

九、EL表达式
  1、EL概述和基本语法
    EL表达式:expression language 表达式语言
    要简化jsp中java代码开发。
    它不是一种开发语言,是jsp中获取数据的一种规范
      如:${ }:调用 pagecontext 的 findAttribute方法。

  2、EL的具体功能
    a、获取数据
      EL表达式只能获取存在4个作用域中的数据
      ${u} 原理: pageContext.findAttribute("u");
      url?name=tom ${param.name}

      EL获取对于null这样的数据,在页面中表现为空字符串

      ${u.name} == u.getName()方法
        点(.) 运算符相当于调了getter方法,点后页面跟的是属性名。

      属性导航:${u.address.city}
      另外:[] 运算符作用与点运算符左右大。

    b、运算
      empty ${empty m} ${not empty m}
        判断null,空字符串和没有元素的集合(即使集合对象本身不为null)都返回true

      三元运算符
        ${empty m? 为空 :不为空}

c、11个隐式对象
  EL隐式对象引用名称 类型 JSP内置对象名称 说明
  pageContext
  pageScope
  requestScope
  sessionScope
  applicationScope
  param
  paramValues
  header
  headerValues
  initParam
  cookie

十、JSTL
  1、什么是JSTL
    JSTL(JavaServerPages Standard Tag Library)JSP标准标签库
  2、JSTL的作用
    使用JSTL实现JSP页面中逻辑处理。如判断、循环等。
  3、使用JSTL
    1)在JSP页面添加taglib指令
      <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    2)使用JSTL标签
      <c:if test="${empty bookcart }"></c:if>
  4、常用标签介绍
    核心标签库:
      > 通用标签: set、 out、 remove
        <c:out value="${bc.value.bookName }"/>
      > 条件标签:if choose
        <c:if test="${empty bookcart }"></c:if>
      > 迭带标签:foreach
        <c:forEach items="${bookcart }" var="bc"></c:forEach>

初识JSP知识的更多相关文章

  1. 第二章 初识JSP

    第二章   初识JSP 一.JSP简述 1.是JSP JSP是指在HTML中嵌入Java脚本语言.全称(Java Server Pages) 当用户通过浏览器访问Web应用时,使用JSP容器对请求的J ...

  2. JSP知识汇总

    JSP知识汇总 一.简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅 ...

  3. [J2EE基础]初识JSP和Servlet

    近期须要用到J2EE,就開始学习与J2EE相关的知识了. JSP是一种Javaserver端技术,它用于在网页上显示动态内容. Tomcat相关知识 JSP的运行过程 JSP的页面构成元素 JSP的凝 ...

  4. 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面

    1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...

  5. java web学习之初识jsp

    用java语言(+html语言)开发动态资源的技术: jsp的运行过程,1:tomcat服务器将jsp代码翻译成java代码,并且编译成class文件 2:tomcat服务器构造类对象 3:tomca ...

  6. JSP之->初识JSP

    JSP 引用百度百科的介绍: JSP(Java Server Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.JSP技术有点类似ASP技术,它是在 ...

  7. JSP知识

    五.JSP概述及最佳实践1.更改MyEclipse生成的JSP模板.模板文件与Servlet.java(Servlet模板文件)很近.2.学好JSP的关键:JSP就是Servlet.一定要记住JSP中 ...

  8. JSP知识体系大全

    Jsp动态网页 Web页面之间有3种关系: 包含  请求转发  重定向 l Jsp的运行原理:(3个) Jsp页面不能直接运行 1.容器调用jsp引擎编译jsp文件  成一个java文本(Servle ...

  9. 初识jsp

    复习: 1.servlet生命周期: (1)默认是以第一次请求的时候创建并初始化Servlet,而且只做一次.(构造函数 init()) web.xml(配置后,是可以达到在服务启动后,立刻进行ser ...

随机推荐

  1. Spring拦截器(学习笔记)

    SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的 在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式 第一种方 ...

  2. VS2017设置背景主题

    一.VS2017设置背景主题 1.下载并安装Color Theme Editor for Visual Studio 2017和MoeIDE (图中红圈中的两个插件,工具-扩展和更新-联机-右上角搜索 ...

  3. PHPStorm 配置命名空间

    文件-设置-Directories 选中:application     点击顶部:Sources,右侧会出现 Source Floders 配置项 点击:p进行设置 输入app\

  4. JS判断语句 注意多句时加大括号 回调函数LODOP兼顾写法

    由于C-LODOP获取一些动作函数的返回值,需要用回调函数,由于常见的使用方法是混合部署,也就是同一个页面,根据浏览器的不同,可能会走LODOP ,也可能会走C-LODOP,因此写法要坚固两种,而有些 ...

  5. js的常用文档对象,document

    1.document的概念:window的子对象,由于DOM对象模型的默认对象就是window,因此Window对象中的方法和子对象不需要通过Window来引用. - 2.document的组成:属性 ...

  6. Spring Boot 构建电商基础秒杀项目 (十一) 秒杀

    SpringBoot构建电商基础秒杀项目 学习笔记 新建表 create table if not exists promo ( id int not null auto_increment, pro ...

  7. 11/1/2018模拟 Max

    题面 也就是说, 随机序列RMQ.(\(n \le 8388608\), \(m \le 8*10^6\)) 解法 我写了笛卡尔树+tarjan 然而听神仙说, 因为数据随机, 建完树暴力找lca就行 ...

  8. BZOJ1208[HNOI2004]宠物收养场——treap

    凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领 ...

  9. POJ 3460 Booksort(算竞进阶习题)

    IDA* 这题真不会写..估价函数太巧妙了.. 按照lyd神牛的说法我们把a[i+1]=a[i]+1记为正确后继,反之则记为错误后继 那么考虑最优的一次交换区间,至多能够纠正三个错误后继,所以我们统计 ...

  10. IDEA中Git分支未push的变更集如何合并到另一个分支

    使用rebase命令 刚开始,A分支和B分支的代码是一样的,把A分支checkout 为当前分支,并且修改了代码,进行[commit]和[push],commit成功了,但是push没有权限. 这个时 ...