《JavaWeb应用开发(第2版)》全套教学课件_第1页
《JavaWeb应用开发(第2版)》全套教学课件_第2页
《JavaWeb应用开发(第2版)》全套教学课件_第3页
《JavaWeb应用开发(第2版)》全套教学课件_第4页
《JavaWeb应用开发(第2版)》全套教学课件_第5页
已阅读5页,还剩449页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaWeb应用开发(第2版)全套可编辑PPT课件

目录CONTENTS模块1JavaWeb应用开发基础模块2JSP语法模块3JSP内置对象模块4JavaBean及其应用模块5Web前端脚本技术模块6Servlet技术模块7JSP数据库操作模块8JavaWeb安全应用模块9课程设计实例模块1JavaWeb应用开发基础知识目标·了解Web应用、Web应用开发、动态网页及B/S结构等Web基础知识。·了解JSP的执行流程和技术优点。·掌握Web应用开发的流程和简单JSP程序的编写与运行方法。技能目标·能够在集成开发环境中配置JRE。·能够在Eclipse

IDE中配置并运行JSP引擎Tomcat。·能够在Eclipse

IDE中创建并部署JavaWeb项目。·能够在EclipseIDE中编写简单JSP程序并运行JSP程序。素质目标·树立产业报国远大理想,熟悉并热爱未来的行业和工作。1.1.1Web应用及其开发Web应用可以是一个构建并运行在Web上的完整网站,也可以仅仅是某个运行在Web上的应用程序。它是由一些Web网页和用来完成某些特定任务的相关资源整合在一起而形成的一个数据集合,通过服务器、客户端及网络等实现自身的功能。Web应用可采用不同的技术来构建,每种技术皆有其优劣势。当今的Web应用在其开发线路上主要包含两部分内容:Web前端开发和Web后端开发。Web后端开发主要进行与数据库交互作用所对应的业务逻辑设计,需要考虑功能的实现、数据的存取、平台的稳定性与性能等。Java是当今世界流行的编程语言和标准之一,它被广泛应用于各种领域,如大数据、人工智能、云计算、智能家居、物联网等。随着科技的不断进步和社会的不断发展,Java也面临着新的机遇和挑战。1.1Web基础知识在Internet发展初期,Web应用只是一个静态网站。“静态”是指网站的所有网页内容都基于静态的HTML页面,网站内容的修改只能通过修改静态的HTML页面来实现,Web网站仅显示静态信息,而不能与用户产生互动。随着商业需求的不断增长和Internet技术的不断发展,出现了用动态网页技术开发的动态网站。动态网页是指在服务器端运行的程序或网页,它显示的内容随时间、物理访问位置、用户及用户需求的改变而改变。1.1.2动态网页1.1Web基础知识动态网页的主要特点如下。(1)交互性网页会根据用户的要求和选择而动态改变和响应。例如,用户在网页中填写表单信息并提交,服务器将所提交信息处理后自动存储到后台数据库中,并转至相应的提示页面。(2)自动更新(3)随机性与静态网页修改后需重新上传以覆盖原先的页面相比,动态网页无需手动操作,便会自动生成更新的页面,大大节省了工作量。不同的人在不同的时间或不同的物理访问位置访问同一网址时会产生不同的页面效果。1.1.2动态网页1.1Web基础知识动态网页等Web应用普遍采用分布式计算模式构建,使用该模式进行Web应用开发时,往往需要编写大量的程序。这些程序被部署在不同的计算机上,在Web应用中承担着不同的职责。例如,有的程序显示用户界面,有的程序进行逻辑运算,有的程序则进行后台数据处理。相应的Web应用在体系上分为多层结构,其中最典型的是浏览器/服务器/数据库(browser/server/database,B/S/D)三层结构,如图1-1所示。图1-1B/S/D三层结构1.1.3B/S结构1.1Web基础知识第1层为浏览器浏览器接收用户输入的数据,提交并发送至Web服务器;还会接收Web服务器返回的数据处理结果并显示。第2层为Web服务器第3层为数据库服务器运行在Web服务器上的应用程序接收并处理用户数据,根据流程需要在数据库中进行数据比对和处理。最后Web服务器综合各项数据处理结果,生成动态页面,通过浏览器呈现给用户。数据库服务器储存海量的用户信息,并提供数据处理和事务处理功能。1.1.3B/S结构1.1Web基础知识JSP技术是Java企业版(Javaenterpriseedition,JavaEE)中的一个关键技术,是用Java标准开发服务器端Web应用的主要技术。打开JSP文件,可以看到JSP文档是在HTML代码中嵌入Java脚本(添加了JSP标记的Java代码)编写而成的。JSP文件以.jsp为扩展名。通过浏览器访问一个JSP页面时,Web服务器根据该请求加载被请求的JSP文件;然后Web服务器中的JSP引擎(用来统一管理和运行JavaWeb应用程序的软件,也可称为JSP容器,如Tomcat、JRun、Resin等)将被加载的JSP文件转译成Servlet源文件(以.java为扩展名),JSP引擎再将生成的Servlet源文件编译成Java类文件(以.class为扩展名);最后,Web服务器执行该Java类文件,并将结果在浏览器显示,如图1-2所示。图1-2JSP的执行流程1.1.4Web开发技术之一———JSP简介1.1Web基础知识JSP技术的特点如下。(1)(2)(3)(4)JSP分离了服务器端程序中的静态内容和动态内容。JSP提供组件(如JavaBean)、标准标签、自定义标签等可一次生成重复利用的实现方式,大大提高了程序开发效率。JSP页面在被第一次请求时进行编译,如果在后续的请求中该页面没有改动,服务器可直接调用相应的已被编译好的代码,大大提高了访问速度。JSP沿用了Java强大的应用程序编程接口(API)功能,只要服务器支持JSP,就可以运行用JSP开发的Web应用,体现了JSP的跨平台优点。1.1.4Web开发技术之一———JSP简介1.1Web基础知识1.2.1JSP运行环境搭建1.JDK进行程序开发首先要安装JDK。JDK可到Java官方网站(/java/)中进行下载,如图1-3所示,然后运行安装即可。本书建议采用JDK1.8及以上版本。图1-3Java官方网站1.2创建第一个Web项目2.Web服务器本书选择Tomcat作为Web服务器中的JSP引擎。Tomcat可到Apache

