全部章节   >>>>


本章目录

1.1 Web 应用程序

1.1.1 Web 应用程序概述

1.1.2 Web 应用程序的工作原理

1.1.3 实践练习

1.2 HTTP协议

1.2.1 URL简介

1.2.2 HTTP 协议概述

1.2.3 HTTP 处理流程

1.2.4 HTTP请求方式

1.2.5 实践练习

1.3 Tomcat 简介

1.3.1 Web 容器概述

1.3.2 Tomcat 概述

1.3.3 Tomcat 下载

1.3.4 Tomcat 安装

1.3.5 Tomcat 目录

1.3.6 修改 Tomcat 端口

1.3.7 启动tomcat

1.3.7 实践练习

1.4 使用 Eclipse 开发 JavaWeb 应用程序

1.4.1 创建项目

1.4.2 创建页面文件

1.4.3 配置 Web 服务器

1.4.4 发布项目到 Tomcat 并运行

1.4.4 访问Tomcat中项目资源

1.4.5 实践练习

总结:


1.1 Web 应用程序

1.1.1 Web 应用程序概述

随着Internet和网络应用程序的发展,其开发体系结构主要分为两种

基于客户端 / 服务器端的 C/S 体系结构

基于浏览器 / 服务器的 B/S 体系结构

B/S结构优势:

B/S 体系结构相对于 C/S 体系结构而言具有更多的优势,目前大量的应用程序开始转移到应用 B/S 体系结构,其主要优势在于以下几点

  • 安装维护升级方便,仅部署服务器
  • 对客户机配置要求不高,满足服务器配置即可
  • 访问范围更广

1.1.2 Web 应用程序的工作原理

Web 应用程序大致可以分为两种,即静态网站动态网站

  • 静态网站采用Html语言编写,放置于 Web 服务器上,用户通过浏览器直接请求解析显示
  • 缺点:内容固定不变,改变显示必须修改html代码

随着网络技术的发展,基于 Internet 的 Web 应用程序也变得越来越复杂,更多的内容需根据用户的请求动态生成页面信息,即动态网站

动态网站指在Html静态页面中嵌入Java、C#、Php等脚本代码,将编写后的页面放入Web服务器,由服务器编译转换为最终Html返回给客户端

1.1.3 实践练习

1.2 HTTP协议

1.2.1 URL简介

URL 是 UniformResource Locator 的缩写,表示统一资源定位器,它是专为标识网络上的资源位置而设定的一种编码地址方式,即俗称:网址

URL组成:应用层协议、主机 IP 地址或域名、协议端口号、资源路径 / 文件名 应用层协议 :// 主机 IP 地址或域名、协议端口号 / 资源所在路径 / 文件名 http://www.oracle.com:80/hk/index.htm

浏览网页时输入的域名最终会转换为IP地址

由于 80 端口是 HTTP 协议默认的端口号,所以在访问网络地址时可以省略该端口号

1.2.2 HTTP 协议概述

HTTP:超级文本传输协议(Hypertext Transfer Protocol)是关于如何在网络上传输超级文本及HTML 文档的协议(规范)

  • Web 浏览器按照 HTTP 协议的规定向 Web 服务器发送请求信息,Web 服务器接收到浏览器的请求后,再按照 HTTP 协议的要求将结果发送给 Web 浏览器解析显示

1.2.3 HTTP 处理流程

一次完整的请求响应过程分为以下几个步骤:

  • 客户端发送 HTTP 请求和 Web 服务器建立连接
  • 服务器端接受客户端的请求,生成 HTTP 响应并发送给客户端
  • 服务器端关闭连接。客户端浏览器接收服务器端的响应,浏览器显示页面

服务器端关闭连接后,不再存储连接信息,所以 HTTP 协议被称为无状态协议。

网络抓包的形式,查看发送请求时的网络:

1、打开浏览器(Chrome),右键--》检查

2、调试台调整到网络NetWork观察请求信息

1.2.4 HTTP请求方式

HTTP 请求可以使用多种请求方式,常用方式包括以下两种:

  • GET 请求方式(超链接、表单默认都是get请求)
  • POST 请求方式

GET和POST请求区别如下:

  • GET只能传递文本,POST可以传递任意数据(包括音频、视频等,上传文件必须POST)
  • GET 请求方式提交的数据会暴露在地址栏,不安全,POST更加安全
  • GET 请求方式提交的数据不能超过 2KB,POST 请求方式无此限制
  • GET请求效率高于POST

1.2.5 实践练习

1.3 Tomcat 简介

