目录

JavaWeb基础一TomcatMaven

JavaWeb基础一(Tomcat、Maven)

前言

web开发

web开发:Web开发是指在万维网或私有网络上创建和维护网站的工作。它包括网页设计、网页编程、数据库管理等多方面的技术。Web开发可以分为前端开发和后端开发,前端主要关注用户界面和用户体验,而后端则处理服务器、应用程序和数据库之间的交互。

静态web:

  • html、css。提供给所有人看的数据始终不会发生改变。

动态web:

  • 淘宝,几乎是所有的网站都是动态的
  • 提供给所有人看的数据始终会发生改变。每个人在不同的时间,不同的地点看到的信息各不相同。
  • 技术栈:Servlet/JSP,ASP,PHP

在Java中,动态web资源开发的技术统称未javaWeb

web应用程序

web应用程序:可以提供浏览器访问的程序

  • a.html,b.html…多个web资源,这些资源可以被外界访问,对外界提供服务
  • 可以访问的任何一个页面或者资源,都存在于这个世界上的某一台计算机上。
  • URL
  • 统一的web资源会被放在同一个文件夹下,web应用程序->Tomcat(服务器)
  • 一个web应用由多部分组成(静态web,动态web)
    • html、css、js
    • jsp,servlet
    • Java程序
    • jar包
    • 配置文件(Properties)

web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理;

静态web

以htm、html等为网页后缀,如果服务器上存在,我们可以直接读取。

https://i-blog.csdnimg.cn/direct/6b99edc4205c41fbbdda4626da873fd1.png

缺点:

  • Web页面无法动态更新,所有用户看到的都是同一个页面
    • 轮播图,点击特效:伪动态
    • JavaScript实际开发比较多
    • VBScript
  • 无法于数据库交互(数据无法持久化,用户无法交互)

动态web

页面会动态展示,“web的页面展示效果因人而异”

https://i-blog.csdnimg.cn/direct/add8dcdcafe44db18086f7234331ee76.png

缺点:

  • 服务器的动态web资源出现了错误,我们需要出现编写后台程序,重新发布
    • 停机维护

优点:

  • Web页面可以动态更新,所有用户看到的都不是同一个页面
  • 可以与数据库交互(数据持久化,用户能够交互,注册,商品信息 ,用户信息)

https://i-blog.csdnimg.cn/direct/04b2c9facbb14f66ab2aa91d630f9629.png

web服务器

技术

ASP:

  • 微软的,国内最早流行的
  • 在HTML中嵌入了VB脚本,ASP+COM;
  • 在ASP开发中,一个页面几乎都有几千行业务代码,页面混乱
  • 维护成本高
  • 在ASP中常用C#

JSP/Servlet

  • sun公司主推的B/S架构,B/S是浏览器和服务器。C/S是客户端和服务器
  • 基于Java语言(大部分开源的组件都是用Java写)
  • 可以承载三高问题带来的影响(高可用,高并发,高性能)
  • 语法像ASP

PHP

  • PHP开发速度很块,功能强大,跨平台,代码简单(适合中小型网站)
  • 无法承载大访问量的情况(局限性)

….

web服务器

服务器是一种被动的操作,用来处理用户的一些请求,给用户一些响应信息。

IIS

  • 属于微软,windows中自带

Tomcat

Tomcat是 软件基金会(Apache Software Foundation)的 项目中的一个核心项目,最新的Servlet 和 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 。

Tomcat 服务器是一个免费的 的 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,是最佳选择。

当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为11.0.0。

Tomcat

安装Tomcat:

https://i-blog.csdnimg.cn/direct/6163aa5ef3224159852ab8999912239f.png

下载成功后,解压文件到D盘中的合适文件夹中。

https://i-blog.csdnimg.cn/direct/f69d2194eb1e4d7a930369d62bcfe628.png

https://i-blog.csdnimg.cn/direct/9c167f02b87e448db9ab3ffbb63abf13.png

文件夹信息:

https://i-blog.csdnimg.cn/direct/6cfbdc0faedf4ef2ad3a7965a3b6a7fb.png

启动Tomcat。

https://i-blog.csdnimg.cn/direct/0a39b6ed4dea41f287ae1119bf604e45.png

https://i-blog.csdnimg.cn/direct/dae46801fd854c928c596b449a1f097f.png