Tomcat官方网站()中进行下载,如图1-4所示,然后解压至某固定文件夹即可(也可下载相应的安装程序安装)。本书采用Apache

Tomcat9.0.63版本。图1-4ApacheTomcat官方网站1.2创建第一个Web项目1.2.1JSP运行环境搭建3.Web浏览器

浏览器是用户访问Web应用的工具,JSP开发的Web应用程序对浏览器没有特殊要求。本书采用64位Microsoft

Edge作为Web浏览器。1.2创建第一个Web项目1.2.1JSP运行环境搭建4.Web数据库JSP开发的Web应用程序通过Java数据库互连(Javadatabaseconnectivity,JDBC)驱动可访问多种数据库管理系统。在实验室学习环境下,数据存取规模不大,故本书选用MySQL数据库管理系统提供Web数据库服务。MySQL数据库管理系统可到MySQL官方网站()中进行下载,如图1-5所示。本书采用MySQL5.5.38版本。图1-5MySQL官方网站1.2创建第一个Web项目1.2.1JSP运行环境搭建EclipseIDE是一个用于JavaWeb应用开发的成熟的企业级平台。EclipseIDE可到Eclipse官方网站()中进行下载,如图1-6所示。本书采用Eclipse

IDE

for

Enterprise

Java

and

Web

Developers-2022-09版本。图1-6Eclipse官方网站1.2创建第一个Web项目1.2.2JSP集成开发环境Eclipse在Windows操作系统中,单击桌面的“开始”菜单按钮,执行“所有程序”→“Eclipse”命令,在展开项中选择“Eclipse

IDE

for

Enterprise

Java

and

Web

Developers-2022-09”选项,启动Eclipse

2022,会出现图1-7所示的Eclipse

2022主窗口。图1-7Eclipse2022主窗口1.2创建第一个Web项目1.2.2JSP集成开发环境Eclipse每次启动Eclipse时,都会提示选择工作区,选好工作区后(如果以后不打算更改,可选中下方的复选框)单击“Launch”按钮即可,如图1-8所示。图1-8选择Eclipse工作区1.2创建第一个Web项目1.2.2JSP集成开发环境Eclipse1.配置JRE运行Java程序时需要JRE的支持。可根据需要手动配置已下载的较高版本的JRE。(1)启动Eclipse2022,执行“Window”→“Preferences”命令,在弹出的“Preferences”对话框中展开左侧目录树中的“Java”选项,从中选择“Installed

JREs”选项,如图1-9所示。图1-9已安装的JRE1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(2)Eclipse

2022内嵌的JRE版本为1.8.0,如果需要更换为更高版本的JRE,可单击“Add...”按钮,在弹出的“Add

JRE”对话框中选择“Standard

VM”选项,如图1-10所示。图1-10JRE类型选择1.配置JRE1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(3)单击“Next”按钮,打开“JRE

Definition”界面,如图1-11所示。图1-11JRE定义界面1.配置JRE1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(4)单击“Directory...”按钮,在弹出的“选择文件夹”对话框中选择已安装的较高版本的JDK,单击“选择文件夹”按钮,如图1-12所示。(5)返回到添加好路径的“JRE

Definition”对话框,单击“Finish”按钮,完成JRE配置。注意:不要忘了在“Installed

JREs”选项组中选中新添加的JRE,使配置生效。图1-12选择已安装的较高版本的JDK1.配置JRE1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(1)在Eclipse2022主窗口中执行“Window”→“Preferences”命令,弹出“Preferences”对话框,展开左侧目录树中的“Server”选项,选择“Runtime

Environments”选项,如图1-13所示。图1-13添加服务器运行环境2.配置Tomcat1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(2)在右侧“Server

Runtime

Environment”界面中单击“Add...”按钮,弹出“New

ServerRuntime

Environment”对话框,展开“Apache”选项,选择“Apache

Tomcat

v9.0”选项,再选中下方的“Create

a

new

local

server”复选框,如图1-14所示。图1-14定义新服务器运行环境2.配置Tomcat1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(3)单击“Next”按钮,打开“Tomcat

Server”界面,在“Tomcat

installation

directory”文本框中输入Tomcat

9.0所在的目录位置,单击“Finish”按钮,如图1-15所示。图1-15指定Tomcat安装目录2.配置Tomcat1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(4)返回“Preferences”对话框,可以看到所添加的Tomcat

9.0服务器,单击“Apply

and

Close”按钮,结束

Tomcat

配置。在Eclipse

2022主窗口的“Package

Explorer”视图的“Servers”目录下出现了所添加的在本地的Tomcat

9.0服务器,如图1-16所示。图1-16添加的Tomcat9.0服务器2.配置Tomcat1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(5)双击“Servers”目录下的“Tomcat

v9.0Server

at

localhost-config”选项,打开Tomcat

服务器本地概览“Overview”文件,“Server

Locations”选择“Use

Tomcat

installation(takes

control

of

Tomcat

installation)”选项,修改“Deploypath”选项,在文本框中输入Tomcat服务器下webapps目录所在的路径,并保存,如图1-17所示。图1-17Tomcat服务器配置概览2.配置Tomcat1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目启动Tomcat的方式有以下两种。(1)在Eclipse

2022主窗口快捷图标栏单击“Run

Tomcat

v9.0

Server

at

localhost”图标

右侧的下拉按钮,在弹出的下拉菜单中执行“Tomcat

v9.0

Server

at

localhost”命令,启动

Tomcat,如图1-18所示。图1-18启动Tomcat的方式13.启动Tomcat1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(2)在Eclipse

2022主窗口的“Servers”目录中,执行“Tomcat

v9.0

Server

at

