0
点赞
收藏
分享

微信扫一扫

JavaWeb笔记01



文章目录

  • ​​JavaWeb(狂神说Java)​​
  • ​​1.基本概念​​
  • ​​1.1前言​​
  • ​​1.2web应用程序​​
  • ​​1.3静态web​​
  • ​​1.4 动态web​​
  • ​​2.web服务器​​
  • ​​2.1技术讲解​​
  • ​​2.2web服务器​​
  • ​​3.Tomcat​​
  • ​​3.1安装Tomcat​​
  • ​​3.2启动与配置​​
  • ​​文件夹作用​​
  • ​​启动和关闭​​
  • ​​3.3配置​​
  • ​​3.4高难度面试题​​
  • ​​3.5发布一个web网站​​
  • ​​4.Http​​
  • ​​4.1什么是HTTP​​
  • ​​4.2两个时代​​
  • ​​4.3HTTP请求​​
  • ​​1.请求行​​
  • ​​2.消息头​​
  • ​​4.4HTTP响应​​
  • ​​1.响应体​​
  • ​​2.响应状态码(重点)​​
  • ​​常见面试题(伴随javaweb学习过程中)​​
  • ​​5.Maven​​
  • ​​5.1Maven项目架构管理工具​​
  • ​​5.2下载安装Maven​​
  • ​​5.3配置环境变量​​
  • ​​5.4阿里云镜像​​
  • ​​5.5本地仓库​​
  • ​​5.6在IDEA中maven的操作​​
  • ​​创建maven项目(通过模板创建)​​
  • ​​创建普通maven项目​​
  • ​​5.7标记文件夹功能​​
  • ​​5.8配置Tomcat​​
  • ​​5.9 pom文件​​
  • ​​5.10IDEA操作​​

JavaWeb(狂神说Java)

Java Web

1.基本概念

1.1前言

本文是看b站上面的遇见狂神说记录的笔记

web开发:

  • web 是网页开发的意思,表示我们可以从网页上面获取资源 www.baidu.com
  • 静态web
  • html css
  • 提供给所有人看的数据始终不会发生变化
  • 动态web
  • 淘宝,几乎所有的网站都是动态web
  • 提供给所有人看的数据是会发生变化的,每一个人在不同的时间,不同的地点,看到的信息各不相同
  • 技术栈: Servlet/JSP, ASP,PHP
    在Java中,动态web资源开发的技术称为JavaWeb

1.2web应用程序

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

  • 像a.html,b.html等等多个web资源,这些web资源都可以被外界访问,对外提供服务
  • 我们所能够访问的任何一个页面或者资源,都是存在于这个世界的某一个角落的计算机上面的
  • url:统一资源定位符 ? 后面回过头看
  • 这个统一的web资源会被放在同一个文件夹下面,但是这些web应用程序,我们不能直接访问它,需要借助Tomcat服务器
  • 一个web应用由多个部分组成(静态web,动态web)
  • html css js
  • jsp servlet
  • java程序
  • jar包
  • 配置文件(Properties)

web应用程序编写完成以后,如果想要提供给外界来访问,需要一个服务器来统一管理

1.3静态web

  • .html,.htm这些都是网页的后缀,如果服务器上一直存在这些东西的话,我们就可以直接进行读取

JavaWeb笔记01_开发语言

  • 静态web存在的缺点
  • web页面无法动态更新,所有人看到的都是一样的页面
  • 轮播图,点击特效:做了一个伪动态的效果
  • 我们可以用JavaScript来做出动态效果
  • 它不能和数据库进行交互,数据无法持久化,用户不能交互

1.4 动态web

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

JavaWeb笔记01_javaweb_02

缺点:

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

优点

  • web页面可以动态更新
  • 它可以和数据库进行交互 (数据持久化 比如说注册信息)

JavaWeb笔记01_服务器_03

2.web服务器

2.1技术讲解

JSP/Servlet:

B/S:浏览器,服务器

C/S客户端和服务端

  • sun公司主推的b/s架构
  • 基于Java语言的(所有的大公司,或者一些开源的组件,都是用Java写的)
  • 可以承载三高问题带来的影响:高性能,高并发,高可用

