JavaWeb学习(一)

JavaWeb

在这里插入图片描述

1、基本概念

1.1、前言

web开发:

  • web 网页的意思 www.baidu.com
    • 静态web
      • html、css
      • 提供给所有人看到的数据始终不会发生变化
    • 动态web
      • 页面会动态变化,每个人都不一样
      • 技术栈:Servlet/JSP、ASP、PHP

在 Java 中,动态 web 资源开发的技术统称为 JavaWeb

1.2、web 应用程序

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

  • a.html、b.html … 多个 web 资源可以被外界访问,对外界提供服务
  • 这个统一的 web 资源会被放在同一个文件夹下,web 应用程序 ——> Tomcat:服务器
  • 一个 web 应用有多部分组成
    • html、css
    • jsp、servlet
    • java 程序
    • jar 包
    • 配置文件

web 应用程序编写完毕后,若想提供给外界访问:需要一个服务器统一管理

1.3、静态 web

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

在这里插入图片描述

  • 静态 web 存在的缺点
    • Web 页面无法动态更新
      • 轮播图、点击特效、伪动态
      • JavaScript
      • VBScript
    • 无法与数据库交互(数据无法持久化,用户无法交互)

1.4、动态 web

页面动态变化,因人而异

在这里插入图片描述

缺点:

  • 假如服务器动态web资源出现错误,我们就要重新编写我们的后台程序,重新发布

优点:

  • 可以和数据库交互(数据持久化)

2、web 服务器

2.1、技术详情

  • ASP

    • 微软
    • 在HTML中嵌套了VB脚本
    • 在ASP开发当中,基本一个页面都有几千行代码,维护成本很高
      • 就是html代码里面嵌套 java 代码 <% %>
  • PHP

    • 开发速度快,功能强大,跨平台,代码简单
    • 无法承载大访问量的情况
  • JSP/Servlet

    • B/S:浏览器服务器
    • sun公司主推的B/S架构
    • 基于java语言
    • 语法像ASP

2.2、服务器

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

  • IIS

    • 微软
    • window自带
  • Tomcat

    • img

    • Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

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

      Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为10.0.5**。**

3、Tomcat

3.1、安装tomcat

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

3.2、tomcat启动和配置

  1. tomcat 的 bin 包下的文件,打开即可

在这里插入图片描述

  1. http://localhost:8080/ 出现如下界面就说明开启了

在这里插入图片描述

  1. 配置:config 文件

    server.xml:服务器核心配置文件,可以修改端口号(默认8080),可以修改主机的名称(默认 localhost —> 127.0.0.1,但是这个要去改系统)

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    
    <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">
    
  2. 常见端口号

    tomcat:8080

    mysql:3306

    http:80

    https:443

3.3、高难度面试题

请你谈谈网站是如何进行访问的?

  1. 输入一个域名
  2. 检查本机下的 C:\Windows\System32\drivers\etc\hosts 配置文件有没有这个域名的映射
    1. 有直接去对应的ip地址
    2. 没有就去DNS找
    3. 再找不到就返回找不到

在这里插入图片描述

3.4、发布一个 web 网站

不会就先模仿

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、Http

4.1、什么是http

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

  • 超文本:图片、音乐、视频、定位、地图…
  • 端口:80

https:安全的

  • 端口:443

4.2、两个时代

  • http1.0
    • http/1.0:客户端可以与web服务器连接后,只能获得一个web资源
  • http2.0
    • http/1.1:可以获得多个web资源

4.3、http请求

  • 客户端 ——> 服务器

百度:

Request URL: https://www.baidu.com/
Request Method: GET
Status Code: 200 OK    状态码
Remote(远程) Address: 14.215.177.39:443
Referrer Policy: no-referrer-when-downgrade
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9     语言:zh-CN
Cache-Control: max-age=0
Connection: keep-alive
4.3.1、请求行
  • 请求行的请求方法:GET
  • 请求方式:GET/POST(一个更高效、一个更安全)
    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的url地址栏显示数据内容,不安全,但是高效
    • post:请求携带的参数没限制,大小没限制,浏览器不会显示,安全,但不高效
4.3.2、消息头
Accept:告诉浏览器,所支持的数据类型
Accept-Encoding:支持哪种编码格式:utf-8...
Accept-Language:告诉浏览器,它的语言环境   
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机

4.4、http响应

  • 服务器 ——> 客户端
Cache-Control: private   缓存控制
Connection: keep-alive   连接:保持连接
Content-Encoding: gzip   编码
Content-Type: text/html; 类型
4.4.1、响应体
Accept:告诉浏览器,所支持的数据类型
Accept-Encoding:支持哪种编码格式:utf-8...
Accept-Language:告诉浏览器,它的语言环境   
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机
Refresh:告诉客户端多久刷新一次
Location:让网页重新定位    
4.4.2、响应状态码
  • 200:请求响应成功 200
  • 3**:请求重定向
  • 4**:找不到资源 404
  • 5**:服务器代码错误 500 502->网关错误

5、Maven

我们为什么学?

  • 在 web 开发的时候,需要很多的 jar 包,但不现实

由此产生了 Maven(架构管理工具),方便了我们导入 jar 包

5.1、Maven 项目架构管理工具

Maven 核心思想:约束大于配置

  • 有约束,不要去违反

5.2、下载安装 Maven

官网:http://maven.apache.org/

下载完成,解压即可

5.3、配置环境变量

  1. 在系统的环境变量中添加如下的配置:

    M2_HOME:maven目录下的bin目录;

    MAVEN_HOME:maven的目录;

  2. 在系统变量 Path 下添加:%MAVEN_HOME%/bin

  3. 测试:在cmd窗口下,输入:mvn -version

5.4、阿里云镜像

  • 镜像:mirrors

    • 作用:加速我们的下载
  • 国内建议使用阿里云镜像:https://developer.aliyun.com/mirror/maven

    <mirror>
    	<id>nexus-aliyun</id>
    	<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
    	<name>Nexus aliyun</name>
    	<url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    
  • 位置:maven 文件下的 config 文件里面的 setting.xml

5.5、本地仓库

建立一个本地仓库:localRepository

可以把文件都存在自己想要存的位置

<localRepository>E:\Maven\apache-maven-3.8.1\maven-repo</localRepository>

5.6、在IDEA中使用Maven

  • 方法一:直接配置:在 setting 里面搜索 maven,配置自己的本地仓库

在这里插入图片描述

  • 方法二:直接创建一个 webapp 项目,后面会让你填写仓库位置,建议用自己建的仓库

在这里插入图片描述
等待下载即可,会出现如下情况:build success

在这里插入图片描述

5.7、创建一个普通的Maven项目

不需要像上一个那样整一个模板了,即不需要勾选这个,直接下一步就行

在这里插入图片描述
在这里插入图片描述

5.8、maven项目侧边栏

在这里插入图片描述

5.9、pom文件

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

  • properties:配置

  • dependencies:项目依赖

  • build:项目构建用的东西

    • 由于maven项目,约束大于配置,所以有时候会出现,一些配置文件无法导出的情况,所以要加一些资源导出的build

      <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>
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值