localhost-config”命令,右击,在弹出的快捷菜单中执行“Start”命令,启动Tomcat,如图1-19所示。图1-19启动Tomcat的方式23.启动Tomcat1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目图1-20Tomcat的启动信息3.启动Tomcat上述命令被执行后,会在控制台输出Tomcat的启动信息,如图1-20所示。1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目图1-21验证Tomcat成功安装与启动3.启动Tomcat打开浏览器,在地址栏输入“http://localhost:8080”,打开相应版本Tomcat的主页面,表示Tomcat已被成功安装并启动,如图1-21所示。1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目4.创建Web项目(1)在Eclipse2022主窗口中执行“File”→“New”→“Project...”命令,弹出“New

Project”对话框,展开“Web”选项,从中选择“DynamicWeb

Project”选项,创建一个动态Web项目,如图1-22所示。图1-22选择“DynamicWebProject”选项1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目4.创建Web项目(2)单击“Next”按钮,打开“New

Dynamic

Web

Project”界面,在“Project

name”文本框中输入项目名称“myPro”,选择下方“Target

runtime”列表项的值为“Apache

Tomcat

v9.0”,“Dynamic

web

module

version”列表项的值为“4.0”,“Configuration”列表项的值为“Default

Configuration

for

Apache

Tomcat

v9.0”,其余选项保持默认设置,创建基于Java的独立Web应用,如图1-23所示。图1-23“DynamicWebProject”界面1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目4.创建Web项目(3)单击“Next”按钮,打开“Java”界面,保持默认值,配置项目以构建Java应用,如图1-24所示。图1-24“Java”界面1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目4.创建Web项目(4)再次单击“Next”按钮,打开“WebModule”界面,选中“Generateweb.

xml

deployment

descriptor”复选框,其余保持默认值,配置Web模块设置,如图1-25所示。图1-25“WebModule”界面1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目4.创建Web项目(5)单击“Finish”按钮,此时会弹出“Open

Associated

Perspective?”对话框,提示“Open

the

Java

EE

perspective?”,可选中左下方的复选框,记住用户的决定,如图1-26所示。单击“Open

Perspective”按钮,完成Web项目创建。图1-26打开JavaEE透视图1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目5.设计Web项目的目录结构Web项目要求按特定的目录结构组织文件,当在Eclipse

2022

中创建好一个新的Web项目后,便可以在Eclipse

2022

的“Package

Explorer”视图中看到该Web项目的目录结构,它是由Eclipse

2022自动生成的。下面来了解一下Web项目目录及文件的用途。(1)Deployment

Descriptor目录:项目的部署描述符,包括上下文参数、错误页面、过滤器映射(filter

mapping)、过滤器(filter)、监听器、引用、Servlet映射、Servlet等项,以及子目录欢迎页面下各种类型的欢迎页面在web.xml文件中的配置信息。注意:在Eclipse

2022中创建Web项目,不会自动生成欢迎页面。欢迎页面需要用户自行创建。(2)JAX-WSWeb

Services目录:即Java

API

for

XMLWeb

Services,包括服务器端点接口和Web服务两个子目录。1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目(3)Java

Resources目录:包括两个子目录,分别存放项目所需的库文件(Libraries)和从src目录中分离出来以便于开发管理的项目源文件。(4)build目录:项目的默认输出文件夹,存放经自动编译后生成的Java字节码文件。(5)src目录:Java构建路径上的源文件夹,包括Web项目的顶层目录webapp。webapp由以下部分组成。①META-INF目录:系统自动生成,存放系统描述信息。②WEB-INF目录:无法被用户访问。它由以下两部分组成。·lib目录:包含Web项目所依赖的.jar或者.zip文件。·web.xml文件:Web项目的初始化配置文件,不要将其删除或随意修改。③JSP文件:Web项目中所创建的JSP文件默认存放在此目录下,也可以在此目录下创建一些文件夹,根据开发需要把不同的JSP文件放在对应的文件夹中。④静态文件:包括所有的HTML文件、CSS文件、图文声像文件等。静态文件可按功能以文件夹形式分类存放。5.设计Web项目的目录结构1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目6.编写Web项目的代(1)展开myPro项目的src目录,在其子目录webapp下创建一个文件夹。右击“webapp”目录,在弹出的快捷菜单中执行“New”→“Folder”命令,如图1-27所示。图1-27创建webapp目录下的文件夹1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目6.编写Web项目的代码(2)在弹出的“New

Folder”对话框中输入文件夹名称“ch1”,单击“Finish”按钮,如图1-28所示。图1-28输入文件夹名称1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目6.编写Web项目的代码(3)创建一个JSP文件。在创建JSP文件之前,可设置JSP文件的默认编码。在Eclipse

2022主窗口中执行“Window”→“Preferences”命令,弹出“Preferences”对话框,展开左侧目录树中的“Web”选项,选择“JSP

Files”选项,在窗口右侧“Encoding”下拉列表中选择“ISO

10646/Unicode(UTF-8)”,如图1-29所示。单击“ApplyandClose”按钮,完成JSP文件的默认编码设置。图1-29设置JSP文件的默认编码1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目6.编写Web项目的代码(4)右击“ch1”选项,在弹出的快捷菜单中执行“New”→“JSP

File”命令,创建一个新的JSP文件,如图1-30所示。图1-30创建JSP文件1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目6.编写Web项目的代码(5)在弹出的对话框中输入文件名称“NewFile.jsp”,存放在“myPro/src/main/webapp/ch1”目录下,如图1-31所示。图1-31输入JSP文件名称1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目6.编写Web项目的代码(6)单击“Next”按钮,打开“Select

JSP

Template”界面,选择一个模板作为JSP页面的初始内容,这里选择“New

JSP

File

(html5)”模板,如图1-32所示。图1-32选择JSP模板1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目6.编写Web项目的代码(7)单击“Finish”按钮,完成JSP文件的创建。NewFile.jsp文件在Eclipse

2022主窗口的编辑区同时被打开,在<body></body>标签之间输入文本“This

is

my

JSP