1.3.1 Web 容器概述

 不同的动态网页需要不同的Web服务器支持才能正常工作,其职责如下:

  • Web服务器负责接收用户的请求
  • 将动态网页进行编译,转换为可执行文件
  • 将生成的静态html响应给客户端

1.3.2 Tomcat 概述

  • JavaWeb应用有多种Web服务器选择,其中Tomcat是众多主流服务器之一
  • Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目。Tomcat 技术先进、性能稳定,而且免费,已经成为目前学习开发 Java Web 应用的首选

1.3.3 Tomcat 下载

使用Tomcat首先需要下载安装:

打开浏览器,输入http://tomcat.apache.org进入官网

在左侧Download找到对应版本下载

安装Tomcat之前,需要先安装JDK且配置环境变量,否则无法安装Tomcat

1.3.4 Tomcat 安装

确保 JDK 安装配置成功后,启动 Tomcat 的安装程序进行安装:

  • 选择 JRE 的安装路径(未安装JDK该步骤不能通过)
  • 安装过程中需要配置服务器的端口号和密码
  • 设置 Tomcat 端口号

Tomcat默认使用8080端口号

1.3.5 Tomcat 目录

Tomcat安装成功后,需要对其目录有一定了解,如下

Tomcat各目录说明如下:

目录名

作用

bin

所有的可执行命令,启动和关闭服务器的命令就在此文件夹中

conf

服务器的配置文件夹,其中保存了多个配置信息

lib

Tomcat 服务器所需要的各个库文件

logs

保存服务器的系统日志

webapps

Web 应用程序存放的目录,Web 项目保存到

此目录中即可发布

work

存放由各种 JSP 生成的 servlet 文件

temp

保存临时文件

1.3.6 修改 Tomcat 端口

Tomcat 默认的服务端口为 8080,但该端口不是固定端口,可以在安装过程中或者安装后进行配置修改

  • 打开 Tomcat 安装目录下的 conf 文件下的 server.xml 文件
  • 在 server.xml 文件中找到<Connector port=“8080” ……>
  • 将port=“8080”修改为 port=“9090”,即可将 Tomcat 的默认端口设置为 9090
  • 双击 bin 目录内的“startup.bat”文件,重新启动 Tomcat 服务器

为避免错误,一般都采用默认8080 尽量避免使用主流软件端口号,如3306、1433等

1.3.7 启动tomcat

Tomcat需要启动后才能正常访问项目,其启动方式如下

  1. 打开bin目录,找到startup.exe启动
  2. 命令行输入service.msc,在服务列表中启动tomcat服务

不能多次启动,启动之前确认tomcat是否是停止状态

1.3.7 实践练习

1.4 使用 Eclipse 开发 JavaWeb 应用程序

1.4.1 创建项目

使用Eclipse创建Web项目:

  • 启动 Eclipse,并选择一个工作空间,进入到 Eclipse 的开发界面
  • 单击菜单栏“File”菜单项,菜单中选择“New”,在弹出的菜单中选择“DynamicWeb Project(动态 Web 项目)”命令

输入项目名称“FirstProject”,在 Dynamic webmodule version 下拉列表框中选择“3.1”

单击“Next(下一步)”按钮,打开配置 Java 应用程序的对话框,采用默认设置

单击“Next(下一步)”按钮,打开“Web Module(配置 web 模块设定)”对话框选中“Generateweb.xml deployment descriptor(生成部署描述文件 web.xml)”,其他采用系统默认

1.4.2 创建页面文件

在创建的Web项目中,在WebContent目录下可以创建html、jsp等文件,如下:

  • 右键项目中WebContent节点,新建,Html文件
  • 输入文件名称 打开文件,编辑代码

1.4.3 配置 Web 服务器

在发布和运行项目前,需要先配置 Web 服务器,如果已经配置好 Web 服务器,就不需要再重新配置。配置Web 服务器的具体步骤如下:

  • 打开eclipse下方工作台中的servers配置服务器
  • 选择对应的Tomcat服务器版本,设置安装路径
  • 点击完成即可

1.4.4 发布项目到 Tomcat 并运行

Java Web 项目创建完成后,即可将项目发布到 Tomcat 并运行该项目

  • 项目资源管理器中右键项目
  • Run As运行于选择Run On Server
  • 控制台查看Tomcat服务启动情况

1.4.4 访问Tomcat中项目资源

项目部署至Tomcat后,启动Tomcat服务器,可以通过浏览器访问:

  • http://localhost:8080/FirstProject/firstPage.html
  • 访问Web应用的URL地址为:http://host:port/project/page

