2021-03-08

第1章

动态网页开发基础

    本章工作任务

        中Tomcat 的使用
        中使用MyEclipse创建项目并部暑运行中
        使用JSP相关元素实现页面内容输出

    本章技能目标

        中明确B/S架构开发的基本概念
        中掌握安装与配置Tomcat服务器的步骤中掌握Tomcat的发布和运行方法
        中使用MyEclipse创建和运行项目
        中掌握Web程序调试与排错
        中掌握JSP页面元素的内容

1.1.1 为什么需要动态网页

        我们已经学习了如何使用HTML开发静态网页,并已经成功开发了一些效果理想的静态网站。那么。为什么还要学习动态网页开发技术呢?

        每当上网时,看到那些商业网站,大家都希望自己制作的静态网站也能够像它们一样"动” 起来实现用户注册、用户登录、有奖投票、购物车、在线调查、搜索等功能,这样才能真正地与用户实现互动。静态网页的内容是固定的,不能提供个性化和定制化的服务,因此, 动态网页技术逐渐发展通得到广泛的应用。

1.1.2 什么是动态网页

        动态网页是指在服务器端运行的使用程序语言设计的交互式网页,它们会根据某种条件的变化.返回不同的网页内容。例如,当登录各种论坛时,作为普通用户,只能看到帖子的浏览页面,但是,当论坛管理员登录时,同样的页面就会呈现“删除”修改” 等多种操作提示。 另外,在不同的时间登录论坛,观察到的帖子列表也是不同的。

        动态网页需要使用服务器端脚本语言。例如,将要学习的JSP技术,其使用的是Java脚本语言。当用户访问动态网页时,服务器端执行脚本语言并根据处理结果动态生成页面内容。

        在日常生活中,我们经常会用到很多使用动态网页技术开发的网站,如众所周知的百度、淘宝网等,在百度的搜索栏中输入关键字“av技术并进行搜案,页面就会自动排列出所有有关"Java技术”的网址链接.
是并

那么动态网页的优势是什么?

        交互性: 即网页会根据用户的要求和选择而动态改变和显示内容。例如,访问者在网页中填写表单信息并提交,服务器经过处理将信息自动存储到后台数据库中.并转到相应的提示页面。因此,采用动态网页技术的网站可以实现与用户的交互功能,如用户注册、用户登录、信息查询、在线调查等。

        自动更新:即无须改变页面代码,便会自动生成新的页面内容,可以大大节省工作量。 例如,在论坛中成功发布信息后,就可以在页面上看到新发布的帖子列表。

        随机性:即当不同的时间、不同的人访问同一网址时会产生不同的页面效果。例如,普通用户和管理员登录论坛时所看到的页面内容是不同的。

问答➢问题:动态网页是静态网页的替代品吗?

        解答:静态网页和动态网页各有特点,网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少。如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之,一般要采用动态网页技术来实现。

        静态网页是网站建设的基础,静态网页和动态网页之间也并不矛盾,为了使网站能适应搜索引擎检索的需要,即使采用动态网站技术,也可以将网页内容转化为静态网页发布,在同一个网站上,动态网页内容和静态网页内容同时存在也很常见。

1.1.3 如何实现动态网页

        如前文所述,动态网页需要使用服务器端的脚本语言,如使用Java脚本语言的JSP技术。本课程就是以JSP技术为核心,结合其他相关技术,讲解如何开发Web应用系统。本课程将采用案例贯穿、循序渐进的方式引领大家逐步掌握动态网页的开发技术。