page.”,保存,如图1-33所示。图1-33JSP文件的编辑区1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目7.部署Web项目部署Web项目的方式有以下两种。(1)在Eclipse

2022主窗口的“PackageExplorer”视图中右击“myPro”项目,在弹出的快捷菜单中执行“RunAs”→“RunonServer”命令,如图1-34所示。图1-34部署Web项目方式11.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目7.部署Web项目在弹出的“Run

on

Server”对话框中选中“Choose

an

existing

server”选项,在“Server”选项区中展开“localhost”,选择“Tomcat

v9.0

Server

at

localhost”选项,如图1-35所示。图1-35选择在其上运行项目的服务器1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目7.部署Web项目单击“Next”按钮,打开“Add

and

Remove”界面,“Configured”文本框中出现所配置的Web项目“myPro”,如图1-36所示。图1-36向服务器添加或移除的项目资源1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目7.部署Web项目单击“Finish”按钮,如果服务器此时处于已启动状态,会弹出“Server”对话框,提示服务器可能需要重启,选中“Restart

server”选项,如图1-37所示。单击“OK”按钮关闭该对话框,完成Web项目部署。图1-37重启服务器提示1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目7.部署Web项目(2)在Eclipse2022主窗口的“Servers”目录中右击“Tomcat

v9.0

Server

at

localhost-config”选项,在弹出的快捷菜单中执行“Add

and

Remove...”命令,如图1-38所示。图1-38部署Web项目方式21.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目7.部署Web项目在弹出的“Add

and

Remove”对话框的“Available”文本框中出现待配置的Web项目“myPro”,如图1-39所示。图1-39待向服务器添加的项目资源1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目7.部署Web项目选中“myPro”选项,单击“Add”按钮,在“Configured”文本框中出现所配置的Web项目“myPro”,可选中“If

server

is

started,publish

changes

immediately”复选框,使被部署的项目能得到及时更新,如图1-40所示。单击“Finish”按钮,完成Web项目部署。注意:Web项目部署完成,启动Tomcat后才会在Tomcat的下一级目录webapps及work中出现所部署的Web项目。图1-40已完成部署的项目资源1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目8.运行Web项目打开Microsoft

Edge浏览器,在URL栏输入http://localhost:8080/myPro/ch1/NewFile.jsp,并按Enter键查看运行结果。在浏览器窗体的页面中显示“ThisismyJSPpage.”,表示Web项目“myPro”中的“NewFile.jsp”文件已经正确运行,如图1-41所示。图1-41NewFile.jsp页面注意:URL中“myPro”是网站对外发布的虚拟上下文路径,它对应的实际路径是Web应用的文件根目录,即“webapp”文件夹。URL中Web项目资源的访问路径是区分大小写的。

1.2创建第一个Web项目1.2.3在Eclipse2022下用JSP开发Web项目1.3小结Web是存储在Internet上数量巨大的文档的集合。Web应用是由一些Web网页和用来完成某些特定任务的相关资源组合在一起而形成的一个数据集合,通过服务器、客户端及网络等提供服务功能。Web应用开发包含Web前端开发和Web后端开发。采用动态网页技术开发的网站可以实现更强的交互性和智能化功能。B/S结构是C/S结构的一种改进,使得Web应用的维护和升级更为简单,用户访问范围更广,信息资源共享程度更高。JSP技术是用Java标准开发服务器端Web应用的主流技术。使用JSP进行Web应用开发需要JDK、Web服务器、JSP集成开发环境、Web浏览器及Web数据库等开发工具。在Eclipse2022下用JSP开发Web项目的步骤为:配置JRE→配置Tomcat→创建Web项目→设计Web项目的目录结构→编写Web项目的代码→部署Web项目→启动Tomcat→运行Web项目。1.4习题与上机实践一、单项选择题1.JSP文件的扩展名为(

)。A..jsp

B..java

C..js

D..class2.以下不能当作Web应用服务器使用的是(

)。A.Tomcat

B.JRun

C.Resin

D.Eclipse3.用JSP标准进行JavaWeb开发需要(

)的支持。A.Java标准版

B.Java企业版

C.Java简化版

D.Java移动版4.Web项目的初始化配置文件是(

)。A.index.jsp

B.index.html

C.web.xml

D.server.xml1.4习题与上机实践二、判断题1.有动画呈现的网页就是动态网页。

(

)2.目前,B/S构型的Web应用已经完全取代了C/S构型的Web应用。

(

)3.Web应用只有被部署到Web服务器上之后才能正确运行。

(

)4.Web项目资源的URL不区分大小写。

(

)三、实践题1.用百度搜索Web、Web应用、Web应用开发、动态网页、B/S、JSP等关键词,收集相关信息进行学习和分析。2.在Eclipse

IDE中编写一个JSP页面,输出“这是我的第一个JSP页面”1.5拓展提高1.回顾并总结在Eclipse

IDE中用JSP开发Web项目的软件安装及配置全过程,并在计算机上进行实践。2.index.jsp页面代表Web项目生成的网站主页或者称为欢迎页面。如何在浏览器中访问该页面?如何在Web项目中更改原先设置的欢迎页面?模块2JSP语法知识目标·掌握小脚本、表达式和声明的基本用法。·掌握page指令和include指令的基本用法。·掌握添加JSP注释的方法。技能目标·能够在Eclipse

IDE中编写小脚本、表达式和声明。020103·能够在Eclipse

IDE中编写page指令和include指令。·能够在Eclipse