浏览器内输入:http://localhost:8080

https://i-blog.csdnimg.cn/direct/e407334a4d1146b481e4176f8878772e.png

配置文件

https://i-blog.csdnimg.cn/direct/0017008a43fa447c99a14a94591ff2ce.png

https://i-blog.csdnimg.cn/direct/626e9a6ffa1a43e18f4995702f18d150.png

https://i-blog.csdnimg.cn/direct/c585bcb63fa34f249baef4f5d71ff15c.png

注:

  • Tomcat默认端口号:8080,默认主机名位localhost->127.0.0.1        默认网站应用存放位置为webapps
  • MySQL:3306
  • HTTP:80
  • HTTPS:443

网站是如何访问的:

  • 在输入域名后
  • 检测本机的C:\Windows\System32\drivers\etc/hosts配置文件下有没有域名映射
    • 有,直接返回对应的ip地址,这个地址中,有需要访问的web程序,可以直接访问
    • 没有,需要到DNS服务器上查找

web网站发布

将网站放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了。

结构:

webapps:Tomcat服务器的web目录

-root

Serenity:网站的目录名

WEB-INF

classs:Java程序

lib:web应用所依赖的jar包

web.xml:网站的配置文件

index.html 默认的首页

static:静态资源文件夹

css

style.css

js

img

在webapps文件夹下,复制manager文件,重命名:

https://i-blog.csdnimg.cn/direct/c22b4150b9e548d28d667680daab50a5.png

https://i-blog.csdnimg.cn/direct/6f1e3086deeb439ab431cfeef1a6950c.png

该处使用的文件来自

启动Tomcat服务器,在浏览器输入路径,即可测试成功。

https://i-blog.csdnimg.cn/direct/4c7488323b99418cb46af0ee687b63c6.png

HTTP

HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。

  • 文本:html、字符串
  • 超文本:图片、音乐、视频、定位、地图
  • 默认端口号:80

http1.0

  • HTTP/1.0:客户端可以与web服务器连接,只能获得一个web资源,就会断开连接。

http2.0

  • HTTP1.1:客户端可以与web服务器连接,可以获得多个web资源。

Http请求

客户端-发送请求(Request)-服务器

访问 百度 时抓取包:

https://i-blog.csdnimg.cn/direct/d77b922aeab542e49ffe42f4d55a0eb0.png

请求行

  • 请求行中的请求方式:GET
  • 请求方式: Get、Post 、HEAD、DELETE、PUT、TRACT
    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效。
    • post:请求能够携带的参数无限制,大小有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。

消息头

accept:告诉浏览器,它所支持的数据类型

accept-encoding:支持哪种编码格式        GBK  UTF-8        GB2312      IS08859-1

accept-language:告诉浏览器,它的语言环境

cache-control:缓存控制

connection:告诉浏览器,请求完成是断开还是保持连接

HOST:主机…..

Http响应

服务器-响应-客户端

百度响应:

https://i-blog.csdnimg.cn/direct/4e8a880fdbca4bdd8638b656c4999aee.png

1.响应体

accept:告诉浏览器,它所支持的数据类型

accept-encoding:支持哪种编码格式        GBK  UTF-8        GB2312      IS08859-1

accept-language:告诉浏览器,它的语言环境

cache-control:缓存控制

connection:告诉浏览器,请求完成是断开还是保持连接

HOST:主机…..

Refresh:告诉客户端,多久刷新一次

Location:让网页重新定位

2.响应状态码

200:请求响应成功

3**:请求重定向

  • 重定向:你重新到我给你的新位置去

4xx:找不到资源 404

  • 资源不存在

5xx:服务器代码错误 500 502(网关错误)

Maven

在javaweb开发中,需要使用大量的jar包,我们手动去导入。

使用工具自动帮助我们导入和配置这个jar包。

Maven项目架构管理工具

目前用来是为了方便导入jar包。

Maven核心思想: 约定大于配置

  • 有约束,不要违反

Maven会规定好该如何去编写我们的Java代码

下载Maven:

https://i-blog.csdnimg.cn/direct/c528882cad8a45088961ca8cc087cbd1.png

下载后解压文件夹

配置环境:

在系统变量中:

  • M2_HOME:maven目录下的bin目录
  • MAVEN_HOME:maven的目录
  • 在系统的path中配置:%MAVEN_HOME%\bin

