web开发(二)Tomcat&Http、及IDEA创建JavaWeb项目部署Tomcat

第一章 Web开发简述

什么是Web

在这里插入图片描述

什么是JavaWeb开发

在这里插入图片描述

软件架构

  • CS结构的软件

    • C/S架构:Client/Server 客户端/服务器。要求客户端电脑安装一个客户端程序。
    • 常见应用:QQ,迅雷,360,旺旺 等
      • 优点:
        • 用户体验好,效果炫
        • 对信息安全的控制较强
        • 应用服务器运行数据负荷较轻,部分计算功能在客户端完成。
      • 缺点:
        • 占用硬盘空间
        • 维护麻烦
        • 安装使用依赖其他条件
  • BS结构的软件

    • B/S架构:Browser/Server 浏览器/服务器。
    • 常见应用:网银系统,淘宝,京东 12306 等
      • 优点:
        • 维护和升级简单,无缝升级。
        • 不用必须安装程序,操作系统内置了浏览器。
      • 缺点:
        • 动画效果受浏览器限制
        • 对信息安装控制较差。例如:网银就需要使用U盾,在浏览器端加密。
        • 应用服务器运行数据负荷较重。大部分计算都在服务器端,增加服务器压力。使用Ajax可以改善部分用户体验。

WEB通信

WEB采用B/S通信模式,通过超文本传送协议(HTTP, Hypertext transport protocol)进行通信。通过浏览器地址栏编写URL,向服务器发送一个请求,服务器端根据请求进行相应的处理,处理完成之后,会向浏览器作出一个响应,及将服务器端资源发送给浏览器。
在这里插入图片描述

WEB服务器

  • 服务器:
    • 硬件:其实就是一台电脑(这台电脑配置要求很高)。
    • 软件:需要在这台电脑上安装web服务器的软件。

常见的Web服务器

J2EE 企业级开发Java规范(13个)。标准规范包括:servlet、jsp、jdbc、xml、jta、javamail等。在java中规范就是接口。J2EE又称为JavaEE。
WEB服务器对JavaEE规范部分或全部支持(实现),也就是WEB服务器实现部分或全部接口。

常见的WEB服务器:

  • Tomcat:Apache组织提供的一个开源的免费的web服务器。满足EE的Servlet和JSP的规范。
  • WebSphere :IBM公司开发的一个收费的大型web服务器。满足了EE开发的所有规范。
  • WebLogic:BEA公司开发的一个收费的大型web服务器。满足了EE开发的所有规范。
  • IIS:应用在.NET平台上。
  • Apache :应用在PHP平台上。

在这里插入图片描述

Web开发中的资源

静态资源:指web页面中供人们浏览的数据始终是不变。比如:HTML、CSS、JS、图片、多媒体。
动态资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。比如:JSP/Servlet、ASP、PHP

URL 请求路径

URL (Uniform Resource Locator) ,统一资源定位符是对互联网上资源位置的一种表示,互联网上的每个文件都有一个唯一的URL。

  • 完整格式如下
协议://域名:端口号/资源位置?参数=值
http://www.jd.com:8080/index.html?name=123&password=12345
http://124.200.55.1:8080

* 协议,http、https、ftp等
* 域名,域名或IP地址,都可以访问WEB资源
* 端口号,程序必须使用端口号,才可以让另一个计算机访问。http协议的默认端:80
* 资源位置,用于描述WEB资源再服务器上的位置。
* 参数=值,浏览器和服务器交互传递的数据

第二章 HTTP

2.1 Http简介

什么是Http协议

HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。用于定义WEB浏览器与WEB服务器之间交换数据的过程。

Http协议的作用及特点

HTTP协议的作用

  • HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。

HTTP协议的特点

  • 基于请求/响应模型的协议。
    • 请求和响应必须成对;
    • 先有请求后有响应。
  • 简单快捷
    • 因为发送请求的时候只需要发送请求方式和请求路径即可
  • HTTP协议默认的端口:80
    • 例如:http://www.baidu.com:80

Http协议的版本

  • HTTP/1.0,发送请求,创建一次连接,获得一个web资源,连接断开。
  • HTTP/1.1,发送请求,创建一次连接,获得多个web资源,连接断开。

Http协议的组成