IDE中编写并阅读JSP注释。素质目标·学习并遵从JavaWeb编程规范,端正自己的学习思想和学习态度,培养自觉自律习惯。2.1回顾和思考【例2-1】尝试编写并运行一个JSP页面输出系统的当前时间。编写example2_1.jsp页面,文件路径为/myPro/ch2/example,其代码如下。2.1回顾和思考【例2-1】运行结果如图2-1所示。图2-1【例2-1】运行结果尽管我们对这些代码还不是非常熟悉,但是可以看出JSP页面是由HTML标签描述的静态文本和JSP标记描述的动态内容穿插在一起而构成的。接下来就要对各类代码逐个分析。2.2.1page指令page指令定义JSP文件中的全局属性,设定JSP页面的相关属性和相关功能。其语法格式如下。page指令中常见的属性有language、import、contentType、pageEncoding、isErrorPage、errorPage。【例2-1】的page指令设置页面使用的脚本语言为Java,页面的文字类型和编码方式为“text/html(html文本);字符设置为GB18030”,导入java.util和java.text两个包。注意:在一个JSP页面中,page指令可以出现多次,除import以外,一般情况下每一种属性只出现一次,后面重复出现的属性设置将覆盖先前的设置。习惯上把page指令作为JSP页面的第一行,但这不是硬性规定。2.2JSP指令元素include指令是将指定位置的文件内容内嵌到当前页面。其语法格式如下。include指令只有一个属性file。include指令包含文件的路径名通常是指相对路径名,不需要端口、协议和域名。如果被包含文件与当前JSP文件处于同级目录,则“文件名”前不用指明路径;如果被包含文件处于当前JSP文件同级目录的下级目录,则需指明完整的下级目录,所有下级目录一直到被包含文件之间用“/”隔开;如果被包含文件与当前JSP文件分处于Web项目根目录下的不同级目录,则需指明被包含文件的绝对路径,以“//”开头,再加上其完整的目录路径。include指令用于静态包含其他文件,所包含的文件必须符合JSP语法,可以是HTML文件、JSP文件、文本文件等。执行被包含文件后,主JSP文件的进程将会恢复,继续执行下一行。可以将一些共享性的内容写在一个单独的文件中,然后通过include指令引用该文件,从而缓解代码重复冗余问题,并且便于代码的修改和维护。例如,在网站的很多JSP页面中都要在顶部显示同样的图片。这时可写一个文件包含该图片及其显示方式,在需要显示该图片的JSP页面中用include指令嵌入这个文件即可。2.2.2include指令2.2JSP指令元素【例2-2】修改【例2-1】,在其页面顶部增加一张图片。(1)编写一个名为“head.html”的文件,文件路径为/myPro/ch2/example,该文件包含一个名为“head.jpg”的图形文件(head.jpg文件存放在webapp目录下名为“image”的文件夹中)。head.html代码如下。2.2.2include指令2.2JSP指令元素【例2-2】修改【例2-1】,在其页面顶部增加一张图片。(2)编写一个名为“example2_2.jsp”的文件,文件路径为/myPro/ch2/example,文件中使用include指令引用了head.html文件。example2_2.jsp代码如下。2.2.2include指令2.2JSP指令元素【例2-2】运行结果如图2-2所示。图2-2【例2-2】运行结果2.2.2include指令2.2JSP指令元素小脚本是在JSP页面中嵌入的Java代码片段。其语法格式如下。在【例2-1】中,小脚本用以下两条语句生成格式化时间字符串。2.3.1小脚本2.3JSP脚本元素JSP引擎遇到表达式时,先计算表达式或变量的值,然后将计算结果以字符串形式返回并插入页面的相应位置。其语法格式如下。在【例2-1】中,通过表达式变量strCurrentTime在页面相应位置输出当前时间。2.3.2表达式声明用来定义变量和方法,作用范围为整个JSP页面。其语法格式如下。在【例2-1】中,如果需要在同一个JSP页面中的多个位置输出当前时间,首先在需要输出当前时间的位置写上小脚本代码。在构造方法SimpleDateFormat("时间格式")的参数中设置所需的时间格式,在需要输出当前时间的位置插入表达式<%=strCurrentTime%>。虽然问题被解决了,但是上述小脚本代码在整个页面多次重复出现,显得异常笨拙。这时,把小脚本改成声明即可解决这个问题。2.3.3声明2.3JSP脚本元素【例2-3】利用声明对【例2-1】进行更改。编写文件example2_3.jsp,文件路径为/myPro/ch2/example,其代码如下。2.3.3声明2.3JSP脚本元素【例2-3】运行结果如图2-3所示。2.3.3声明2.3JSP脚本元素图2-3【例2-3】运行结果JSP动作元素主要有jsp:forward、jsp:include、jsp:param、jsp:useBean、jsp:setProperty、jsp:getProperty等动作。其语法格式如下。JSP动作涉及页面之间控制权的转移。后续内容将陆续介绍以上JSP动作。2.4JSP动作元素简介HTML注释被原样发送到客户端。HTML注释在浏览器中看不到,但是可以通过“查看源代码”看到。其语法格式如下。HTML注释内如果包含JSP脚本元素,这些小脚本、表达式和声明都会被执行,且在客户端源代码中显示相应结果。2.5JSP程序中的注释2.5.1HTML注释2.5.2JSP注释JSP注释又称为隐藏注释,在客户端查看源代码也看不到。JSP引擎不会编译这些注释。其语法格式如下。脚本元素中包含Java代码,因此Java中的注释规则在小脚本和声明中同样适用。其语法格式如下。【例2-4】向【例2-3】中添加一些注释。编写文件example2_4.jsp,文件路径为/myPro/ch2/example,其代码如下。2.5JSP程序中的注释2.5.3脚本元素中的注释【例2-4】向【例2-3】中添加一些注释。2.5JSP程序中的注释2.5.3脚本元素中的注释【例2-4】在Edge浏览器中运行后,执行“更多工具”→“开发人员工具”命令,切换到“源代码”选项卡,可以看到HTML注释,但是看不到JSP注释及Java注释,如图2-4所示。2.5JSP程序中的注释2.5.3脚本元素中的注释图2-4在客户端看到的【例2-4】源代码2.6小结JSP页面由HTML静态文本、JSP指令元素、JSP脚本元素、JSP动作元素及注释等内容按相应的语法规定交织构成,以实现所需的语义逻辑。JSP指令元素主要包括page指令和include指令。JSP脚本元素包含小脚本、表达式和声明。JSP文件中的注释包含HTML注释、JSP注释和脚本元素中的注释。对于JavaWeb开发应用的初学者而言,我们需要理解“龟兔赛跑”的深刻寓意:兔子能力超强,可是迟迟不行动;乌龟水平一般,但一直在坚持行动,向明确的目标前进。经过一段时间的积淀,两种情况的结果可想而知。同学们,让我们从现在起就积极行动起来吧。2.7习题与上机实践1.推算以下JSP代码片段的运行结果,并思考一下原因。(1)代码片段1。2.7习题与上机实践1.推算以下JSP代码片段的运行结果,并思考一下原因。(2)代码片段2。(3)代码片段3。2.7习题与上机实践1.推算以下JSP代码片段的运行结果,并思考一下原因。(4)代码片段4。2.除了使用JSP声明外,还有一种简化页面代码的办法,即把重复使用的代码写在一个可共享的文件中,再用include指令把该文件嵌入当前页面。编写这个共享文件,并修改【例2-3】,使之达成相同的效果。2.7习题与上机实践3.试编写一个JSP页面,输出表达式1+2+3+…+100的和,并在语句中添加适当注释。4.试编写一个JSP页面,实时显示当前系统时间。提示:添加以下HTML代码,以实现页面自动刷新功能。refresh表示要刷新页面,1表示刷新的时间间隔是1秒,exercise2_4.jsp指要刷新的页面。2.8拓展提高1.试编写一个JSP页面,输出100以内的所有素数,并在语句中添加适当的注释。2.试编写一个JSP页面,产生一个异常,然后转到另一个页面处理该异常。提示:定义page指令中的isErrorPage属性和errorPage属性。3.试编写一个JSP页面,统计该网页的访问量。提示:使用synchronized关键字修饰声明的方法。4.试编写一个JSP页面,输入你的18位身份证号,从中解析出你的生日。程序运行结果参考图2-5。图2-5输入身份证号码的运行结果2.8拓展提高5.试编写一个JSP页面,动态加载一个文本文件、一个音频文件和一个视频文件,并实现音频文件及视频文件的播放控制。程序运行结果参考图2-6。图2-6加载文件后的运行结果模块3JSP内置对象知识目标·掌握request对象、response对象、out对象、session对象、application对象、pageContext对象和exception对象的基本用法。·了解page对象和config对象。·掌握Cookie类的基本用法。·掌握param动作、include动作和forward动作的基本用法。技能目标·能够在EclipseIDE中用request对象、response对象、out对象、session对象、application对象、pageContext对象和exception对象编写JSP页面并运行。·能够在EclipseIDE中用Cookie类编写JSP页面并运行。·能够在EclipseIDE中用param动作、include动作和forward动作编写JSP页面并运行。素质目标·熟悉Java