2.2web服务器

接收用户请求,给用户返回响应

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

Tomcat

Tomcat实际上运行的是JSP页面和Servlet

工作3-5年后,可以尝试写Tomcat服务器

下载Tomcat:

1.安装或解压

2.了解配置文件以及目录结构

3.知道这个东西的作用

3.Tomcat

3.1安装Tomcat

1.Tomcat官网https://tomcat.apache.org/

JavaWeb笔记01_javaweb_04

JavaWeb笔记01_javaweb_05

3.2启动与配置

文件夹作用

JavaWeb笔记01_前端_06

bin目录:用来放启动和关闭的脚本文件

conf:配置

lib:放依赖的jar包

logs:发存放网站的

一个文件夹代表一个web应用?

启动和关闭

点击bin目录—startup.bat—双击就启动起来了

注意:startup.bat打开以后不要关闭

然后在网站输入localhost:8080

这样就可以进入tomcat网站

JavaWeb笔记01_开发语言_07

JavaWeb笔记01_服务器_08

访问测试 http://localhost:8080

可能遇到的问题:

1.Java环境没有配置 因为Tomcaat是Java写的

2.闪退问题:需要配置兼容性

3.乱码问题:需要在配置文件中设置

点击conf

JavaWeb笔记01_开发语言_09

3.3配置

  • Tomcat的默认端口号是:8080
  • mysql:3306
  • http:80
  • https:443
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

可以配置主机的名称

  • 默认的主机名是:localhost–>127.0.0.1
  • 默认网站应用存放的位置位:webapps
<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">

3.4高难度面试题

请你谈谈网站是怎么进行访问的

1.输入一个域名:然后按回车

2.检查本机的:C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名的映射

1.有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序

JavaWeb笔记01_服务器_10

2.没有:去DNS服务器找 (DNS就是管理所有域名的地方)

找到的话就返回,找不到的话就返回找不到

JavaWeb笔记01_javaweb_11

理解:

客户端发起请求,假设发送的请求是:www.baidu.com,这个请求不是直接拿到的

客户端有一个hosts配置文件,他在:C:\Windows\System32\drivers\etc

JavaWeb笔记01_前端_12

客户端会先去hosts看看有没有这个域名的配置文件

3.5发布一个web网站

不会就先模仿

  • 把自己写的网站,放在服务器(Tomcat)中指定的web应用程序夹(webapps)下,

就可以访问网站应有的结构

---webapps :Tomcat服务器的web目录
-ROOT
-kuangstudy :网站的目录名
-WEB -INF
-classes :Java程序
-lib:web应用所依赖的jar包
-web.xml:网站配置文件
-index.html:网站默认的首页
-static :静态资源文件
-css
-style
-js
-img
...

4.Http

4.1什么是HTTP

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 请求方法
Status Code:200 OK 状态码
Remote(远程) Address:14.215.177.39:443
Reffer Policy:no-referrer-when-downgrade
Accept:text/html
Accept-Encoding:gzip,deflate,br
Accept-Language:zh-CN,zh;q=0.9 语言
Cache-Control:max-age=0
Connection:keep-alive

1.请求行

  • 请求行中的请求方式:GET
  • 请求方式:**GET ** ,POST,HEAD,DELETE,PUT,TRACT
  • get:请求方式所能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据信息,不安全,但是效率高
  • post:请求方式所能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址显示数据信息,但是安全

2.消息头

Accept:  告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪一种编码方式
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
HOST:主机

4.4HTTP响应

  • 服务器端----响应—客户端

百度:

Cache-Control:private  缓存控制
Connection:Keep-Alive 连接
Content-Encoding:gzip 编码
Content-Type:text/html 类型

1.响应体

Accept:  告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪一种编码方式
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
HOST:主机

Refresh: 告诉客户端,多久刷新一次
Location: 让网页重新定位

2.响应状态码(重点)

200:请求响应成功

3**:请求重定向

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

4**:找不到资源 404

  • 资源不存在

5**:服务器代码错误 500

502叫网关错误

常见面试题(伴随javaweb学习过程中)

