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等为网页后缀,如果服务器上存在,我们可以直接读取。

缺点:

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

动态web

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

缺点:

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

优点:

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

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

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

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

Tomcat

安装Tomcat:Apache Tomcat® - Welcome!

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

文件夹信息:

启动Tomcat。

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

配置文件

注:

  • 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文件,重命名:

该处使用的文件来自 60+ Free HTML Website Templates - Responsive & Mobile Ready

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

HTTP

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

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

http1.0

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

http2.0

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

Http请求

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

访问百度时抓取包:

请求行

  • 请求行中的请求方式: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响应

服务器-响应-客户端

百度响应:

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:Welcome to Apache Maven -- Maven

下载后解压文件夹

配置环境:

在系统变量中:

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

测试连接:

配置阿里云镜像:

找到配置文件conf下的settings 文件。可用以下代码也可直接在官网查询:maven镜像_maven下载地址_maven安装教程-阿里巴巴开源镜像站

<mirror>

<id>aliyunmaven</id>

<mirrorOf>*</mirrorOf>

<name>阿里云公共仓库</name>

<url>https://maven.aliyun.com/repository/public\</url>

</mirror>

配置本地仓库:localRepository

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

在idea中使用Maven

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

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

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

在idea中设置maven

创建一个普通的maven项目

创建成功后:

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

在idea中配置Tomcat

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

pom文件

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

相关推荐
豆角焖肉4 小时前
Maven进阶与搭建私服
java·maven
飞雪金灵1 天前
mac电脑 Maven下载安装和配置环境变量
macos·maven·maven下载安装·mac电脑环境
Java面试题总结2 天前
mybatis插件
java·tomcat·mybatis
左左右右左右摇晃2 天前
手写Tomcat原理整理
java·开发语言·笔记·tomcat
.Hypocritical.2 天前
Maven笔记——2
java·笔记·maven
遨游DATA3 天前
Maven dependencyManagement 已声明却仍缺 Jar:如何验证最终运行包
java·spring boot·maven·故障排查·依赖管理
kali-Myon3 天前
深入 MySQL 内核:从临时哈希表分配机制详解 Floor 报错注入核心原理
数据库·sql·mysql·安全·web
钛态5 天前
前端安全防线:CSRF 攻击链路与双重 Token 校验的工程实现
前端·vue·react·web
钛态5 天前
AI 组件生成评测:别只看页面能不能渲染
前端·vue·react·web
智码看视界5 天前
Tomcat架构深度拆解:Connector和Container到底怎么配合的?
java·servlet·架构·tomcat·web服务器