Web编程的学习规律,掌握先进的Java

Web编程学习理念和学习方法。在模块2中我们学习并分析了JSP页面代码的构成,学会了设计编写简单的JSP页面。本模块我们将系统地学习JSP内置对象以及部分JSP动作元素,从而使用JSP处理客户端请求,并与用户进行信息交互。【例3-1】在网页制作课程中设计一个用户登录表单示例。编写文件example3_1.jsp,文件路径为/myPro/ch3/example,其代码如下。3.1回顾和思考【例3-1】运行结果如图3-1所示。3.1回顾和思考图3-1【例3-1】运行结果回忆一下在网页制作课程中,HTML标签form的属性action是暂不赋值的,因为那时不需要对表单的内容进行处理;而在【例3-1】中,属性action被赋值为“example3_2.jsp”。这说明example3_1.jsp的处理页面为example3_2.jsp,在example3_1.jsp页面中填写的信息将由example3_2.jsp页面提取并进行相应的处理。example3_2.jsp页面该如何设计?其核心代码涉及的相关JSP内置对象需在本模块进行学习。【例3-2】实现用户信息输入。编写example3_2.jsp页面,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.1request对象【例3-2】运行结果如图3-2所示3.2JSP内置对象的种类3.2.1request对象图3-2【例3-2】运行结果本例中出现了request内置对象。request内置对象用于处理客户端的请求,包含所有来自浏览器的请求信息。在JSP页面中通过request内置对象来获取请求的相关数据。本例中出现的request对象方法voidsetCharacterEncoding(Stringcharset)指定请求的数据编码为中文,以防中文乱码;StringgetParameter(Stringname)则根据页面表单组件名称获取请求页面提交的数据。【例3-2】中的example3_2.jsp页面通过getParameter()方法获取example3_1.jsp页面表单组件text和password中用户输入的值,并用JSP表达式在页面相关位置输出。注意:【例3-1】中表单信息的发送采用了post方式。post方式将表单的内容通过http发送,在地址栏看不到表单的提交内容。使用post方式发送信息没有字符长度的限制。表单信息发送的另一种方式为get方式。get方式将表单的内容编码后,通过url发送,在地址栏能看到表单的提交内容。使用get方式发送信息有255个字符长度的限制。在【例3-2】中,通过request内置对象的getParameter方法获取的表单组件的值是单个的,如果是提供多个值的表单组件(如复选框),该怎么处理?3.2JSP内置对象的种类3.2.1request对象【例3-3】实现用户信息提交。编写表单页面example3_3.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.1request对象【例3-4】实现用户信息输出。编写example3_4.jsp页面,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.1request对象【例3-4】运行结果如图3-4所示。3.2JSP内置对象的种类3.2.1request对象图3-4【例3-4】运行结果【例3-5】实现用户登录后页面转发。通常情况下,用户登录后的页面处理流程:用户进行登录,如果用户名和密码都正确,则通过验证,进入登录成功页面;反之,则提示用户登录失败,返回用户登录页面。要实现上述功能,需要掌握利用request内置对象实现页面转发的方法。(1)编写用户登录页面example3_5_1.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.1request对象【例3-5】3.2JSP内置对象的种类3.2.1request对象【例3-5】(2)编写用户登录信息处理页面example3_5_2.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.1request对象【例3-5】(3)编写登录成功页面example3_5_3.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.1request对象【例3-5】的运行结果如图3-5和图3-6所示。3.2JSP内置对象的种类3.2.1request对象图3-5【例3-5】登录失败运行结果【例3-5】的运行结果如图3-5和图3-6所示。3.2JSP内置对象的种类3.2.1request对象图3-6【例3-5】登录成功运行结果response内置对象与request内置对象相对应,用于响应客户端请求并向客户端输出信息。【例3-5】中使用request内置对象实现了页面转发。同样可以使用response内置对象实现页面的跳转或重定向(这里不使用“转发”这个术语,而使用“跳转或重定向”,为什么?)。【例3-6】实现用户登录后页面跳转。(1)编写用户登录页面example3_6_1.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.2response对象【例3-6】实现用户登录后页面跳转。(1)编写用户登录页面example3_6_1.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.2response对象【例3-6】实现用户登录后页面跳转。(2)编写用户登录信息处理页面example3_6_2.jsp,文件路径为/myPro/ch3/example,其代码如下。继续使用example3_5_3.jsp为登录成功页面。【例3-6】运行结果可参考【例3-5】运行结果图3-5和图3-6。3.2JSP内置对象的种类3.2.2response对象【例3-6】3.2JSP内置对象的种类3.2.2response对象注意:response内置对象的sendRedirect("url")方法与request转发器的void

