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的核心配置文件。

相关推荐
嗨起飞了2 小时前
Maven快速入门指南
java·maven
知识分享小能手4 小时前
Html5学习教程,从入门到精通, HTML5 新的 Input 类型:语法知识点与案例代码(16)
开发语言·前端·学习·html·html5·web·java开发
中东大鹅5 小时前
从0开始,手搓Tomcat
前端·tomcat·firefox
码农liuxin7 小时前
企业级Maven私仓搭建指南:Nexus 3实战步骤
java·后端·maven
亿.69 小时前
阿里云CTF2025 ---Web
web·ctf·writeup
小布不吃竹9 小时前
手写简易Tomcat核心实现:深入理解Servlet容器原理
java·servlet·tomcat
绘绘~10 小时前
K8s构建带有maven环境的jenkins镜像
kubernetes·jenkins·maven
一弓虽14 小时前
maven学习
java·学习·github·maven
秋说15 小时前
【Java开发指南 | 第三十五篇】Maven + Tomcat Web应用程序搭建
java·tomcat·maven
我命由我1234515 小时前
Java Maven 项目问题:com.diogonunes:JColor:jar:5.5.1 was not found in...
java·开发语言·java-ee·maven·intellij-idea·jar·intellij idea