Java Web程序设计笔记 • 【第1章 Web应用程序】
全部章节 >>>>
本章目录
1.4 使用 Eclipse 开发 JavaWeb 应用程序
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需要启动后才能正常访问项目,其启动方式如下
- 打开bin目录,找到startup.exe启动
- 命令行输入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应用程序】的更多相关文章
- Java Web程序设计笔记 • 【目录】
章节 内容 实践练习 Java Web程序设计作业目录(作业笔记) 第1章 Java Web程序设计笔记 • [第1章 Web应用程序] 第2章 Java Web程序设计笔记 • [第2章 JSP基础 ...
- Java高级程序设计笔记 • 【目录】
持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java高级程序设计作业目录(作业笔记) 第1章 Java高级程序设计笔记 • [第1章 IO流] 第2章 Java高级程序设 ...
- java JDK8 学习笔记——第16章 整合数据库
第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...
- Java Web程序设计笔记 • 【第7章 会话跟踪技术】
全部章节 >>>> 本章目录 7.1 会话跟踪技术概述 7.1.1 为什么需要会话跟踪 7.1.2 会话的状态和跟踪 7.1.3 会话跟踪技术 7.1.4 会话跟踪工作流程 ...
- Head First Servlets & JSP 学习笔记 第十一章 —— Web应用部署
jar:java archive(java归档) war:web archive(web归档) war文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式(它实际上就是一个jar文件).建立 ...
- Java开发工程师(Web方向) - 01.Java Web开发入门 - 第1章.Web应用开发概述
第1章--Web应用开发概述 Web应用开发概述 浏览器-服务器架构(BS-architecture) browser/ App ---- request ----> server ...
- Java语言程序设计(基础篇)第一章
第一章 计算机.程序和Java概述 1.1 引言 什么是程序设计呢? 程序设计就是创建(或者开发)软件,软件也称为程序. 1.2 什么是计算机 计算机是存储和处理数据的电子设备,计算机包括硬件(har ...
- Java面向对象程序设计笔记 • 【目录】
持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java面向对象作业目录(作业笔记) 第1章 Java面向对象笔记 • [第1章 面向对象] 第2章 Java面向对象笔记 • ...
- Java Web程序设计笔记 • 【第9章 EL表达式】
全部章节 >>>> 本章目录 9.1 EL 表达式基础 9.1.1 EL 表达式简介 9.1.2 EL 表达式的定义 9.1.3 使用 EL 访问变量 9.1.4 使用 E ...
随机推荐
- android studio 使用 aidl(三)权限验证
这篇文章是基于android studio 使用 aidl (一) 和 android studio 使用 aidl(二) 异步回调 下面的代码都是简化的,如果看不懂请先移步上2篇文章 网上的东西太坑 ...
- [学习总结]5、Android的ViewGroup中事件的传递机制(二)
下面是第一篇的连接 Android的ViewGroup中事件的传递机制(一) 关于onInterceptTouchEvent和onTouchEvent的详细解释. 1 public class Mai ...
- oracle to_char处理日期
select to_char(sysdate,'d') from dual;--本周第几天 select to_char(sysdate,'dd') from dual;--本月第几天 select ...
- Vue 标签中的ref属性和refs
ref: ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素:如果用在子组件上,引用就指向组件. ...
- 【Linux】【Services】任务计划、周期性任务执行
Linux任务计划.周期性任务执行 未来的某时间点执行一次某任务:at, batch 周期性运行某任务:crontab 执行结果:会通过邮件发送给用户 ...
- Unity实现“笼中窥梦”的渲染效果
效果 思路 5个面用5个RenderTexture来接受5个摄像机分别获取的小场景图像: RenderTexture就当成屏幕来理解,MainCamera是把画面显示在屏幕上,屏幕就是最大的Rende ...
- time_formatter(uaf)
拿到题目先例行检查 然后进入主函数查看程序流程, 进入函数 这些字符串对我们选择1的输入进行了限制 在输入里面,可以看到strdup这个关键性的函数 调用了malloc这个函数 在选择四里面,可以看到 ...
- 「Python实用秘技03」导出项目的极简环境依赖
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第3期 ...
- .NET 云原生架构师训练营(建立系统观)--学习笔记
目录 目标 ASP .NET Core 什么是系统 什么是系统思维 系统分解 什么是复杂系统 作业 目标 通过整体定义去认识系统 通过分解去简化对系统的认识 ASP .NET Core ASP .NE ...
- LuoguP7094 [yLOI2020] 金陵谣 题解
Content 有 \(t\) 组询问,每组询问给定四个整数 \(a,b,c,d\),请求出满足 \[\dfrac{a}{x}+\dfrac{b}{c}=\dfrac{d}{y} \] 的正整数对 \ ...