forward(request,response)方法的差别在于:使用sendRedirect("url")方法实现页面跳转后,客户端重新建立了链接,url地址发生了改变;使用forward(request,response)方法实现页面转发后,客户端并没有建立新的链接,url地址没有改变。后者亦可称为派遣访问。【例3-7】实现在网页中实时显示系统时间。可以利用response内置对象的voidsetHeader(Stringname,Stringvalue)方法在网页中实时显示系统时间。该方法的第一个形参为http响应报头名,第二个形参是http响应报头值。本例将使用Refresh响应报头,响应报头值设为1秒。编写文件example3_7.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.2response对象【例3-7】运行结果如图3-7所示。通过间隔1秒的页面刷新,页面实时显示了系统时间。3.2JSP内置对象的种类3.2.2response对象图3-7【例3-7】运行结果3.2JSP内置对象的种类3.2.3out对象out内置对象是JSP编程中使用最为频繁的内置对象,该对象用于向客户端输出数据。out内置对象常用的方法有void

print(String

output)、void

println(String

output)和voidwrite(String

output),这三种方法都用于向页面相应位置输出数据。3.2JSP内置对象的种类3.2.3out对象【例3-8】out内置对象应用实例。编写文件example3_8.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.3out对象【例3-8】运行结果如图3-8所示。图3-8【例3-8】运行结果3.2JSP内置对象的种类3.2.4session对象session内置对象用于存储用户会话的所有信息,以此识别不同用户。session内置对象在页面发生跳转时,能保存并跟踪用户的会话信息。session内置对象常用的方法是void

setAttribute(String

name,Objectvalue)和Object

getAttribute(String

name)。前者设定指定名称的属性及其值,并且把该属性连同它的值存储在session内置对象中;后者根据属性的名称获取其存储在session内置对象中的值。3.2JSP内置对象的种类3.2.4session对象【例3-9】使用session内置对象显示会话计数。编写文件example3_9.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.4session对象【例3-9】运行结果如图3-9所示。会话计数从1开始,选择刷新页面、新建选项卡、新建窗口等操作,会话计数增加1次。图3-9【例3-9】运行结果3.2JSP内置对象的种类3.2.5application对象服务器中的JSP引擎启动后,application内置对象就产生了。不同用户浏览网站的不同页面时,application内置对象都是同一个,即所有客户端共享此application内置对象,直至JSP引擎关闭,此application内置对象才消亡。application内置对象常用的方法是void

setAttribute(String

name,Object

value)和Object

getAttribute(Stringname)。前者设定指定名称的属性及其值,并且把该属性连同它的值存储在application内置对象中;后者根据属性的名称获取其存储在application内置对象中的值。3.2JSP内置对象的种类3.2.5application对象【例3-10】使用application内置对象显示应用程序计数。编写文件example3_10.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.5application对象【例3-10】运行结果如图3-10所示。应用程序计数从1开始,选择刷新页面、新建选项卡、新建窗口、新建会话、重新打开浏览器等操作,应用程序计数增加1次。重启Tomcat,应用程序计数则又从1开始。图3-10【例3-10】运行结果3.2JSP内置对象的种类3.2.6pageContext对象使用pageContext内置对象可以访问本页面中其他所有内置对象。pageContext内置对象的作用范围仅限于页面内。pageContext内置对象常用的方法是void

setAttribute(String

name,Object

value)和Object

getAttribute(String

name)。前者设定指定名称的属性及其值,并且把该属性连同它的值存储在pageContext内置对象中;后者根据属性的名称获取其存储在pageContext内置对象中的值。3.2JSP内置对象的种类3.2.6pageContext对象【例3-11】使用pageContext内置对象显示页面计数。编写文件example3_11.jsp,文件路径为/myPro/ch3/example,其代码如下。3.2JSP内置对象的种类3.2.6pageContext对象【例3-11】运行结果如图3-11所示。页面计数从1开始,选择刷新页面、新建选项卡、新建窗口、新建会话、重新打开浏览器等操作,页面计数始终为1。图3-11【例3-11】运行结果3.2JSP内置对象的种类3.2.7page对象page内置对象提供对页面上定义的所有对象的访问。page内置对象表示JSP页面本身。在JSP中很少使用page内置对象,一般使用page指令替代它。3.2JSP内置对象的种类3.2.8config对象config内置对象存储Servlet的一些初始信息,如读取web.xml配置信息等。与page内置对象一样,在JSP中很少使用config内置对象。3.2JSP内置对象的种类3.2.9exception对象exception对象的作用是显示异常信息,该对象只能在包含isErrorPage="true"的页面中使用。回顾模块2拓展提高的第2题,首先编写一个产生异常的JSP页面lab2_2.jsp,文件路径为/myPro/ch2/lab,其代码如下。3.2JSP内置对象的种类3.2.9exception对象此页面在执行时会发生除数为0的异常,其后代码的执行会终止,程序会转至page指令中errorPage属性所指定的当前页面的错误处理页面error.jsp。error.jsp页面的文件路径为/myPro/ch2/lab,其代码如下。该页面中page指令的isErrorPage属性值为“true”,即表示当前页面为错误处理页面,可在此页面上使用exception内置对象,以捕捉导致控制权转至错误处理页面的错误。String