https://i-blog.csdnimg.cn/direct/709f1f3a68d64aeb9be6931410bcb1e7.png

https://i-blog.csdnimg.cn/direct/e17035dd0c784dd986e538d71c05c79c.png

测试连接:

https://i-blog.csdnimg.cn/direct/408c0222a174435687c785f8aa69d6f0.png

配置阿里云镜像:

找到配置文件 conf下的settings 文件。可用以下代码也可直接在官网查询:

aliyunmaven

*

阿里云公共仓库

https://i-blog.csdnimg.cn/direct/e01861639d564369a247157718cd0b4e.png

配置本地仓库:localRepository

找到配置文件conf下的settings文件。

https://i-blog.csdnimg.cn/direct/82be77e7f143448c9dd7b18d0cd3a8c4.png

在idea中使用Maven

所有操作在完成后点击next。

https://i-blog.csdnimg.cn/direct/89fee42f9d7c48e2b8572fc39f7a1bcb.png

https://i-blog.csdnimg.cn/direct/9394058f193042e392e31a8efab04655.png

https://i-blog.csdnimg.cn/direct/91101c6c62db4e48a3addd8716908b0f.png

https://i-blog.csdnimg.cn/direct/bfec724f8c28430883da1881ca2b0bc4.png

创建项目后,等待几秒后,点击Enable Auto-Import(自动导入包)。

https://i-blog.csdnimg.cn/direct/df71d7c865f24056ac877f732ef46c33.png

https://i-blog.csdnimg.cn/direct/b6a2d204e58f4e889af589e2a283bde2.png

项目创建后,在自己设置的本地仓库多了许多文件。

https://i-blog.csdnimg.cn/direct/4dfc6d1fd6f2430b9387a25701f3bcef.png

在idea中设置maven

https://i-blog.csdnimg.cn/direct/3432b9df7ec745e088b96fffd4c30d7f.png

https://i-blog.csdnimg.cn/direct/c0a15bd3f2a74b739a6685034b895cec.png

创建一个普通的maven项目

https://i-blog.csdnimg.cn/direct/cc9b43b5f0d54418aa2e5db3e9136c5f.png

https://i-blog.csdnimg.cn/direct/8ce21172dde84421a99634c70b33ea2a.png

创建成功后:

https://i-blog.csdnimg.cn/direct/d2645bebca304f59b475ef301dfd1dd7.png

所以在使用模板创建项目的目录下可以增加java与resources文件。

https://i-blog.csdnimg.cn/direct/e590516883744b0da04132f55209d735.png

https://i-blog.csdnimg.cn/direct/d796a2e8ab494310bd17acd7e3ee7c39.png

https://i-blog.csdnimg.cn/direct/a5d49996696e4eadb7ba5100ce819dc3.png

https://i-blog.csdnimg.cn/direct/6168344b3ca44c8b93e6c41102d674cb.png

在idea中配置Tomcat

https://i-blog.csdnimg.cn/direct/b6efcb4bf77645a1bf2e95c6970c4ad7.png

https://i-blog.csdnimg.cn/direct/61149039040345cf80faf2207de569e6.png

https://i-blog.csdnimg.cn/direct/061b7fb6903f4026bc9840fdc0492473.png

https://i-blog.csdnimg.cn/direct/7dc80f6b426544ad931f4ed5d58d76d3.png

https://i-blog.csdnimg.cn/direct/fd6ec1327a2a44f692c0882fe05c6ef7.png

我们访问一个网络,需要指定一个文件夹名字。

https://i-blog.csdnimg.cn/direct/0ca890eec118410780cfbcf28ca6b71a.png

https://i-blog.csdnimg.cn/direct/fa7606a8dc5c4097b4351d377faefb3d.png

https://i-blog.csdnimg.cn/direct/8fb417d796e342c39415fd924aa470fe.png

https://i-blog.csdnimg.cn/direct/f66b53dec56840ebab81c129ec5e43b6.png

https://i-blog.csdnimg.cn/direct/53df8892590c42dfac3a254dc535c86a.png

pom文件

pom.xml是maven的核心配置文件。

https://i-blog.csdnimg.cn/direct/a74a9e276d4149a5921ac945b8bfbf54.png

https://i-blog.csdnimg.cn/direct/d11a441403e44694893a7acffc3a2da1.png