零、本节学习目标
-
了解JSP的概念和特点
-
熟悉JSP的运行原理
-
掌握JSP的基本语法
-
熟悉JSP指令的使用
-
掌握JSP动作元素的使用
-
掌握JSP隐式对象的使用
一、JSP概述
1、JSP的概念
- JSP全名是Java Server
Pages,即Java服务器页面。它是Servlet更高级别的扩展。在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。最终,JSP文件会通过Web服务器的Web容器编译成一个Servlet,用来处理各种请求。
2、JSP的特征
(1)跨平台
- 由于JSP是基于Java语言的,使用JSP开发的Web应用是跨平台的,可以应用于不同的系统中,如Windows、Linux等。当从一个平台移植到另一个平台时,JSP和JavaBean的代码并不需要重新编译,这是因为Java的字节码是与平台无关的,这也符合了Java语言“一次编译,到处运行”的特点。
(2)业务代码相分离
- 在使用JSP技术开发Web应用时,可以将界面的开发与应用程序的开发分离开。开发人员使用HTML设计界面,使用JSP标签和脚本动态生成页面上的内容。在服务器端,JSP容器负责解析JSP标签和脚本程序,生成所请求的内容,并将执行结果以HTML页面的形式返回给浏览器。
(3)组件重用
- JSP中可以使用JavaBean编写业务组件,也就是使用一个JavaBean封装业务处理代码或者作为一个数据存储模型,在JSP页面中,甚至在整个项目中,都可以重复使用这个JavaBean,同时,JavaBean也可以应用到其他Java应用程序中。
(4)预编译
- 预编译就是在用户第一次通过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,会直接执行编译好的代码。这样不仅节约了服务器的CPU资源,还大大提升了客户端的访问速度。
(二)编写第一个JSP
- 目标:掌握JSP文件的编写
1、创建Web项目
- 创建
Java Enterprise
,添加Web Application
- 设置项目名称与保存位置
- 单击【Finish】按钮
2、修改Artifact名称,重新部署项目
- 在项目结构窗口里修改Artifact名称
- 在服务器配置窗口里,重新部署项目
- 切换到【Server】选项卡,设置默认浏览器
3、创建欢迎JSP页面 - 在web目录里创建
welcome.jsp
- 注意:由welcome.jsp页面可知,新创建的JSP文件与传统的HTML文件几乎没有什么区别,唯一的区别是默认创建时,页面代码最上方多了一条page指令,并且该文件的后缀名是jsp,而不是html。
- 修改welcome.jsp
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>欢迎</title>
</head>
<body>
<h1 style="text-align: center; color: red">欢迎访问泸州职业技术学院</h1>
<h3 style="text-align: center"><%= new Date()%></h3>
</body>
</html>
4、启动服务器,查看结果
- 启动服务器,访问http://localhost:8080/JSPDemo/welcome.jsp
二、JSP基本语法
(一)JSP页面的基本构成
- 目标:熟悉JSP的页面的基本构成
1、JSP页面构成
- 虽然已经创建过JSP文件,但是并未对JSP文件的页面构成进行详细介绍。一个JSP页面可以包括指令标识、HTML代码、JavaScript代码、嵌入的Java代码、注释和JSP动作标识等内容。
2、案例演示 - 显示系统当前时间
- 创建
time_info.jsp
页面
- 页面构成说明图
- 启动服务器,访问
http://localhost:8080/JSPDemo/time_info.jsp
(二)JSP脚本元素
- 目标:掌握JSP脚本元素的三种类型:JSP Scriptlets、声明标识和JSP表达式
- JSP脚本元素是指嵌套在“<%”和“%>”之中的一条或多条Java程序代码。通过JSP脚本元素可以将Java代码嵌入HTML页面中,所有可执行的Java代码,都可以通过JSP脚本执行。
1、JSP Scriptlet
(1)基本概念
JSP Scriptlets 是一段代码片段。所谓代码片段,就是在JSP页面中嵌入的Java代码或脚本代码。代码片段将在页面请求的处理期间被执行,通过Java代码可以定义变量或流程控制语句等;而脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和访问session会话等。
(2)语法格式
`<% java 代码(变量、方法、表达式等)%>`
(3)案例演示
- 创建
demo01.jsp
页面
- 具体代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JSP Scriptlets</title>
</head>
<body>
<%
int a = 100, b=150; // 定义两个整形变量
int sum = a+b; // 计算两个整数之和
// 利用JSP隐式对象`out`输出结果
out.print(a + "+" + b + "="</