getMessage()方法返回异常消息字符串。3.3CookieCookie是Web服务器暂存在客户端浏览器内(有效期短)或硬盘中(有效期长)的少量文本数据。当用户再次访问某个Web站点时,Web服务器要求客户端浏览器查找并返回先前发送的Cookie,从而达到令Web服务器快速识别用户及其请求的目的。Cookie类位于javax.servlet.http包中。可以创建Cookie类的实例,将其与request内置对象和response内置对象结合使用,以实现将Cookie信息传送到客户端或获取客户端Cookie信息等功能。3.3Cookie【例3-12】使用Cookie实现30秒内保留登录的用户名和密码功能。(1)编写用户登录页面example3_12_1.jsp,文件路径为/myPro/ch3/example,其代码如下。3.3Cookie【例3-12】使用Cookie实现30秒内保留登录的用户名和密码功能。(2)编写用户登录信息处理页面example3_12_2.jsp,文件路径为/myPro/ch3/example,其代码如下。3.3Cookie【例3-12】运行example3_12_1.jsp后输入用户名和密码,单击“提交”按钮,在example3_12_2.jsp页面显示用户登录信息,结果如图3-12和图3-13所示。图3-12【例3-12】运行结果1图3-13【例3-12】运行结果23.3Cookie【例3-12】随后关闭浏览器。30秒内再次运行example3_12_1.jsp文件,存储在Cookie中的用户名和密码则会在相应表单组件中显示,如图3-14所示。再次单击“提交”按钮,在example3_12_2.jsp页面再次显示用户登录信息,运行结果可参考图3-13。图3-13【例3-12】运行结果33.4JSP动作元素3.4.1jsp:param动作jsp:param动作的语法格式如下。如果起始标记和结束标记之间没有内容,则上述语法格式可简化如下。3.4JSP动作元素3.4.2jsp:include动作jsp:include动作用于将其他HTML文件或JSP文件合并到当前页面文件。jsp:include动作的语法格式如下。其中,page属性的值规定了所嵌入文件的相对路径,flush属性的作用是在嵌入其他响应前清空存储在缓冲区中的数据,一般设置为true。如果起始标记和结束标记之间没有参数内容,则上述语法格式可简化如下。3.4JSP动作元素3.4.2jsp:include动作【例3-13】在页面中嵌入example2_3.jsp页面。编写文件example3_13.jsp,文件路径为/myPro/ch3/example,其代码如下。【例3-13】运行结果可参考【例2-3】的图2-3。再看一个带参数的include动作的例子。因为嵌入的是example2_3.jsp页面,所以Page属性的值为example2_3.jsp所处的绝对路径。3.4JSP动作元素3.4.2jsp:include动作【例3-14】在页面中嵌入example3_2.jsp页面。编写文件example3_14.jsp,文件路径为/myPro/ch3/example,其代码如下。【例3-14】运行结果可参考【例3-2】的图3-2。3.4JSP动作元素3.4.3jsp:forward动作jsp:forward动作用于将用户的请求重定向到另一个HTML页面、JSP页面或Servlet。jsp:forward动作的语法格式如下。其中,page属性指定目标页面的网址。如果起始标记和结束标记之间没有参数内容,则上述语法格式可简化如下。3.4JSP动作元素3.4.3jsp:forward动作【例3-15】用jsp:forward动作改写【例3-5】中example3_5.jsp页面的相应代码,以达到相似的运行效果。编写文件example3_15.jsp,文件路径为/myPro/ch3/example,其代码如下。【例3-1】中example3_1.jsp页面的处理页面更改为example3_15.jsp。运行example3_1.jsp文件,输入相关数据验证。【例3-15】运行结果可参考【例3-5】的图3-5和图3-6。与【例3-5】类似,用jsp:forward动作实现页面跳转后,客户端并没有建立新的链接,URL没有改变,仍保留为http://localhost:8080/myPro/ch3/example/example3_15.jsp。3.5小结本模块我们学习了9个JSP内置对象:request、response、out、session、application、pageContext、page、config和exception及其常用的方法;还学习了Cookie的使用及jsp:param、jsp:include和jsp:forward动作的使用。利用以上JSP开发技术可以着手处理客户端请求,从而与用户进行信息交流。随着编写代码工作量的增加,有3种学习JavaWeb编程的方式值得我们关注:第1种是积极思考并动手实践下发的学习任务,待参考答案公布后,与之对照,找出自身差距甚至参考答案的不足之处;第2种是等待参考答案公布后,将其输入计算机进行验证性学习,做一个合格的打字员;第3种是等待参考答案公布后,听一遍解释结束。“学而不思则罔,思而不学则殆”,我们应该选择哪一种方式?3.6习题与上机实践1.编写图3-15所示的表单页面,页面信息提交后的输出结果如图3-16所示。图3-15表单页面图3-16输出页面3.6习题与上机实践2.在【例3-7】中,通过response内置对象的setHeader方法设置每隔1秒的页面刷新,实时显示系统时间。对【例3-7】做一些改动,实现页面5秒后转至。3.分析以下JSP页面代码,推算并验证运行结果。思考一下为什么会有这样的结果。(1)页面代码片段1如下。3.6习题与上机实践3.分析以下JSP页面代码,推算并验证运行结果。思考一下为什么会有这样的结果。exercise3_3_1.jsp代码如下。exercise3_3_2.jsp代码如下。3.6习题与上机实践3.分析以下JSP页面代码,推算并验证运行结果。思考一下为什么会有这样的结果。(2)页面代码片段2如下。3.6习题与上机实践4.修改模块2拓展提高的第4题,在图3-17所示的数据录入页面,输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论