1.1.4为什么学习B/S架构技术

        在讲解B/S架构前,先来了解C/S (Client/Server, 客户端/服务器端)架构的系统,其分为客户端和服务器两层,用户在本地安装客户端软件,通过网络与服务器端相互通信。最典型的应用就是腾讯的Q0聊天软件.用户在客户机安装QQ软件,实现与服务器之间的通信。

        如果要让其他客户机运行自己开发的应用软件,就需要在这些客户机上分别安装该应用软件。而且,每次对应用软件做微小的改动,都需要对客户端软件升级。

        假如一个中心的局域网内共有500个学生机这些计算机上都要安装基于C/S架构的某个软件,那么系统维护人员要分别在这500个学生机上安装软件而当这套软件进行了哪怕很微小的改动(如增加某个功能)时,系统维护人员都要在这500个学生机上分别更新软件,这样系统维护的工作量将会很大。

        那么,有没有这样一种软件架构,当应用系统部署之后,既可以让更广范围内的用户访问应用系统,又可以更方便地进行升级和维护?答案就是B/S架构

1.1.5 什么是B/S架构

        随着Internet的普及与大规模应用,受制于C/S架构的应用程序存在很多缺点,B/S (Browse/Server.浏览器/服务器)架构也随之应运而生,基于B/S架构的Web应用程序由于不再受安装客户端的限制,访问极其简便,因此越来越多地被企业采用。在此需要特别说明的是,B/S架构的出现不是对C/S架构的否定,而是对C/S架构的一种变化或者改进。

        在B/S架构下,应用系统完全放在应用服务器上,并通过应用服务器同数据库服务器进行通信,系统界面通过浏览器展现。

        对于用户而言,只需要能连接Internet,安装完浏览器就可以访问系统了。对于程序开发维护人员来说,无论用户身处何地,所要做的就是对服务器的代码进行更新和维护。

问答➢问题: B/S架构是 C/S架构的替代品吗?

        解答: B/S架构是随着Intermet技术的兴起,对C/S架构的一种改进,而非CIS的替代品。B/S架构相比C/S架构,有如下优势。

        维护和升级方式简单。CIS架构的每一个客户端都必须安装和配置客户端软件。如果系统发生变化,则需要对每一个客户端都进行升级维护。在B/S架构中,软件应用的业务逻辑完全在服务器端实现,所有的客户端只是浏览器,不需要做任何的维护。因此系统维护人员只需要关注服务器的软件升级即可。客户端只要重新访问页面,使用的就已经是最新版本的软件了。

        同时,B/S 架构相对于C/S架构,也存在一定的劣势。B/S 的界面没有C/S友好,难以做出像Office这样界面丰富的软件,在速度和安全性上需要花费巨大的设计成本,而且由于B/S架构的交互是请求/响应的模式,一旦数据信息发生变化,必须通过刷新页面才能看到更新的数据信息。

        C/S一般面向相对固定的用户群,一般高度机密的信息系统采用C/S架构,比较适用于企业内部的信息管理系统、金融证券管理系统等。B/S适用于公开信息发布,对信息的保密性要求较低,如企业网站、售后服务系统、物流信息的查询系统等。

1.1.6 B/S架构的工作原理

        了解了什么是B/S架构,再深入了解B/S架构的相关技术特点,即基于B/S架构的应用程序是如何工作的。

        在B/S架构中,浏览器端与服务器端采用请求/响应模式进行交互

下面介绍B/S架构运行的每个环节。

        (1)浏览器接受用户的输入:例如,用户在浏览器窗口中输入用户名、密码,单击“登录”按钮。

        (2)浏览器向服务器端发送请求:浏览器把请求消息(包含用户名、密码等信息)发送到服务器端,等待服务器端的响应。

        (3)数据处理:服务器端通常使用服务器端脚本语言(如Java等)进行数据库访问、查询数据,并输出查询结果。

        (4)发送响应:服务器向浏览器发送响应消息(一 般是动态生成的HTML页面).并由浏览器解释HTML文件,呈现结果界面。

        了解了B/S架构及B/S架构应用的工作流程,那么,B/S应用开发完成后该如何通过浏览器访问?下面将学习如何使用URL访问动态网页。

