Java Web程序设计笔记 • 【第2章 JSP基础】
全部章节 >>>>
本章目录
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注释几种
Java Web程序设计笔记 • 【第2章 JSP基础】的更多相关文章
- Java Web程序设计笔记 • 【目录】
章节 内容 实践练习 Java Web程序设计作业目录(作业笔记) 第1章 Java Web程序设计笔记 • [第1章 Web应用程序] 第2章 Java Web程序设计笔记 • [第2章 JSP基础 ...
- Java Web程序设计笔记 • 【第6章 Servlet技术进阶】
全部章节 >>>> 本章目录 6.1 应用 Servlet API(一) 6.1.1 Servlet 类的层次结构 6.1.2 使用 Servlet API 的原则 6.1 ...
- Java Web程序设计笔记 • 【第5章 Servlet技术】
全部章节 >>>> 本章目录 5.1 Servlet 技术介绍 5.1.1 为什么需要Servlet 5.1.1 Servlet 简介 5.1.2 Java Web 处理流 ...
- Java Web程序设计笔记 • 【第1章 Web应用程序】
全部章节 >>>> 本章目录 1.1 Web 应用程序 1.1.1 Web 应用程序概述 1.1.2 Web 应用程序的工作原理 1.1.3 实践练习 1.2 HTTP协议 ...
- Java Web学习总结(14)——JSP基础语法
任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...
- Java Web程序设计笔记 • 【第4章 JavaBean和JSP标准动作】
全部章节 >>>> 本章目录 4.1 JavaBean 4.1.1 JavaBean 概述 4.1.2 JavaBean的重要性 4.1.3 JavaBean的特点 4.1 ...
- Java Web程序设计笔记 • 【第3章 JSP内置对象】
全部章节 >>>> 本章目录 3.1 JSP 内置对象简介 3.1.1 JSP 内置对象概述 3.1.2 JSP 表单处理 3.1.2 request对象 3.1.2 开发 ...
- Java Web程序设计笔记 • 【第9章 EL表达式】
全部章节 >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...
- Java Web程序设计笔记 • 【第10章 JSTL标签库】
全部章节 >>>> 本章目录 10.1 JSTL 概述 10.1.1 JSTL 简介 10.1.1 JSTL 使用 10.1.2 实践练习 10.2 核心标签库 10.2. ...
随机推荐
- MySQL自我保护参数
上文(MySQL自我保护工具--pt-kill )提到用pt-kill工具来kill相关的会话,来达到保护数据库的目的,本文再通过修改数据库参数的方式达到阻断长时间运行的SQL的目的. 1.参数介绍 ...
- Linux之sftp服务
Linux之sftp服务 一.sftp介绍转自:[1]Linux如何开启SFTP https://www.cnblogs.com/xuliangxing/p/7120205.htmlSFTP是Secu ...
- NSMutableArray-->NSString
1.如何把NSMutableArray 转化为NSString//用字符将NSArray中的元素拼接起来 NSArray *array = [NSArray arrayWithObjects:@&qu ...
- Java Spring 自定义事件监听
ApplicationContext 事件 定义一个context的起动监听事件 import org.springframework.context.ApplicationListener; imp ...
- shell获取目录下(包括子目录)所有文件名、路径、文件大小
一例shell脚本:取得目录下(包括子目录)所有文件名.路径与文件大小. 代码,shell脚本: lsdir.sh #!/bin/bash # #site: www.jquerycn.cn funct ...
- centos配置 显示中文
目录 一.简介 二.操作 一.简介 不显示中文,出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的. 二.操作 1.查看当前系统语言 登陆linux系统打开操作终端之后,输入 e ...
- spring切面-单线程简单权限判定
spring切面简单模拟用户权限判定 需求: 游客:仅注册用户 用户:修改,注册 管理员:删除,查询,修改,注册 1,文件配置 导包 src下创建applicationContext.xml文件配置如 ...
- 工作簿拆分(Excel代码集团)
一个工作簿中包括N个工作表,将各个工作表拆分成工作簿. 工作表数量不定,表内内容不限,拆分后保存于当前文件夹内. Sub Sample() Dim MySheetsCount As Long For ...
- CF508A Pasha and Pixels 题解
Content 有一个 \(n\times m\) 的矩阵,一开始全部格子被染成白色. 接下来有 \(k\) 个操作,每一个操作表示把一个格子染成黑色.问第一次出现 \(2\times 2\) 的全部 ...
- CF116B Little Pigs and Wolves 题解
Content 有一张 \(n\times m\) 的地图,其中,\(\texttt{P}\) 代表小猪,\(\texttt{W}\) 代表狼.如果狼的上下左右有一头以上的小猪,那么它会吃掉其中相邻的 ...