HTTP请求协议、HTTP响应协议。

  • HTTP请求包括:请求、请求、请求
  • HTTP响应包括:响应、响应、响应

2.2 Http协议入门

准备工作

  • 创建页面,编写“form.html”,并提供两个表单,分别设置表单的提交方式为:get和post。将表单提交位置设置成#,表示提交到当前表单。
<form action="#" method="get">
    用户名:<input type="text" name="username" value="jack"/> <br/>
    密码:<input type="text" name="password" value="1234"/> <br/>
    <input type="submit" value="get提交"/>
</form>

<form action="#" method="post">
    用户名:<input type="text" name="username" value="jack"/> <br/>
    密码:<input type="text" name="password" value="1234"/> <br/>
    <input type="submit" value="post提交"/>
</form>

3.2.1 Http请求详解

HTTP请求格式:请求行、请求头、请求体。

如下图,我们提供两种请求方式抓包结果:(Chrome浏览器)

  • GET/POST请求抓包数据:
    在这里插入图片描述

请求行

例如:POST /bj-ee/day13-http-tomcat/web/01-http/form.html HTTP/1.1
请求行必须在HTTP请求格式的第一行。
请求行格式:请求方式 资源路径 协议/版本
	请求方式:协议规定7种,常用两种:GET和POST
		GET请求:
			将请求参数追加在URL后面,不安全。例如:form.html?username=jack&username=1234
			URL长度限制GET请求方式的数据大小。
			没有请求体
		POST请求
			请求参数显示请求体处,较安全。
			请求数据大小没有显示。
		只有表单设置为method=”post”才是post请求.其他的都是get请求。
			常见GET请求:地址栏直接访问、<a href=””>、<img src=””> 等
			

请求头

例如:Host: localhost:8080
请求头从第二行开始,到第一个空行结束。及请求头和请求体之间存在一个空行。
请求头通常以键值对(key:value)方式传递数据。
	key为规范规定的固定值
	value 为key对应的取值,通常是一个值,可能是一组。	
常见请求头 描述
Referer 浏览器通知服务器,当前请求来自何处。如果是直接访问,则不会有这个头。常用于:防盗链
Cookie 与会话有关技术,用于存放浏览器缓存的cookie信息。
User-Agent 浏览器通知服务器,客户端浏览器与操作系统相关信息

请求体

通常情况下,只有post请求方式才会使用到请求体,请求体中都是用户表单提交的数据,每一项数据都使用键值对key=value,多组值使用&相连。
	例如;username=jack&password=1234

3.2.2 Http响应详解

在这里插入图片描述

HTTP响应格式:响应行、响应头、响应体

响应行

例如:HTTP/1.1 200 OK
格式:协议/版本 状态码  状态码描述
	状态码:服务器与浏览器用于确定状态的固定数字号码
		200 :请求成功。
		302 :请求重定向。
		304 :请求资源没有改变,访问本地缓存。
		404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
		500 :服务器内部错误。通常程序抛异常。		

响应头

指导性信息,服务器指导浏览器,数据格式k:v
响应头也是用的键值对key:value
服务器通过响应头来控制浏览器的行为,不同的头浏览器操作不同。
常见请求头 描述
Location 指定响应的路径,需要与状态码302配合使用,完成跳转。
Content-Disposition 文件下载的时候使用。通过浏览器以下载方式解析正文
Set-Cookie 与会话相关技术。服务器向浏览器写入cookie
Refresh 定时刷新

响应体

响应体,就是服务器发送给浏览器的正文。页面正文部分,浏览器要显示内容,和响应头有空行分割

第三章 Tomcat服务器

3.1 什么是Tomcat

Tomcat软件,是一个免费,开方源代码的WEB服务器(接收请求,发送响应)

Apache软件基金会和Sun公司联合开发

适合小型软件系统,并发访问量小的场景.

  • Tomcat软件,支持JavaEE中的规范(接口)

    JavaEE技术平台共有13个规范

    ​ 支持两门规范,Servlet和jsp规范

3.2 Tomcat安装

步骤一:下载一个tomcat服务器软件.

https://tomcat.apache.org/download-80.cgi

步骤二:解压下载好的zip文件.

将解压后的文件copy到一个没有中文和空格的路径下即可.
例如:D:\develop\apache-tomcat-8.5.28

