遇见狂神说B站视频:https://www.bilibili.com/video/BV12J411M7Sj
web 开发:
在Java中,动态web资源开发的技术统称为JavaWeb;
web应用程序:可以提供浏览器访问的程序;
web应用程序编写完毕后,若想提供给外界访问:需要一个服务器统一管理
缺点
web页面无法动态更新,所有用户看到的都是同一个界面
它无法和数据库交互,数据无法持久化,用户无法交互
页面会随着用户的不同而展示不同的页面;
缺点:
优点:
ASP:
php:
JSP/servlet:
B/S:浏览器和服务器
C/S:客户端和服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息
IIS
微软的:ASP…windows中自带的
Tomcat
是Apache软件基金会的Jakarta项目中的一个核心项目
工作3-5年之后,可以尝试手写Tomcat服务器,
下载Tomcat:
官网:https://tomcat.apache.org/
文件夹作用:
启动、关闭Tomcat
访问测试:http://localhost:8080/
可能遇到的问题:
可以配置启动的端口号
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
可以配置主机的名称
<Host name="www.qinjiang.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
高难度面试题:
请你谈谈网站是如何进行访问的!
不会就先模仿
网站应该有的结构
--webapps:Tomcat服务器的web目录
-ROOT
-wong:网站的目录名
- web-INF
-classes:java程序
-lib:web应用所以来的jar包
-web.xml
-index.html 默认的首页
-static
-css
-style.css
-js
-img
-......
HTTP:超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP之上
HTTPS:安全的
百度:
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET 请求方法
Status Code: 200 OK 状态码
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: max-age=0 缓存控制
Connection: keep-alive 告诉浏览器,请求完成是断开还是保持连接
Host:表示主机
百度:
Cache-Control: private 缓存控制
Connection: keep-alive 连接,保持连接状态
Content-Encoding: gzip 编码:gzip
Content-Type: text/html;charset=utf-8 类型
Accept:text/html 告诉浏览器,它所支持的数据类型
Accept-Encoding: gzip, deflate, br 支持哪种编码格式
Accept-Language: zh-CN,zh;q=0.9 告诉浏览器它的语言环境
Cache-Control: max-age=0 缓存控制
Connection: keep-alive 告诉浏览器,请求完成是断开还是保持连接
Host:表示主机
Refresh:告诉客户端,多久刷新一次
Location:让网页重新定位
200:请求响应成功 200
3xx:请求重定向
4xx:找不到资源 404
5xx:服务器代码错误 500 502:网关错误
常见面试题:
当你的浏览器地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?
我为什么要学习这个技术
在javaweb开发中,需要使用大量导入的jar包,我们手动去导入会浪费大量的时间
如何能够让一个东西自动帮助我们导入和配置这个jar包
由此,Maven诞生
我们目前使用Maven来导入jar包
Maven的核心思想:约定大于配置
Maven会规定好你该如何去编写我们的java代码,必须按照这个规范来
地址:https://maven.apache.org/download.cgi
Binary zip archive
apache-maven-3.8.1-bin.zip
下载完成后解压即可
在我们的系统环境变量中,进行如下配置:
M2_HOME:maven目录下的bin目录
MAVEN_HOME:maven的目录
在系统的path中,添加%MAVEN_HOME%\bin
镜像:
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>https://maven.aliyun.com/repository/publicurl>
<mirrorOf>centralmirrorOf>
mirror>
<mirror>
<id>alimaven-centralid>
<name>aliyun maven centralname>
<url>https://maven.aliyun.com/repository/centralurl>
<mirrorOf>centralmirrorOf>
mirror>
<mirror>
<id>alimaven-springid>
<name>aliyun maven-springname>
<url>https://maven.aliyun.com/repository/springurl>
<mirrorOf>centralmirrorOf>
mirror>
<mirror>
<id>centralid>
<name>Maven Repository Switchboardname>
<url>https://repo1.maven.org/maven2/url>
<mirrorOf>centralmirrorOf>
mirror>
<mirror>
<id>jboss-public-repository-groupid>
<mirrorOf>centralmirrorOf>
<name>JBoss Public Repository Groupname>
<url>http://repository.jboss.org/nexus/content/groups/publicurl>
mirror>
<mirror>
<id>spring-snapshotsid>
<mirrorOf>centralmirrorOf>
<name>Spring Snapshotsname>
<url>https://repo.spring.io/snapshoturl>
mirror>
<mirror>
<id>spring-milestonesid>
<mirrorOf>centralmirrorOf>
<name>Spring Milestonesname>
<url>https://repo.spring.io/milestoneurl>
mirror>
在本地的仓库,远程仓库;
建立一个本地仓库
<localRepository>E:\Environment\apache-maven-3.8.1\maven-repolocalRepository>
等待项目导入初始化完毕
观察maven仓库中多了哪些东西
IDEA中的maven设置
多关注一下这个内容,多一个心眼
初始的maven
解决警告问题
为什么会有这个问题:我们访问一个网站,需要指定一个文件夹名字
上面这个图的位置可以改也可以不改
可以启动了
pom.xml是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.0modelVersion>
<groupId>com.wonggroupId>
<artifactId>javaweb_maven_01artifactId>
<version>1.0-SNAPSHOTversion>
<packaging>warpackaging>
<name>javaweb_maven_01 Maven Webappname>
<url>http://www.example.comurl>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<maven.compiler.source>1.8maven.compiler.source>
<maven.compiler.target>1.8maven.compiler.target>
properties>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.11version>
<scope>testscope>
dependency>
dependencies>
<build>
<finalName>javaweb_maven_01finalName>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-pluginartifactId>
<version>3.1.0version>
plugin>
<plugin>
<artifactId>maven-resources-pluginartifactId>
<version>3.0.2version>
plugin>
<plugin>
<artifactId>maven-compiler-pluginartifactId>
<version>3.8.0version>
plugin>
<plugin>
<artifactId>maven-surefire-pluginartifactId>
<version>2.22.1version>
plugin>
<plugin>
<artifactId>maven-war-pluginartifactId>
<version>3.2.2version>
plugin>
<plugin>
<artifactId>maven-install-pluginartifactId>
<version>2.5.2version>
plugin>
<plugin>
<artifactId>maven-deploy-pluginartifactId>
<version>2.8.2version>
plugin>
plugins>
pluginManagement>
build>
project>
maven由于他的约定大于配置,我们之后可能遇到我们写的配置文件,无法被配置或者导出,下面是解决方案
Unable to import maven project: See logs for details
Tomcat闪退
IDEA中每次都要重复配置Maven
Maven项目中Tomcat无法配置
maven默认web项目中的web.xml版本问题
替换为webapp4.0版本和tomcat一致
maven仓库的使用
<version>2.8.2version>
plugin>
plugins>
pluginManagement>
build>
project>
maven由于他的约定大于配置,我们之后可能遇到我们写的配置文件,无法被配置或者导出,下面是解决方案
[外链图片转存中…(img-4qOBNQbU-1626620685091)]
[外链图片转存中…(img-pWOdP5Dq-1626620685093)]
[外链图片转存中…(img-QFjIgvBt-1626620685094)]
Unable to import maven project: See logs for details
Tomcat闪退
IDEA中每次都要重复配置Maven
Maven项目中Tomcat无法配置
maven默认web项目中的web.xml版本问题
替换为webapp4.0版本和tomcat一致
maven仓库的使用