全部章节 >>>>
本章目录
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 ...
随机推荐
-
jQuery-1.9.1源码分析系列(十一) DOM操作续——克隆节点
什么情况下使用到克隆节点? 我们知道在对DOM操作过程中如果直接使用节点会出现节点随操作而变动的情况.比如对节点使用.after/.before/.append等方法后,节点被添加到新的地方,原来的位 ...
-
Python3利用BeautifulSoup4批量抓取站点图片的代码
边学边写代码,记录下来.这段代码用于批量抓取主站下所有子网页中符合特定尺寸要求的的图片文件,支持中断. 原理很简单:使用BeautifulSoup4分析网页,获取网页<a/>和<im ...
-
HDU 3487 Play with Chain(Splay)
题目大意 给一个数列,初始时为 1, 2, 3, ..., n,现在有两种共 m 个操作 操作1. CUT a b c 表示把数列中第 a 个到第 b 个从原数列中删除得到一个新数列,并将它添加到新数 ...
-
Citrix 服务器虚拟化之五 Xenserver配置存储
Citrix 服务器虚拟化之五 Xenserver配置存储 XenServer中定义了一个容器称为存储库(SR)来描述一个特定的存储目标存储虚拟磁盘映像(VDI). VDI是一个的磁盘抽象,包含一个 ...
-
iis6配置使用页面Gzip压缩提速
iis7默认就启用了Gzip压缩,节约带宽,流量,能够很明显的提升访问速度,但是iis6则没有,本文就是介绍如何通过配置开启iis6的Gzip压缩 一. HTTP压缩概述 HTTP压缩是在Web服务器 ...
-
swiper去除滑动设置
有时候使用swiper并不想让它滑动,怎么设置呢? 1.noSwiping设为true 2.在slide上(或其他元素)增加类名'swiper-no-swiping',使该slide无法拖动. 案例: ...
-
Android应用开发中Intent的作用及使用方法
Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意 ...
-
[AC自动机][HDU3065]
//====================== // HDU 2222 // 求目标串中出现了几个模式串 //输入 //1 //5 //she //he //say //shr //her //ya ...
-
sqlilabs 1-4
near '1' --+ ' LIMIT 0,1 ?id=999' union select 1,database(),5 --+ 当前数据库?id=999' union select 1,user( ...
-
云栖社区用机器人爬CSDN的文章?
这个云栖社区的文章https://yq.aliyun.com/ziliao/539322 这篇文章是我13年写的,不知道咋插入图片,见谅. 下面是我的文件记录 分享XAML图标的网站 原创 2013年 ...