全部章节   >>>>


本章目录

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优点:

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

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基础】的更多相关文章

  1. Java Web程序设计笔记 • 【目录】

    章节 内容 实践练习 Java Web程序设计作业目录(作业笔记) 第1章 Java Web程序设计笔记 • [第1章 Web应用程序] 第2章 Java Web程序设计笔记 • [第2章 JSP基础 ...

  2. Java Web程序设计笔记 • 【第6章 Servlet技术进阶】

    全部章节   >>>> 本章目录 6.1 应用 Servlet API(一) 6.1.1 Servlet 类的层次结构 6.1.2 使用 Servlet API 的原则 6.1 ...

  3. Java Web程序设计笔记 • 【第5章 Servlet技术】

    全部章节   >>>> 本章目录 5.1 Servlet 技术介绍 5.1.1 为什么需要Servlet 5.1.1 Servlet 简介 5.1.2 Java Web 处理流 ...

  4. Java Web程序设计笔记 • 【第1章 Web应用程序】

    全部章节   >>>> 本章目录 1.1 Web 应用程序 1.1.1 Web 应用程序概述 1.1.2 Web 应用程序的工作原理 1.1.3 实践练习 1.2 HTTP协议 ...

  5. Java Web学习总结(14)——JSP基础语法

    任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...

  6. Java Web程序设计笔记 • 【第4章 JavaBean和JSP标准动作】

    全部章节   >>>> 本章目录 4.1 JavaBean 4.1.1 JavaBean 概述 4.1.2 JavaBean的重要性 4.1.3 JavaBean的特点 4.1 ...

  7. Java Web程序设计笔记 • 【第3章 JSP内置对象】

    全部章节   >>>> 本章目录 3.1 JSP 内置对象简介 3.1.1 JSP 内置对象概述 3.1.2 JSP 表单处理 3.1.2 request对象 3.1.2 开发 ...

  8. Java Web程序设计笔记 • 【第9章 EL表达式】

    全部章节   >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...

  9. Java Web程序设计笔记 • 【第10章 JSTL标签库】

    全部章节   >>>> 本章目录 10.1 JSTL 概述 10.1.1 JSTL 简介 10.1.1 JSTL 使用 10.1.2 实践练习 10.2 核心标签库 10.2. ...

随机推荐

  1. Redis的持久化机制:RDB和AOF

    什么是Redis持久化? Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存当中,在处理客户端请求时,所有操作都在内存当中进行,如下所示: 这样做有什么问题呢? 其实,只要稍微有点计算 ...

  2. android studio 使用 aidl(二)异步回调

    基础使用请移步 android studio 使用 aidl (一) 首先建立在server端建立两个aidl文件 ITaskCallback.aidl 用于存放要回调client端的方法 // IT ...

  3. AOP中ProceedingJoinPoint获取目标方法,参数,注解

    private void saveLog(ProceedingJoinPoint jp,long time)throws Throwable { package com.cy.pj.common.as ...

  4. 如果你不想让pthread_join阻塞你的进程,那么请调用pthread_detach

    如果你不想让pthread_join阻塞你的进程,那么请调用pthread_detach 2016年01月13日 16:04:20 炸鸡叔 阅读数:7277   转发自:http://baike.ba ...

  5. VScode 使用 CMake 入门

    参考 CMake 入门实战 在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下: 编写 CMake 配置文件 CMakeLists.txt . 执行命令 cmake PA ...

  6. Spring Boot下使用JSP页面

    一.创建webapp目录 在src/main下创建webapp目录,用于存放jsp文件.这就是一个普通的目录,无需执行Mark Directory As 二.创建jsp 1.指定web资源目录 在sp ...

  7. 使用beanFactory工厂实例化容器的方式实现单例模式

    //配置文件bean.properties(注意书写顺序) accountService=com.itheima.service.impl.AccountServiceImplaccountDao=c ...

  8. 端口占用,windows下通过命令行查看和关闭端口占用的进程

    1.查找所有端口号对应的PID 端口号:8080 命令:netstat -ano|findstr "8080" 2.找到端口的PID并关闭 PID:1016 命令:taskkill ...

  9. 【力扣】123. 买卖股票的最佳时机 III

    给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的 ...

  10. Synchronized和Lock接口

    关于synchronized字段,不管该关键字是修饰方法还是修饰同步代码块,synchronzed拿到的都是对象. 当synchronized修饰的是方法时,synchronized所拿到的是调用该方 ...