3.3 Tomcat启动和访问

  • 开启Tomcat
    • 解压缩目录bin,命令startup.bat
    • 访问Tomcat,访问地址 URL 协议名称://服务器IP地址:端口号
    • http://localhost:8080 可以看到一只猫,Tomcat是正常使用
    • 看到页面在那里 Tomcat目录下/webapps/ROOT/index.jsp
    • 访问: webapps/http/form.html页面,地址怎么写 http://localhost:8080/http/form.html
  • 停止Tomcat
    • 解压缩目录bin,命令shutdown.bat

3.4 Tomcat常见问题

  • JAVA_HOME环境变量问题,闪退
  • 端口被占用,Tomcat默认端口是8080
  • conf/server.xml可以修改Tomcat端口号

3.5 Tomcat目录结构

在这里插入图片描述

bin:脚本目录
	启动脚本:startup.bat
	停止脚本:shutdown.bat
conf:配置文件目录 (config /configuration)
	核心配置文件:server.xml
	用户权限配置文件:tomcat-users.xml
	所有web项目默认配置文件:web.xml
lib:依赖库,tomcat和web项目中需要使用的jar包
logs:日志文件.
	localhost_access_log.*.txt tomcat记录用户访问信息,星*表示时间。
	例如:localhost_access_log.2018-07-07.txt
temp:临时文件目录,文件夹内内容可以任意删除。
webapps:默认情况下发布WEB项目所存放的目录。
work:tomcat处理JSP的工作目录。

3.6 web项目目录结构(重要)

在JavaEE规范中,WEB项目存在一定的目录结构,具体结构如下:

项目名称  (webapps 文件夹)
            |-----静态资源.HTML,CSS,JS
            |-----WEB-INF   (不能直接通过浏览器进行访问)
                       |----web.xml  当前WEB项目的核心配置,Servlet2.5必须有,3.0可省略。
                       |----lib		 当前WEB项目所需要的第三方的jar的存放位置。
                       |----classes  Java源码编译后生成class文件存放的位置。

37 Tomcat的项目发布方式

  • 直接将项目复制到tomcat/webapps下
  1. 将项目复制到tomcat/webapps中

在这里插入图片描述
2. 启动服务器
在这里插入图片描述
3. 访问项目

http://localhost:8080/aaa/index.html

在这里插入图片描述

3.8 IDEA 中集成 Tomcat

idea中配置Tomcat

  • 步骤1:首先打开idea开发工具,然后点击Run菜单,选择Edit Configurations...菜单,打开Run/Debug Configurations对话框
    在这里插入图片描述
  • 步骤2:添加服务器,点击对话框左上角的加号,选择Tomcat Server,再选择Local子菜单,在这里插入图片描述在这里插入图片描述
    找到右上角Configure… 关联到Tomcat安装目录再按图操作
    在这里插入图片描述
    VM options填写内容(这是为其分配运行内存)-Xms128m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=256m
    在这里插入图片描述
    备注:
    VM options填写内容:-Xms128m -Xmx256m -XX:PermSize=128m -XX:MaxPermSize=256m
    -vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了
    -Xms128m JVM初始分配的堆内存
    -Xmx256m JVM最大允许分配的堆内存,按需分配
    -XX:PermSize=128M JVM初始分配的非堆内存
    -XX:MaxPermSize=256M JVM最大允许分配的非堆内存,按需分配

idea中发布web项目

IDEA创建JavaWeb项目(非常重要)

在这里插入图片描述
在这里插入图片描述

发布web项目

  • 步骤1:配置应用访问路径

    首先打开idea开发工具,然后点击Run菜单,选择Edit Configurations...菜单,打开Run/Debug Configurations对话框

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤2 启动Tomcat
在这里插入图片描述
步骤3:访问项目
http://localhost:8080/day01

存在的问题,在webapps中并没有我们部署的项目

IDEA启动Tomcat服务器,临时修改Tomcat配置文件,告诉Tomcat服务器,我的项目在out目录

创建好的WEB项目,直接发布到Tomcat的webapps下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IDEA中的项目和Tomcat部署后的项目(重要)

在这里插入图片描述

WEB资源

WEB应用服务器中,放进去的任何内容,都成为WEB资源,包含html,css,js,图片,视频…

猜你喜欢

转载自blog.csdn.net/qq_45083975/article/details/92009196
今日推荐