当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够显示回来,经历了什么?

5.Maven

为什么要学习这个技术

1.在javaweb开发中,需要使用大量的jar包,需要手动导入

2.如何能够让一个东西自动帮我们导入和配置这个jar包

由此,Maven就诞生了

Maven是国外的

5.1Maven项目架构管理工具

我们目前就是用来导入jar包的

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

  • 有约束,不要去违反

Maven会规定号我们要怎么去编写我们的java代码,必须按照这个要求来,主要是规范我们代码要写在哪一个目录下面

5.2下载安装Maven

官网 https://maven.apache.org

JavaWeb笔记01_javaweb_13

下载完成后,解压即可

5.3配置环境变量

在我们的系统环境变量中

配置如下变量:

  • M2_HOME maven目录下面的bin目录
  • MAVEN_HOME :maven目录
  • 在系统的path中配置MAVEN_HOME %MAVEN_HOME%\bin
  • 测试maven是否安装完毕

JavaWeb笔记01_开发语言_14

5.4阿里云镜像

  • 镜像:mirrors
  • 作用:加速我们的下载
  • 国内建议使用阿里云的镜像
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public </url>
</mirror>
</mirrors>

5.5本地仓库

在本地的仓库,原创仓库

建立一个本地仓库:localRepository

JavaWeb笔记01_服务器_15

<localRepository>
D:\Program Files\apache-maven-3.8.4-bin\apache-maven-3.8.4\maven-repo
</localRepository>

JavaWeb笔记01_javaweb_16

5.6在IDEA中maven的操作

创建maven项目(通过模板创建)

1.创建MavenWeb项目

JavaWeb笔记01_开发语言_17

JavaWeb笔记01_javaweb_18

JavaWeb笔记01_前端_19

2.等待项目初始化完毕

JavaWeb笔记01_javaweb_20

出现 BUILD SUCCESS 说明成功

3.观察maven项目多了什么东西

4.idea中的maven设置

4.idea中的maven设置

idea项目创建成功以后,看一眼maven的配置

JavaWeb笔记01_javaweb_21

JavaWeb笔记01_前端_22

点击菜单栏View->Tool Windows->Maven projects

JavaWeb笔记01_java_23

创建普通maven项目

JavaWeb笔记01_开发语言_24

JavaWeb笔记01_javaweb_25

JavaWeb笔记01_javaweb_26

这个只有在Web应用下才会有

JavaWeb笔记01_java_27

5.7标记文件夹功能

JavaWeb笔记01_开发语言_28

JavaWeb笔记01_前端_29

5.8配置Tomcat

JavaWeb笔记01_java_30

JavaWeb笔记01_java_31

JavaWeb笔记01_javaweb_32

JavaWeb笔记01_服务器_33

JavaWeb笔记01_javaweb_34

解决警告问题

为什么会有警告问题

必须要配置:为什么会出现这个问题:我们访问一个网站的时候,需要指定一个文件夹的名字

JavaWeb笔记01_java_35

JavaWeb笔记01_前端_36

然后启动Tomcat

JavaWeb笔记01_前端_37

JavaWeb笔记01_服务器_38

5.9 pom文件

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

JavaWeb笔记01_javaweb_39

<?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>

<!--java的打包方式

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.8</maven.compiler.source>
<!--配置文件-->
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<!--项目依赖-->
<dependencies>
<!--静态依赖的jar包配置文件-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>

</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>

maven的高级之处在于,它会子哦对那个帮你导入这个jar包所需要的其他jar包

JavaWeb笔记01_java_40

maven的约定大于配置,它规定好我们的Java代码要写在哪一个包下面,如果我们不这样做的话,甚至都建不了Java

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.10IDEA操作

JavaWeb笔记01_开发语言_41

JavaWeb笔记01_java_42

JavaWeb笔记01_前端_43JavaWeb笔记01_前端_44



举报

相关推荐

Javaweb01

javaWeb 01(WEB环境搭建)

javaWeb01配置环境

JavaWeb笔记

JavaWEB(MVC购物车01)

Javaweb (MVC购物车01)

0 条评论