本章目录
2.1 JSP 简介
2.1.1 JSP 概述
Java Server Page 简称 JSP,是由 Sun 公司倡导建立的一种动态网页技术标准,用于开发动态网页
JSP就是将传统Java代码嵌入到Html页面代码中,由Web服务器进行编译执行,生成最终的静态Html返回客户端
JSP优点:
- 跨平台
- 安全
- 扩展性
- 伸缩性强
- 可重用性
2.1.2 开发第一个 JSP 页面
JSP 是动态网页,页面内不仅包含 HTML 代码,还包含 Java 代码,使用Eclipse可以创建Jsp页面
- 在Eclipse的Javaweb项目WebContent下,新建Jsp File
- 输入文件名
示例:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/
html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>First JSP page</title>
</head>
<body>
<h1> 这是第一个 JSP 页面 </h1>
</body>
</html>
Jsp页面头部指令标识:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
将项目部署在Tomcat服务器中,启动服务器,测试访问JSP页面
注意:启动服务器时注意观察控制台输出信息,确保无异常发生
2.1.3 JSP 处理流程
浏览器无法直接运行JSP文件,只有将包含JSP文件的Web项目部署到Web服务器上,才能看到JSP的显示效果
当客户端浏览器向服务器发出请求访问一个JSP页面后,服务器根据该请求加载相应的JSP 页面,并对该页面进行转换、编译和执行
2.1.4 实践练习
2.2 JSP 指令标识
2.2.1 JSP指令
JSP 页面就是带有 JSP 元素的常规 Web 页面,它由静态内容和动态内容构成
其中动态内容包括以下几种:
- 指令标识
- 脚本标识
- 注释标识
2.2.2 指令标识
指令标识主要用于设定在整个 JSP 页面范围内都有效的相关设置信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中
<%@ 指令名 属性 1=“属性值 1” 属性 2=“属性值 2”...%>
(1)指令名:用于指定指令名称,在 JSP 中包含 page、include 和 taglib 3 个指令。
(2)属性:用于指定属性名称,不同的指令包含不同的属性。在一个指令中,可以设置多个属性,属性之间用逗号或空格隔开。
(3)属性值:用户指定属性值。
示例:
<%@page language=“java” contentType=“text/html” charset=“UTF-8” pageEncoding=“UTF-8”%>
language 属性。该属性用于设置 JSP 页面使用的语言,该属性的默认值为 Java
import 属性。该属性用于设置 JSP 导入的类包。在 JSP 页面中导入类包的代码片段,如 <%@page import=“java.util.*”%>
pageEncoding 属性。用于设置 JSP 页面的编码格式,即指定页面编码,支持中文一般设置为GBK或UTF-8
contentType 属性。该属性用于设置 JSP 页面的 MIME 类型和字符编码,浏览器会根据 contentType 中指定的 MIME 类型和字符集编码来显示 JSP 输出的内容,常见MIME格式如下
MIME |
作用 |
application/msword |
Word 文档 |
application/pdf |
PDF文档 |
audio/x-wav |
Wav 格式的音频文件 |
text/html |
HTML 格式 |
text/plain |
普通文档 |
image/jpeg |
JPEG 格式 |
2.2.3 include 指令
include 指令可以在一个 JSP 页面中包含另一个页面,常用于多页面共同的部分抽离出来(如顶部导航、底部版权等),使用时直接引用,以提升开发维护效率
格式:<%@include file=“包含文件路径”%>
示例:将网站网页头部导航条和网页底部版权信息栏,包含在主页面内
top.jsp设计顶部导航等信息
<%@include file="nav.jsp"%>
copyright.jsp设计底部版权信息
<%@ include file="copyright.jsp"%>
Index.jsp首页包含top.jsp和copyright.jsp
<body>
<%@include file="nav.jsp"%>
首页自身代码省略……
<%@ include file="copyright.jsp"%>
</body>
注意:在应用 include 指令包含文件时,为使整个页面的层次结果不发生冲突,应将被包含页面中的 <html> 元素和 <body> 元素删除,因为包含该页面的文件中已经指定了这些标记
2.2.4 taglib指令
在 JSP 文件中,可以通过 taglib 指令声明该页面中所使用的标签库,同时引用标签库,并指定标签前缀,在页面中引用标签库后,就可以通过前缀引用标签库中的标签
<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
2.2.5 实践练习
2.3 JSP 脚本标识
2.3.1 声明标识
声明标识用于在 JSP 页面中定义全局的变量或方法,通常使用该标识定义整个 JSP 页面需要引用的变量或方法
语法:
<%! 声明变量或方法代码 %>
注意:
<% 与 ! 之间不可以有空格,但是 ! 与其后的代码之间可以有空格。
<%! 与 %> 可以不在同一行,如下面的格式也是正确的:
<%!
声明变量或方法的代码
%>
示例:声明标识声明一个全局变量和全局方法,用来统计页面的访问次数。
<%!
int number = 0;// 声明全局变量
int count() {
number++;//number 自增
return number;
}%>
<p class="title1">
<span class="fl"> 这是第 <%=count()%> 次访问该页面
</span>
</p>
2.3.2 JSP 表达式
JSP 表达式用于向页面中输出信息,类似于System.out.println()括号中的内容
语法:
<%= 表达式或者变量名 %>
注意:①<% 与 =号之间不允许有空格,其后面只要符合输出语句中语法即可②最后不要加;号
示例:声明标识声明一个全局变量和全局方法,用来统计页面的访问次数。
<ul class="dian">
<%
String paint01 = " 夏塘清趣 ";//脚本用于声明变量
String paint02 = " 事茗图 ";
String paint03 = " 渔父图 ";
%>
<li><a href="#"><%=paint01%></a></li>//表达式用于输出结果到网页上
<li><a href="#"><%=paint02%></a></li>
<li><a href="#"><%=paint03%></a></li>
</ul>
2.3.3 Scriptlet 脚本程序
Scriptlet(代码片段)脚本程序,是在 JSP 页面中嵌入的 Java 代码或脚本代码
- 代码片段将在页面请求的处理期间被执行,通过 Java 代码可以定义变量或流程控制语句等
语法:
<% 表达式或者变量名 %>
- 注意<%后面没有任何符号标志
- 脚本中的代码必须符合java语法规范
示例:使用 JSP 脚本定义变量信息
<ul class="dian">
<%
String paint01 = " 夏塘清趣 ";//脚本用于声明变量
String paint02 = " 事茗图 ";
String paint03 = " 渔父图 ";
%>
<li><a href="#"><%=paint01%></a></li>//表达式用于输出结果到网页上
<li><a href="#"><%=paint02%></a></li>
<li><a href="#"><%=paint03%></a></li>
</ul>
说明:
- 通过声明标识创建的变量和方法,生命周期是从创建开始到服务器关闭结束;而脚本片段创建的变量和代码,其生命周期在页面关闭后,就会被销毁
- 脚本一般用于声明变量、计算、逻辑判断及循环控制,而表达式则仅用于输出内容
2.3.4 实践练习
2.4 注释标识
2.4.1 JSP 注释
注释用于对某些代码做功能性的说明,从而增加程序的可读性。JSP 程序中可以包含 3 种不同类型的注释
1、JSP 标准注释
<%-- JSP标准注释 --%>
JSP标准注释在客户端浏览器无法查看到
2、Java 注释
<%
//Java单行注释
/*
Java多行注释
*/
%>
Java注释在客户端浏览器中也无法看到
3、HTML 注释
<!-- HTML网页注释 -->
HTML网页注释在客户端浏览器可以看到
2.4.2 综合案例
示例:新闻展示页面制作,使用注释完成代码说明:
<ul class="jiantou">
<%
//调用声明的方法,得到数据,准备循环
List<String> paintList = getList();
for (int i = 0; i < paintList.size(); i++) {
%>
<li><a href="#"><%=paintList.get(i)%></a></li>
<%
}
%>
</ul>
新闻展示页面制作,运行结果图
2.4.3 实践练习
总结:
- Java Server Page 简称 JSP,是一种在Html中嵌入Java代码的动态网页技术,具有跨平台、安全、重用性强等优点
- 客户端通过浏览器访问Web服务器中的Jsp页面时,服务器会将Jsp进行转换、编译、执行,最终返回给客户端生成的静态Html代码页面
- Jsp中嵌入Java代码时可以通过声明、脚本、表达式几种不同的方式
- Jsp页面中的注释有Jsp标准注释、Java注释及Html注释几种