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
本文来自博客园,作者:明金同学,转载请注明原文链接:https://www.cnblogs.com/vmuu/p/15663350.html
公众号:【明金同学】