Java Web程序设计笔记 • 【第2章 JSP基础】

时间:2022-09-05 13:48:08

全部章节   >>>>


本章目录

2.1 JSP 简介

2.1.1 JSP 概述

2.1.2 开发第一个 JSP 页面

2.1.3 JSP 处理流程

2.1.4 实践练习

2.2 JSP 指令标识

2.2.1 JSP指令

2.2.2 指令标识

2.2.3 include 指令

2.2.4 taglib指令

2.2.5 实践练习

2.3 JSP 脚本标识

2.3.1 声明标识

2.3.2 JSP 表达式

2.3.3 Scriptlet 脚本程序

2.3.4 实践练习

2.4 注释标识

2.4.1 JSP 注释

2.4.2 综合案例

2.4.3 实践练习

总结:


2.1 JSP 简介

2.1.1 JSP 概述

Java Server Page 简称 JSP,是由 Sun 公司倡导建立的一种动态网页技术标准,用于开发动态网页

JSP就是将传统Java代码嵌入到Html页面代码中,由Web服务器进行编译执行,生成最终的静态Html返回客户端

JSP优点:

  • 跨平台
  • 安全
  • 扩展性
  • 伸缩性强
  • 可重用性

Java Web程序设计笔记  • 【第2章 JSP基础】

2.1.2 开发第一个 JSP 页面

JSP 是动态网页,页面内不仅包含 HTML 代码,还包含 Java 代码,使用Eclipse可以创建Jsp页面

  • 在Eclipse的Javaweb项目WebContent下,新建Jsp File
  • 输入文件名

Java Web程序设计笔记  • 【第2章 JSP基础】

示例:

<%@ 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页面

注意:启动服务器时注意观察控制台输出信息,确保无异常发生

Java Web程序设计笔记  • 【第2章 JSP基础】

Java Web程序设计笔记  • 【第2章 JSP基础】

2.1.3 JSP 处理流程

浏览器无法直接运行JSP文件,只有将包含JSP文件的Web项目部署到Web服务器上,才能看到JSP的显示效果

当客户端浏览器向服务器发出请求访问一个JSP页面后,服务器根据该请求加载相应的JSP 页面,并对该页面进行转换、编译和执行

Java Web程序设计笔记  • 【第2章 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=“包含文件路径”%>

Java Web程序设计笔记  • 【第2章 JSP基础】

示例:将网站网页头部导航条和网页底部版权信息栏,包含在主页面内

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>

Java Web程序设计笔记  • 【第2章 JSP基础】

注意:在应用 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()括号中的内容

语法:

<%= 表达式或者变量名 %>

注意:①<% 与 =号之间不允许有空格,其后面只要符合输出语句中语法即可②最后不要加;号

示例:声明标识声明一个全局变量和全局方法,用来统计页面的访问次数。

Java Web程序设计笔记  • 【第2章 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.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>

Java Web程序设计笔记  • 【第2章 JSP基础】

说明:

  • 通过声明标识创建的变量和方法,生命周期是从创建开始到服务器关闭结束;而脚本片段创建的变量和代码,其生命周期在页面关闭后,就会被销毁
  • 脚本一般用于声明变量、计算、逻辑判断及循环控制,而表达式则仅用于输出内容

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>

新闻展示页面制作,运行结果图

Java Web程序设计笔记  • 【第2章 JSP基础】

2.4.3 实践练习

总结:

  • Java Server Page 简称 JSP,是一种在Html中嵌入Java代码的动态网页技术,具有跨平台、安全、重用性强等优点
  • 客户端通过浏览器访问Web服务器中的Jsp页面时,服务器会将Jsp进行转换、编译、执行,最终返回给客户端生成的静态Html代码页面
  • Jsp中嵌入Java代码时可以通过声明、脚本、表达式几种不同的方式
  • Jsp页面中的注释有Jsp标准注释、Java注释及Html注释几种