host代表主机名或IP地址,localhost代表本机,或127.0.0.1

port为软件端口号,如未修改则为8080

project是部署的项目名称

page是访问的资源页面名称

1.4.5 实践练习

总结:

  • 网络应用程序主要分为B/S结构和C/S结构,其中B/S结构的应用直接通过浏览器访问,后期维护、升级更为方便
  • Http是互联网上网页传输的基本协议,它是一种无状态的协议
  • Http的请求方式主要有Get和Post,其中Get方式安全性、数据传输格式、传输大小都不如Post
  • Tomcat是JavaWeb应用开发中最为常见的Web服务器之一,其默认端口是8080

Java Web程序设计笔记 • 【第1章 Web应用程序】的更多相关文章

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

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

  2. Java高级程序设计笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java高级程序设计作业目录(作业笔记) 第1章 Java高级程序设计笔记 • [第1章 IO流] 第2章 Java高级程序设 ...

  3. java JDK8 学习笔记——第16章 整合数据库

    第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...

  4. Java Web程序设计笔记 • 【第7章 会话跟踪技术】

    全部章节   >>>> 本章目录 7.1 会话跟踪技术概述 7.1.1 为什么需要会话跟踪 7.1.2 会话的状态和跟踪 7.1.3 会话跟踪技术 7.1.4 会话跟踪工作流程 ...

  5. Head First Servlets & JSP 学习笔记 第十一章 —— Web应用部署

    jar:java archive(java归档) war:web archive(web归档) war文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式(它实际上就是一个jar文件).建立 ...

  6. Java开发工程师(Web方向) - 01.Java Web开发入门 - 第1章.Web应用开发概述

    第1章--Web应用开发概述 Web应用开发概述 浏览器-服务器架构(BS-architecture) browser/ App    ---- request ---->    server ...

  7. Java语言程序设计(基础篇)第一章

    第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...

  8. Java面向对象程序设计笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java面向对象作业目录(作业笔记) 第1章 Java面向对象笔记 • [第1章 面向对象] 第2章 Java面向对象笔记 • ...

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

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

随机推荐

  1. 【swift】长按事件绑定,平移滑动事件+坐标获取

    为何把这两个事件归类在一起? 我后来才明白,iOS有一个手势事件(UiGestureRecognizer) 事件里有7个功能,不过我只试过前两个,也就是标题的这两个(长按.平移滑动) UILongPr ...

  2. 【STM8】SPI通讯

    这篇内容有点长,如果有人想透过我的博客学习STM8的SPI,那是我的荣幸 首先我要先说大纲,这样大家心里比较有底,可以把精力都用在SPI理解上 [SPI初步介绍]:介绍SPI如何接线.名称解释.通讯注 ...

  3. RTTI (Run-time type information) in C++

    In C++, RTTI (Run-time type information) is available only for the classes which have at least one v ...

  4. Data Calendar

    1.Date对象 Date类在java.util包中.使用Date类的无参数构造方法创建的对象可以获取本地当前时间. 用Date的构造方法Date(long time)创建的Date对象表 示相对19 ...

  5. CentOS6+nginx+uwsgi+mysql+django1.6.6+python2.6.6

    1.配置网关 #vi /etc/sysconfig/network NETWORKING=yes(表示系统是否使用网络,一般设置为yes.如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) ...

  6. Vue 标签中的ref属性和refs

    ref: ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素:如果用在子组件上,引用就指向组件. ...

  7. Python @函数装饰器及用法(超级详细)

    函数装饰器的工作原理是怎样的呢?假设用 funA() 函数装饰器去装饰 funB() 函数,如下所示: #funA 作为装饰器函数 def funA(fn): #... fn() # 执行传入的fn参 ...

  8. TCP协议三步挥手与四步挥手

    关于TCP协议 TCP(Transmission Control Protocol, 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议.与之对应的是UDP(User Datagram ...

  9. 使用jdbc,查询数据库数据,并将其封装为对象输出

    package cn.itcast.jdbc;import cn.itcast.domain.User;import java.sql.*;import java.util.ArrayList;imp ...

  10. Mybatis-Plus默认主键策略导致自动生成19位长度主键id的坑

    原创/朱季谦 某天检查一位离职同事写的代码,发现其对应表虽然设置了AUTO_INCREMENT自增,但页面新增功能生成的数据主键id很诡异,长度达到了19位,且不是从1开始递增的-- 我检查了一下,发 ...