狂神JavaWeb
1.基本概念
1.1前言
web开发:
- web,网页的意思,www.baidu.com
- 静态web
- html’,css
- 提供给所有人看的数据始终不会发生变化
- 动态web
- 淘宝,几乎所有网站
- 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同
- 技术栈:severlet、JSP,ASP ,PHP
在java中,动态web资源开发的技术称为javaweb;
1.2web应用程序
web应用程序,可以提供浏览器访问的程序:
- a.html、b.html…多个web资源,这些web资源可以被外界访问,对外界提供服务;
- 能访问到 的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上
- URL
- 这个统一的web资源会被放在同一个文件夹下,web应用程序----> Tomact:服务器
- html,css,js
- jsp,serverlet
- java程序‘
- jar包
- 配置文件(Properties)
web应用程序编写完毕后人,若想提供给外界访问:需要一个服务器来统一管理;
1.3静态web
- *.html, *.htm这些都是网页后缀,如果服务器上一直存在这些东西,我们就可以直接读取、通络;
request请求
responsed 响应
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ev3Iavk-1626788577038)(javaweb.assets/image-20210605154859288.png)]
-
静态web存在的缺点
-
Web页面无法动态更新,所有用户看到的都是同一个页面
- 轮播图,点击特效:伪静态
- JavaScript[实际开发中用的最多]
- VBScript
-
它无法和数据库交互(数据无法持久化,用户无法交互、)
-
1.4动态web
页面会动态展示:“Web的页面展示的效果因人而异“
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dRut300D-1626788577041)(javaweb.assets/image-20210605155345733.png)]
缺点
-
假如服务器的动态Web资源出现了错误,我们需要重新编写我们的后台程序,重新发布:
- 停机维护
优点
-
web页面可以动态更新,所有用户看到不是同一个页面
-
它可以和数据库交互(数据持久化:注册,商品信息,用户信息)
分析原理,看源码
2、web服务器
2.1技术讲解
ASP
-
微软 :国内最早流行
-
在HTML中嵌入了VB的脚本,ASP+COM;
-
在ASP开发中,基本一个页面都有几千航的业务代码,页面及其混乱
-
维护成本高!
-
C#
-
IIS
<h1> <h1> </h1> <h1> </h1> <h1> </h1> <% "我是aspor"%></%> <h1> </h1> <h1> </h1> </h1>
PHP
- php开发速度很快,功能很强大,跨平台,代码简单(70%,WP)
- 无法承载大访问量的情况、(局限性)
JSP/Severlet:
B/S:浏览器和服务器
C/S:客户端和服务端
- sun公司主推的B/S架构
- 基于java语言(所有的大公司,或者一些开源的组件,都是用java写的)
- 可以承载三高(高并发、高可用、高性能)问题带来的影响;
- 语法像ASP,ASP---->JSP加强市场强度;
2.2web服务器
服务器是一种被动的操作,用来处理用户的一些请求和用户一些相应信息
IIS
微软的,ASP。。。。Windows自带的
Tomcat
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5b0nJcQD-1626788577044)(javaweb.assets/image-20210605165637745.png)]
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是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。诀窍是,当配置正确时,Apache 为HTML页面服务。
Tomcat 实际上运行JSP 页面和Servlet。目前Tomcat最新版本为10.0.5**。**
…
尝试手写Tomcat
下载Tomcat
1.安装or解压
2.了解配置文件以及目录
3.这个东西的作用
3.Tomcat
3.1安装Tomcat
tomcat官网https://tomcat.apache.org/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lCdeqB1M-1626788577048)(javaweb.assets/image-20210605170540316.png)]
解压
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-chGZ4O9N-1626788577050)(javaweb.assets/image-20210605170632890.png)]
3.2Tomcat启动和配置
文件夹作用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ayp27CK4-1626788577051)(javaweb.assets/image-20210605172226897.png)]
启动、关闭Tomcat
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Z2NtncE-1626788577053)(javaweb.assets/image-20210605172528626.png)]
访问测试:http://localhost:8080/
可能遇到 的问题
1.java环境变量没有配置
2.闪退问题:需要配置兼容性
3.乱码问题:配置文件中设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-St2uMIuq-1626788577054)(javaweb.assets/image-20210605173343354.png)]
可以配置启动的端口号
-
tomcat的默认端口号为:8080
-
mysql:3306
-
http:80
-
https:443
-
Oracle:1521
<Connector port="8081" protocal="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
protocal:协议
connectionTimeout:连接超时
redirectPort:重定向端口
可以配置主机的名称
- 默认的主机名为:localhost->127.0.0.1
- 默认的网站应用存放的位置:webapps
<Host name="www.qinjiang.com" appBase = "webapps"
unpackWARs="true" autoDeploy="true">
高难度面试题:请你说说网站是如何进行访问的!
1.输入一个域名:回车
2.检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名的映射
1).有: 直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问
127.0.0.1 www.qinjiang.com
2).没有: 去DNS服务器找,找到的话就返回,找不到就返回找不到;(域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bQv2CSdr-1626788577055)(javaweb.assets/image-20210606183105340.png)]
4.可以配置一下环境变量(可选性)
3.4发布一个web网站
不会 先模仿
- 将自己写的网站,放到服务器(Tomcat)中指定的web应用文件夹(webapps)下。就可以访问了
网站应该有的结构
--webapps : Tomcat服务器的web目录
-ROOT
-KuangStudy :网站的目录包
-WEB-INF
-classes:java程序
-lib :web应用所依赖的jar包
-web.xml: 网页配置文件
-index.html 默认的首页
-static
-css
-style.css
-js
-img
-...
HTTP协议 :面试
Maven:构建工具
- Maven安装包
Severlet入门
- HelloWorld!
- Severlet配置
- 原理
4、什么是http
4.1什么是http
超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。
- 文本: html,字符串,…
- 超文本: 图片,音乐,视频,定位,地图…
- 80
HTTPS;安全的
- 443
4.2两个时代
-
http1.0
- HTTP/1.0: 客户端可以与web服务器链接,只能获得一个web资源,断开连接
-
http2.0
- HTTP/1.1:客户端可以与web服务器链接,可以获得多个web资源。
4.3Http请求
- 客户端—发请求(Request)—服务器
百度:
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET get方法/post方法
Status Code: 200 OK 状态码:200
Remote (远程)Address: 182.61.200.6:443
Accept:text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9 语言
Cache-Control
Connection: keep-alive
1.请求行
- 请求行中的请求方式
- 请求方式Get、Post、HEAD、DELETE、PUT、TRACT…
- get : 请求能够携带的参数比较少。大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
- post : 请求能够携带的参数没有限制。大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效
2.消息头
Accept :告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language : 告诉浏览器,他的语言环境
Cache-Control :缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机。。。。。/
4.4Http响应
- 服务端–响应–客户端
百度:
Cache-Control: private 缓存控制
Connection: keep-alive 连接
Content-Encoding: gzip 编码
Content-Type: text/html;charset=utf-8 类型
1、响应体
Accept :告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language : 告诉浏览器,他的语言环境
Cache-Control :缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机。。。。。/
Refresh:告诉客户端,多久刷新一次
Location:让网页重新定位;
2.响应状态码(重点)
200:请求响应成功
3xx:请求重定向
- 重定向:你重新到我给你的新位置去;
4xx:找不到资源
- 404:找不到资源
- 资源不存在
5xx:服务器代码错误 500 502:网关错误
常见面试题:
当你的浏览器中地址输入地址并回车的一瞬间到页面能够展示回来,经历了什么?
dns+三次握手+本地渲染
面试的时候有些面试官会问这个问题,可按如下流程作答:
1、首先,在浏览器地址栏中输入url
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5、握手成功后,浏览器向服务器发送http请求,请求数据包。
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、读取页面内容,浏览器渲染,解析html源码
9、生成Dom树、解析css样式、js交互
10、客户端和服务器交互
11、ajax查询
其中,步骤2的具体过程是:
浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);
路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;
ISP缓存:若上述均失败,继续向ISP搜索。
步骤7.浏览器页面渲染。
处理HTML标记并构建DOM树;
处理CSS标记并构建CSSDOM树;
将DOM和CSSOM合并为一颗渲染树;
根据渲染树来布局,以计算每个节点的几何信息;(重排)
将各个结点绘制到屏幕上。(重绘)
如果 DOM 或 CSSOM 被修改,以上过程需要重复执行,这样才能计算出哪些像素需要在屏幕上进行重新渲染。
8.断开连接 “TCP四次挥手”
浏览器采用的是流式布局,也就是某一个dom节点更新了,就需要对DOM结构进行重新计算,重新布局界面,再次引发回流(重排)。
重排:一个元素发生改变,会引起局部或者是全局DOM都改变。
引起重排的原因:页面首次渲染,浏览器窗口大小发生改变,元素尺寸,位置,内容,字体大小等都会引起重排
重绘:不改变元素的位置
1.DNS解析
-
浏览器的DNS解析
-
系统的DNS缓存
-
路由器的DNS缓存
-
网络运营商的DNS缓存(中国移动,中国电信)
-
上述都没有找到,则会采取递归的方式,向根服务器进行查询,根服务器告诉本地DNS服务器域服务器的地址,本地DNS向域服务器发出请求,域服务器告诉本地服务器域名解构服务器的地址,本地服务器向域名解构服务器发出请求,收到域名和IP的关系,本地服务器再返回给浏览器并将对应关系保存在缓存中以便下一次使用。下图是他递归的过程。
原文链接:https://blog.csdn.net/zhongqw_00/article/details/88958000
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qeoXjYJQ-1626788577057)(javaweb.assets/20190813175303827.png)]
5.Maven
1.使用这个技术的原因:
1)在Javaweb开发中,需要使用大量的jar包,我们手动去导入
2)如何能够让一个东西自动帮我导入和配置这个jar包
3)由此Maven诞生了
5.1Maven项目架构管理工具
我们目前就用来方便导入jar包
Maven的核心思想:约定大于配置
- 有约束,不要去违反。
Maven会规定好你该如何编写我们的java代码,必须按照这个规范来;
5.2下载安装Maven
官网:http://maven.apache.org/download.cgi
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RgRX41Gg-1626788577058)(javaweb.assets/image-20210608152635875.png)]
5.3配置环境变量
在系统环境变量中
配置如下配置
-
M2_HOME C:\Program Files\apache-maven-3.8.1
-
MAVEN_HOME C:\Program Files\apache-maven-3.8.1\bin
-
在系统的path中配置 %MAVEN_HOME%\bin
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2fNB6y5H-1626788577060)(javaweb.assets/image-20210608170411289.png)]
配置完毕
5.4阿里云镜像
- 镜像 : mirrors
- 作用:加速我们的下载
我们国内建议使用阿里云镜像
<mirror>
3 <id>nexus-aliyun</id>
4 <mirrorOf>*</mirrorOf>
5 <name>Nexus aliyun</name>
6 <url>http://maven.aliyun.com/nexus/content/groups/public</url>
7 </mirror>
5.5本地仓库
在本地仓库,远程仓库;
建立一个本地仓库:localRepository
<localRepository>C:\Program Files\apache-maven-3.8.1\maven-repo</localRepository>
5.6在IDEA中使用Maven
1.启动IDEA
2.创建一个MavenWeb项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fbwYznBM-1626788577061)(javaweb.assets/image-20210609194509317.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Tesl5ga-1626788577062)(javaweb.assets/image-20210609194735618.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RhZUQ0ft-1626788577063)(javaweb.assets/image-20210609195224159.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YSw0onVf-1626788577064)(javaweb.assets/image-20210609200128266.png)]
4.观察maven仓库中多了什么东西
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyWmlJkJ-1626788577065)(javaweb.assets/image-20210609201337878.png)]
5.IDEA中的maven设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ekGp0EOu-1626788577067)(javaweb.assets/image-20210609201737983.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A2ai295O-1626788577068)(javaweb.assets/image-20210609202404131.png)]
6.到这里,Maven在IDEA中的配置和使用就ok了
5.7创建一个普通的Maven项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TSNDm1l-1626788577070)(javaweb.assets/image-20210609202609356.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AEge2Luv-1626788577071)(javaweb.assets/image-20210609203051108.png)]
这个只有在Web应用下才会有!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XCsvwVJH-1626788577073)(javaweb.assets/image-20210609203226091.png)]
5.8标记文件夹功能
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4eEGdPe-1626788577074)(javaweb.assets/image-20210609203636869.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EVyX9fZ5-1626788577076)(javaweb.assets/image-20210609203810468.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mg731LGK-1626788577077)(javaweb.assets/image-20210609203947540.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bRLHLtnm-1626788577078)(javaweb.assets/image-20210609204043195.png)]
5.9在IDEA中配置Tomcat
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XeSlGX23-1626788577079)(javaweb.assets/image-20210609204931023.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pWJ9PlKq-1626788577081)(javaweb.assets/image-20210609205009208.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MpmXGAmm-1626788577082)(javaweb.assets/image-20210609205059053.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I4Rzj7cE-1626788577084)(javaweb.assets/image-20210609210940527.png)]
解决警告问题
必须要的为什么会有这个问题: 我们访问一个网站,需要指定一个文件夹的名字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guRpeC3V-1626788577086)(javaweb.assets/image-20210609211053728.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CewkB2zK-1626788577088)(javaweb.assets/image-20210609211324917.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rOgwHaKF-1626788577090)(javaweb.assets/image-20210609211350282.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jY2Kud0L-1626788577091)(javaweb.assets/image-20210609211911875.png)]
5.10pom文件
pom.xml是Maven的核心配置文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oU38lDJI-1626788577093)(javaweb.assets/image-20210610122509045.png)]
<?xml version="1.0" encoding="UTF-8"?>
<!--Maven的版本和头文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--这里就是我们刚才配置的GAV-->
<groupId>com-kuang</groupId>
<artifactId>javaweb-01-maven</artifactId>
<version>1.0-SNAPSHOT</version>
<!--Package:项目的打包方式
jar:java应用
war:JavaWeb应用
-->
<packaging>war</packaging>
<!--可删掉-->
<!-- <name>javaweb-01-maven Maven Webapp</name>-->
<!-- <!– FIXME change it to the project's website –>-->
<!-- <url>http://www.example.com</url>-->
<!--配置-->
<properties>
<!--项目的默认构建编码-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--编译版本-->
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<!--项目依赖-->
<dependencies>
<!--具体依赖的jar包配置文件-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<!--项目构建用的东西-->
<build>
<finalName>javaweb-01-maven</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LhGhlywi-1626788577095)(javaweb.assets/image-20210610131330657.png)]
maven由于他的约定大于配置,我们之后可能会遇到我们写的配置文件,无法被导出或者生效的问题,解决方案:
<!--在build中配置resources,来放置我们资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
5.11IDEA操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tkSJW9yJ-1626788577098)(javaweb.assets/image-20210610132949743.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L89f5R6w-1626788577107)(javaweb.assets/image-20210610133456521.png)]
5.12解决遇到的问题
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGljz6iz-1626788577114)(javaweb.assets/image-20210610140705594.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-35muFcLj-1626788577116)(javaweb.assets/image-20210610140721294.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w0VDmFuh-1626788577117)(javaweb.assets/image-20210610140920387.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXzKCvN4-1626788577118)(javaweb.assets/image-20210610140942157.png)]
6.替换为webapp5.0版本和tomcat一致
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BSWBMhAz-1626788577120)(javaweb.assets/image-20210610153726038.png)]
7.Maven仓库的使用
地址https://mvnrepository.com/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HHKAz1Ba-1626788577121)(javaweb.assets/image-20210610154733283.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HpntGzaW-1626788577122)(javaweb.assets/image-20210610154913555.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AxJlTei8-1626788577123)(javaweb.assets/image-20210610155043462.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YUaouwVO-1626788577124)(javaweb.assets/image-20210610155146857.png)]
6、Servlet
6.1Servlrt简介
- servlet就是sun公司开发动态web的一门技术
- Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个人Servlet程序,只需两个小步骤:
- 编写一个类,实现Servlet接口
- 把开发好的Java类 部署到web服务器中。
把实现了servlet接口的Java程序叫,Servlet
6.2HelloServlet
Servlet接口在Sun公司有两个默认的实现类: HttpServlet,GenericServlet
1.构建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个项目里面简历Moudle;这个空的工 程就是Maven主工程。
2.关于Maven父子工程的理解:
父项目中会有
<modules>
<module>servlet-01</module>
<module>servlet-1</module>
</modules>
子项目中会有
<parent>
<artifactId>javaweb-02-HelloServlet</artifactId>
<groupId>com.kuang</groupId>
<version>1.0-SNAPSHOT</version>