《Java Web程序设计任务教程》简要复盘:第六章 JSP技术


作者:氯磷Rolin

目录:

第六章 JSP技术

在动态网页的开发中,经常需要动态生成HTML内容,如果使用Servlet来实现HTML页面的更新,需要调用大量的输出语句,使静态和动态内容混合在一起,导致程序非常臃肿。
为了克服这些缺点,Oracle(SUN)公司推出了JSP技术。

什么是JSP

  • JSP全名Java Server Pages,它用于简捷而快速的生成Web界面
  • 因为Servlet展示信息不方便,所以引入了JSP技术
  • JSP本质上是一个Servlet!!
  • JSP就是在HTML页面的基础上嵌入了Java代码
  • JSP也拥有java的众多特征,例如:跨平台性,业务代码相分离,组件重用,预编译等

JSP的运行原理

  • 原理图
    在这里插入图片描述
  • JSP的具体运行过程
  1. 客户端发出请求给JSP容器(Tomcat),请求访问JSP文件
  2. JSP容器将JSP文件转换成一个Java Servlet源文件,如果出错则会输出错误信息
  3. JSP容器再将Java Servlet源文件编译成相应的*.class字节码文件
  4. 由Tomcat加载*.class文件,创建一个Servlet实例,并且调用jspInit()方法进行初始化
  5. 执行jspService()方法处理客户端的请求。和Servlet一样,多个客户端同时请求该JSP文件则JSP容器也会创建多个线程来处理它们。
  6. 如果JSP文件被修改了,则根据设置服务器将决定是否对该文件进行重新编译。
  7. 由于第一次调用时需要转换和编译,往往会产生一些延迟或卡顿
  8. 当请求处理完成后,响应对象由JSP容器接收,并将HTML格式的响应信息发送回客户端
  9. 由于系统资源不足或其他原因,JSP容器可能会以某种不确定的方式将编译好的Servlet移出内存,此时Servlet会先调用jspDestroy()方法,然后该实例会被加入垃圾回收系统处理

虽然JSP类不实现Servlet接口,但是继承自HttpJspBase类
由于HttpJspBase类是HttpServlet的一个子类,由此JSP编译生成的java类实质上就是一个Servlet

JSP的基本语法

JSP文件中可以嵌套很多内容,例如JSP的脚本元素和注释等,这些内容的编写需要遵循一定的语法规范

  • JSP脚本元素

JSP脚本元素是指嵌套在<%%>之间的Java程序代码。通过JSP脚本元素可以将Java代码嵌入到HTML页面中,所有可执行的Java代码都可以通过JSP脚本来执行

  • JSP脚本元素主要包括如下三种类型:
    1. JSP Scriptlets
    2. JSP 声明语句
    3. JSP 表达式
  • JSP脚本元素语法:
标签 语法 用途
程序代码标签(JSP Scriptlets) <% 此处输入Java程序代码 %> 编写Java程序代码,但不可以定义代码,此时在编译后这段代码是放在jspService()里
JSP声明语句 <%! 变量或方法的声明 %> 声明JSP内所使用的成员方法、成员变量、静态方法、静态变量、静态代码块等 在其声明的方法在整个JSP页面都有效,此时在编译后这段代码是放在jspService()外
JSP表达式 <%=变量%> 用于将程序数据输出到客户端,即将java中的变量或者表达式的值输出到页面
JSP注释 <%-- 注释信息 --%> Tomcat在编译JSP页面时会自动忽略JSP注释内容,不会将注释信息发送到客户端。而在JSP页面编写的HTML注释会被发送到客户端

JSP指令

JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。

为了设置JSP页面的一些信息,Sun公司提供了JSP指令。JSP2.0中定义了page、include等指令,每种指令都定义了各自的属性。

page指令

page指令称为页面指令,用来定义JSP页面的全局属性,该配置会作用域整个页面。
page指令的属性可以定义MIME类型、定义需要导入的包、错误页的指定等。

  • page指令的语法格式如下:
    <%@page 属性1=“属性值1” 属性2=“属性值2”%>
  • page指令的常用属性:
属性名称 取值范围 描述
language java 指明解释该JSP文件时采用的语言,默认为Java
import 任何包名和类名 指明在JSP页面翻译成Servlet时导入的包或类。是唯一一个可以多次引用的指令属性
session true\false 指明该JSP内是否内置Session对象,默认为true
isErrorPage true\false 指定该页面是否为错误处理页面,如果为true,则说明内置Exception对象的exception,可以直接使用
errorPage 某个JSP页面的相对路径 指定一个错误页面,如果该JSP抛出一个未被捕捉的异常,则转到该属性指定的页面
contentType 有效的文档类型 客户端浏览器根据该属性判断文档类型
pageEnCoding 当前页面 指定页面编码格式
  • page指令的其他属性:
属性名称 描述
extends 指定JSP页面产生的Servlet继承的父类
buffer 指定缓冲区的大小,默认是8KB。如果为none,则表示不设置缓冲区。(此属性要和autoFlush一起使用
autoFlush 指定输出缓冲区即将溢出时,是否强制输出缓冲区的内容。可以设置为true或false(默认为true)
isThreadSafe 指定JSP是否支持多线程。可以设置为true或false,若为true,则表示该页面可以处理多个用户的请求;如果为false,则此JSP一次只能处理一个页面的用户请求。
info 设置JSP页面的相关信息。可以使用servlet.getServletInfo()方法获取到JSP页面中的文本信息
isELIgnored 指定JSP文件是否支持EL表达式

除了import属性外,其他的属性都只能出现一次,否则会编译失败。
page指令的属性名称都是区分大小写的

include指令

include指令是文件加载指令,用于在JSP中插入一个包含文件或代码的文件,这个包含的过程是静态包含。

它把文件插入后与原来的JSP文件合并成一个新的JSP页面(注意:如果被插入的内容发送改变,则包含这个页面的JSP文件就需要重新编译)。

  • 具体语法:
<%@ include file="head.html"%>
  • 属性
    include指令只有一个file属性,该属性用来指定插入到JSP页面目标位置的文件资源。
    插入文件的路径一般不以/开头,而是使用相对路径
  • 示例:在一个网站所有链接都插入同一个导航栏

在一个空白的HTML页面中直接使用include指令

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>测试页面</title>
    <link href="${pageContext.request.contextPath}/css/usercenter.css" type="text/css" rel="stylesheet"/>
    <link rel="icon" type="image/ico" sizes=&
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 全国计算机等级考试二级教程——java语言程序设计的PDF版本是一本介绍Java编程语言的教程书籍。这本书对于计算机等级考试二级的学习者来说非常有用。 Java语言是一种通用的高级编程语言,它被广泛应用于跨平台应用程序的开发。这本教程主要围绕Java语言的程序设计展开,内容包括Java语言的基础知识、面向对象编程、异常处理、文件IO操作、多线程编程、网络编程等。 这本教程通过分章节详细介绍了Java语言的各个方面,从基础知识开始,逐渐深入,适合初学者学习。每个章节都通过理论讲解和实践代码演示相结合的方式,让读者能更好地理解和运用所学知识。 此外,这本教程还提供了丰富的练习题目和编程实践,帮助读者巩固所学内容,并提升编程能力。同时,书中还包含了考试相关的重点知识点和实例,能够帮助读者更好地应对全国计算机等级考试二级的相关题目。 总体来说,全国计算机等级考试二级教程——java语言程序设计PDF是一本很好的学习工具,适合计算机等级考试二级的学习者使用。无论是想了解Java编程语言的基础知识,还是为计算机等级考试二级做准备,这本教程都能够提供相应的帮助。 ### 回答2: 《全国计算机等级考试二级教程——Java语言程序设计PDF》是一本关于Java语言程序设计的考试教材。该书内容分为几个主要部分: 首先,该书从Java语言的基础知识入手,介绍了Java的背景和特点,以及Java的安装与配置。 其次,该书详细讲解了Java程序的编写与运行。从编写一个简单的Hello World程序开始,逐步引导读者学习Java的语法规则、基本数据类型、运算符以及控制结构等。 然后,该书介绍了一些常用的Java类库和API,如String类、Math类、Scanner类等,以及Java的面向对象编程思想和相关的概念,如类、对象、继承、封装、多态等。同时,还涉及到实例变量、类变量、方法的定义和使用等内容。 最后,该书还对异常处理、文件操作、线程编程等Java高级特性进行了简要介绍,使读者能够初步了解这些内容。 此外,该书还通过提供大量的例题和练习题,帮助读者巩固所学知识,培养解决实际问题的能力。 总结来说,这本教材是辅助学习者准备全国计算机二级考试的理想参考书籍。它详细介绍了Java语言的基础知识和应用,适合初学者入门。读者通过学习这本教材,可以系统地掌握Java语言的基本语法、面向对象编程以及高级特性,为考试做好充分准备。 ### 回答3: 全国计算机等级考试二级教程——Java语言程序设计 pdf 是一本关于Java编程语言的教材。Java作为一种高级编程语言,在计算机行业中应用广泛,掌握Java编程可以使开发人员更好地进行软件开发和系统设计。 这本教材主要分为几个部分。首先,它介绍了Java编程语言的基本概念和语法规则,例如变量、数据类型、运算符、流程控制等。通过学习这些内容,读者可以了解Java的基本特点和编程规范。 其次,教材详细介绍了Java的面向对象编程(OOP)思想和相关的知识。面向对象编程是现代软件开发中的一种重要方法,它通过封装、继承和多态等机制,使得程序更易读、易维护、易扩展。读者将学习如何定义类、创建对象、定义方法和属性等。 此外,教材还介绍了Java中常用的类库和API,包括输入输出流、字符串处理、异常处理、图形界面等。这些类库和API提供了大量的功能和工具,可以帮助开发人员更加高效地编写程序。 在教材的最后,还有一些实例和练习题供读者巩固所学知识。通过实际的编程实例和练习,读者可以提高自己的编程能力和解决问题的能力。 总之,全国计算机等级考试二级教程——Java语言程序设计 pdf 是一本很好的学习资料,对于想要学习Java编程的人来说,是一本不可或缺的参考书。通过学习这本教材,读者可以系统地了解和掌握Java编程的基础知识和技能,为将来的职业发展打下良好的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值