1.1.7 什么是URL

        URL (nifom Rsouce Lomtar)的意思是统一资源定位符, 是用于完整地描述nene上网页和其他资源的地址的一种标识方法。简单地说UL就是常说的“网址htp:/// baid. com).URL 是为了使客户端程序查询不同的信息责源时, 能够有统一访问方法而定义的一种地址标识方法。在Inceme上所有资源都有一个独一无二的URL地址。我们可以通过在浏览器地址栏中输入URL实现对资源的访问。

1.1.8 URL的组成

        URL地址是来“告诉浏览器要访问的资源地址。浏览器如何解读这个地址?下面介绍UFL地址的组成。

        首先介绍本课程中会经常使用的一个"HTTP://localhost:8080/news/index.jsp"通过这个URL地址.可以分析得出它的组成结构。

        (1)协议:这里使用的是HTTP (HypeText Tanster Protoco)协议.即超文本传输协议,该协议支持简单的请求和响应会话。当用户发送一个HTTP请求时,服务器就会用一个HTTP响应做出应答对于Web服务器,最常用的是HTTP协议。

        (2)服务器城名或P:在讲解B/S架构时,介绍了Web应用的运行是基于Web服务器的,目需要访问Web服务器的服务,由服务器收集用户的请求,经过处理再返回响应到浏览器端。locahost就代表着服务器的地址,而在开发阶段通常都以开发机作为服务器.因此服务器的地址就可以使用locahost 进行标识,当然,也可以使用127.0.0.1或者用实际的IP地址替代。

        (3) 端口号:端口是服务器用于内外部通信的通道当从外部访问服务器时就需要通过指定的通道来访问。不同的协议有着各自不同的默认开发端口,开发人员可以根据实际需要进行修改。提示在投入正常运行的商业应用中, 为了避免记忆复杂的IP地址,通常使用城名来代替。例如,当前百度的IP地址是210822但常使用它的城名baidu.com

        (4)路径:包含两层含义。以nw/index ip为例news代表的是Web应用对外发布时对应的上下文路径,即Wo应用的根目录,而ndr i代表具体的资源,存放在该网站的某个路径下。通过上述分析,可以得出最常用的UPL的组成部分如下,

        第一部分:使用的传输协议,如最常用的HTP 协议(目前www中应用最广的协议。

        第二部分。主机P地址(有时包含端口号默认端口号是801指请求的服务善的户地址这个地址是唯一的,也可以使用城名来代替IP地址发送请求。

        第三部分路径(包含请求的资源)由零成多个广隔开的字符串表示,一般用来表示服务器上的一个目录或文件地址等, 而请求的资源指请求内容的名字,可以是一个 HIM页面也可以是一个图像等服务器能提供的资源。

1.2部署简单的Web应用

1.2.1 Tomcat 服务器

        Tomcat是-一个免费的开源的Web容器,它是Apache基金会的Jakarta 项目中的一一个核心项目。Tomcat作为JSP的容器,是在Sun公司(现被Oracle收购)的JSWDK (Java Server Web DevelopmentKit)基础上发展起来的一一个JSP标准实现随着Web应用的发展,Tomcat 被越来越多地应用于商业用途。

        说明: Web容器是一种服务程序,为相关技术(如JSP)提供运行支持。Web容器在服务器上运行时会监听特定端口,为从客户端发出的针对该端口的请求提供相应的处理服务。

1.2.2 Tomcat 的获取与安装

1. Tomcat的获取

        可以直接从Apache官方网站上(http://tomcat . apache . org/)获取Tomcat的最新版本,进行免费下载。Tomcat提供了安装版本和解压缩版本的文件,可以根据需要进行下载。

        安装Tomcat前必须确保在系统中已经正确安装了Java 运行环境,然后安装Tomcat。

2. Tomcat的安装

        Tomcat的安装比较简单,操作步骤清晰。需要注意的是,解压缩版本在安装完毕后还要设置CATALINA HOME环境变量,设置的方法与设置Java环境变量的步骤类似。

        (1)添加环境变量,名称为CATALINA HOME。

        (2)设置值为Tomcat的安装目录。

1.2.3 Tomcat的目录结构

        Tomcat安装完毕后,其安装目录下存在若干个子目录,包括bin. conf. lib. logs. temp. webapps.work,这些子目录分别用于存放不同作用的文件。
在这里插入图片描述

1.2.4 Tomcat 的启动与停止

        Tomcat安装成功后就可以运行Toncat服务器了,安装版本与解压缩版本的Tomcat启动和停止的方式也不同,以本课程使用的Tomcat 7.0为例分别进行介绍。

1. Tomcat安装版本的启动与停止

        Tomcat安装版本的启动与停止有以下两种方法。

        (1)通过服务实现启动或停止Tomcat服务。

        通过执行控制面板” 一管理工具” ”服务” 命令,在“服务”窗口中右击 "Apache Tomcat7.0"图标,选择“启动”或“停止”选项。

        (2)通过Tomcat菜单中的Monitor Tomcat 工具启动或停止Tomcat服务。

        通过执行”所有程序” 一"Apache Tomcat 7.0”一"Monitor Tomcat"二General"命令,单击"Start~ 或“Stop” 按钮,如图1.6所示。

2. Tomcat 解压缩版本的启动与停止

        进入Tomcat在本地安装目录下的子目录bin,运行” startup bat启动Tomcat,运行shutdown. bat关闭Tomcat

        Tomcat启动是否成功,可以通过访问浏览器的方式进行检测。在浏览器中输入"http://localhost:8080/”进行测试,一旦Tomcat启动成功,用户将会在浏览器中看到Tomcat的欢迎页面

1.2.5 Tomcat端口号的配置

        通过前面知识的学习,了解了通过端口号可以访问应用程序,一-旦这个端口被占用,将无法再启动Tomcat服务,此时只需要对Tomcat服务器的配置文件进行修改,就可以实现端口号的变更。具体的操作步骤如下。

        (1)在Tomcat目录结构下找到其子目录conf。

        (2)在conf目录中打开server. xml文件。

        (3)在打开的文件中,找到节点,然后修改端口号。《交的之(4)保存设置。

        server . xml文件的代码片段如示例1所示。

示例1

//修改前的默认端口设置:

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

//修改后的端口设置:

<Connector port="6060" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

1.2.6 Web 应用的目录结构

        我们已经成功搭建了Tomca 服务器环境,在这个环境的基础上。将陆续讲解如何创建和发布Web应用。

        Java的Web应用是由多种类型的文件构成的,这其中包括我们所编写的Java类、JSP 页面、各种静态资源,以及发布的描述文件。这些文件在Web应用目录的存放都是有一定限制和规定的,表1-2中列出了Web应用目录结构的内容,并进行了相应的说明。

在这里插入图片描述

1.2.7 创建、部署和发布项目

        了解了动态网页的相关知识,大家都希望能够开始编写自己的Web应用程序。下面就通过发布一个简单的HTML页面带领大家实现一个简单的Web应用部署和发布的全过程。

        按照正常的项目开发程序,在进行编码前首先要确定目录结构,确定各类资源文件的存放位置,然后是编码阶段。这样做的目的是方便日后的代码开发和维护:具体步骤如下。

        (1)在Tomcat目录的webapps子目录下创建应用文件目录。

        Tomcat目录结构中的webapps目录用于进行Web项目的发布,在webapps目录中创建Web项目的具体步骤如下。

        ①找到Tomcat的安装目录,打开webapps子目录。向台话

        ②在webapps目录下创建一个子目录,命名为news。

        ③在news目录下,按照Web应用的目录结构分别创建对应的子目录,此时/WEB-INF/classes和/WEB- -INF/lib两个目录可以为空。
        ④创建一个web. xml文件,添加到/WEB-INF目录下,暂不进行任何配置。
        (2)编写Web应用的代码。

        制作一一个HTML页面,将其发布在Tomcat 中,通过浏览器进行访问。在news目录下完成一个简单的HTML页面制作,代码如示例2所示。

示例2

<html>

	<head>
		<title>第一个Web应用</title>
	</head>
	
	<body>
		<h1>这是我的第一个Web应用!</h1>
	</body>
	
</html>

        代码编写完毕后,将文件保存为index .html.

        (3)启动Tomcat服务,打开浏览器并输入http://localhost:8080/news/ index html" 进行访问,

1.2.8配置起始访问页 面

        如果希望用户在打开浏览器访问应用根路径(http://localhost 8080/news)时自动进入首页面(如index html)而不必输入完整页面地址,方便用户访问,这时就需要在web . xml文件中进行相应的配置,修改web. xml文件设置起始访问页面如示例3所示。

示例3

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0"

xmlns- "http://java. sun. com/xml/ns/javaee"

xmIns:xsi= "http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java. sun. com/ xml/ns/javdeehttp://java .sun . com/ xm/ns/javaee/web-app _3 0.xsd"><display-name></display-name>

<welcome-file-list>

<welcme-file>index. html</welcom-fi1le>

<!--可以设置多个欢迎页面一. >

</welcome-file-list>

</web-app>

1.3 JSP简介

        由前文内容已知,静态网页的显示内容是保持不变的,静态网页既不能提供个性化和定制化的服务,又不利于系统的扩展。而使用动态网页,不仅可以动态地输出网页内容、同用户进行交互,而且可以对网页内容进行在线更新。在B/S. 架构中,浏览器端与服务器端采用请求/响应模式进行交互。实现动态网页的关键在于运行在应用服务器端的服务器端脚本语言,可以根据客户端的不同请求生成相应的HTML页面,然后应用服务器再把这个HTML页面返回给客户端的浏览器作为响应。JSP 是由Sun公司倡导、许多公司共同参与,一同建立起来的一种动态网页技术标准。它在动态网页开发中有着强大而特殊的功能,并具有跨平台性、易维护性、易管理性等优点。

        实际上JSP是指在HTML中嵌入Java脚本语言,当用户通过浏览器请求访问Web应用时,使用JSP容器对请求的JSP进行处理和运行,然后将生成的页面返回客户端浏览器进行显示,工作过程如图所示。
在这里插入图片描述

说明: JSP容器是Web容器或应用服务器的一部分, 用于对JSP页面的运行提供支持,这里使用的Tomcat服务器就属于JSP容器的一种。

1.4 JSP页面组成

        JSP是通过在HTML中嵌入Java脚本语言来响应页面动态请求的,除了HTML标记和Java代码JSP中还可以包含其他些元素, 如果把它们细分,则JSP页面由静态内容、指令.表达式,小脚本,声明标准动作、注释等元素构成。使用JSP实现动态网页开发,要熟悉JSP页面中包含什么元素不同元素具备什么功能等。

        下面通过示例4展示一些比较常用的JSP页面元素。

示例4

<%@ page language-"java" import="java.util.*,java.text.*"

contentType-"text/html; charset-UTF-8" %>

<html>

	<head>
	
		<title>输出当前日期</tltle>
	
	</head>
	
	<!--这是HTMIL注释(客户端可以看到源代码) -->

	<%--这是JSP注释(客户端无法看到源代码) --%>
	
	<body>
	
	你好,今天是
	
	//使用预定格式将日期转换为字符申
	<%
	SimpleDateFormat formater = new SimpleDateFormat("yyyy年MM月dd日");
	String stCurrentTime = formater.format(new Date();
	%>
	<%= strCurrentTime %>
	
	<%! string declare= "this 1s declaratlon";%>
	
	<%= declare %>
	
	</body>

</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值