IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JavaWeb归纳 -> 正文阅读

[Java知识库]JavaWeb归纳

1. 基本概念

1.1 前言

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rviR5NIk-1648641402988)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220323071436763.png)]在这里插入图片描述

1.2 Web应用程序

在这里插入图片描述

1.3 静态Web

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5lN7SGU3-1648641402989)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095828414.png)]

1.4 动态Web

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ylyUuyPH-1648641402990)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095837727.png)]

缺点:

  • 假如服务器的动态Web资源出现了错误,我们需要重新编写我们的后台程序,重新发布
    • 停机维护

优点:

  • Web页面可以动态更新,所有用户看到的都不一定是同一个页面
  • 他可以与数据库交互(数据持久化: 注册,商品信息,用户信息…)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mzOW8mg9-1648641402990)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095845612.png)]

2. Web服务器

2.1 技术讲解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQukJMqU-1648641402991)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095851773.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9p7VxjlJ-1648641402991)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095900647.png)]

三高问题: 高并发,高可用,高性能

2.2 Web服务器

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nYCQDMiG-1648641402992)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095909001.png)]

3. Tomcat

3.1 安装Tomcat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyI5HvjG-1648641402992)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095915417.png)]

3.2 Tomcat启动和配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GrOaMJ0s-1648641402993)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095920573.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kk7KMS4U-1648641402993)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095924870.png)]

可能遇到的问题:

  1. Java环境变量没有配置
  2. 闪退问题: 需要配置兼容性
  3. 乱码问题: 配置文件中设置

3.3 配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ErGJgw38-1648641402994)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095933897.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Tfs4e8Z-1648641402995)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095938654.png)]

面试题:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VVY1GNsw-1648641402996)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095947204.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rGawiOTd-1648641402996)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095952095.png)]

3.4 发布一个Web网站

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FY1a23ja-1648641402997)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324095956491.png)]

4. HTTP

4.1 什么是HTTP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NtkfAdsA-1648641402998)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324101602176.png)]

4.2 两个时代

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M6SOBXWv-1648641402998)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324101727967.png)]

4.3 Http请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXVTKCFD-1648641402998)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324102020912.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cD1pQ1aT-1648641402999)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324102244181.png)]

1. 请求行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vR2P2cAb-1648641403000)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324102514939.png)]

2. 消息头

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8FivJT9F-1648641403000)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324102748830.png)]

4.4 Http响应

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B2AhgjoF-1648641403002)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324102836037.png)]

1. 响应体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-koohXuo7-1648641403002)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324102957974.png)]

2. 响应状态码(重点)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x2dGEJ4v-1648641403003)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324103303259.png)]

常见面试题:

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

5. Maven

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O5Gx14jF-1648641403003)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324103724353.png)]

5.1 Maven项目架构管理工具

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jLjkRBjh-1648641403003)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324103901796.png)]

5.2 下载Maven

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-em4bOsTp-1648641403004)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324104042889.png)]

这里我下的是3.8.1的版本!

注意!!!:

  • IDEA 2021 兼容maven 3.8.1及之前的所用版本
  • IDEA 2020 兼容Maven 3.6.3及之前所有版本
  • IDEA 2018 兼容Maven3.6.1及之前所有版本

5.3 配置环境变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7whGsCgD-1648641403004)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324110152056.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f67jarWv-1648641403005)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324110105182.png)]

测试Maven是否安装成功, 保证必须配置完毕!

5.4 阿里云镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jhidDMxI-1648641403005)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324110830920.png)]

<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

5.5 本地仓库

建立一个本地仓库: localRepository

<localRepository>D:\myMaven\apache-maven-3.8.1\maven-repo</localRepository>

5.6 在IDEA中使用Maven

  1. 启动IDEA
  2. 创建一个MavenWeb项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TfS2asH1-1648641403006)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324111913512.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kd0QkO4M-1648641403006)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324131506114.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8xfHSOMr-1648641403006)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324131612695.png)]

  1. 等待项目初始化完毕

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rh0jtDhY-1648641403007)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324131908163.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X3M7ONqz-1648641403007)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324132008920.png)]

  1. 观察maven仓库中多了什么

  2. 在IDEA中配置Maven

    注意:IDEA项目创建成功后,看一眼Maven的配置

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lH5XKpo2-1648641403008)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324132540015.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5wGroM2-1648641403008)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324132752758.png)]

  3. 到这里,Maven在IDEA中的配置和使用就OK了!

5.7 创建一个普通的Maven项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NwTjrZBg-1648641403009)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324133140296.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-isfd9erL-1648641403010)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324133554530.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDupECZ0-1648641403010)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324133838859.png)]

5.8 在IDEA中标记文件夹功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MlAfrqlv-1648641403010)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324134138710.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R7XRgT3v-1648641403011)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324134358625.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9FZ609qA-1648641403011)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324134413565.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4AYh9uyY-1648641403011)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324134552867.png)]

5.9 在IDEA中配置Tomcat

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BSWjUuIP-1648641403012)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324134921065.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hBdc1kRW-1648641403012)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324135032121.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwEarUcm-1648641403012)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324135235797.png)]

解决警告问题:

**必须要的配置:**为什么会有这个问题:我们访问-一个网站,需要指定一个文件夹名字;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0He7g9s8-1648641403013)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324135439027.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5BWIyzpK-1648641403013)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324135914215.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PgBL0j05-1648641403014)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324141059349.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FofezU4N-1648641403015)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324141250586.png)]

5.10 pom文件

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

<?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.xz.study</groupId>
  <artifactId>javaweb-01-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
<!--  package:项目的打包方式
      jar: java应用
      war: web应用
      -->
  <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-iwctWXCR-1648641403015)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324163937350.png)]

maven由于他的约定大于配置, 我们之后可能遇到我们写的配置文件, 无法被导出或者生效的问题, 解决方案:

<!--在build中配置resources,来防止我们资源导出失败的问题-->
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.properties</exclude>
                <exclude>**/*.xml</exclude>
            </excludes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j7zZoyQT-1648641403016)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324164929632.png)]

在这里插入图片描述

6. Servlet

6.1 Servlet简介

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OFVCaVao-1648641403016)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220324175554599.png)]

6.2 Hello Servlet

Servlet接口Sun公司有两个默认的实现类: HttpServlet, GenericServlet

  1. 构建一 个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个项目里面建立Moduel; 这个空的工程就是Maven主工程;

  2. 关于Maven父子工程的理解:

    父项目中会有

    <modules>
        <module>servlet-01</module>
    </modules>
    

    子项目中会有(如果没有需要手动添加)

    <parent>
        <artifactId>javaweb-02-servlet</artifactId>
        <groupId>com.xz</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    

    父项目中的jar包子项目可以直接使用

  3. Maven环境优化

    1. 修改web.xml为最新的
    2. 将maven的结构搭建完整
  4. 编写一个Servlet程序

    1. 编写一个普通类
    2. 实现一个Servlet接口,这里我们继承HttpServlet
package com.xz.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author 许正
 * @version 1.0
 */
public class HelloServlet extends HttpServlet {

    //由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样;
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();
        writer.println("Hello,Servlet!");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
  1. 编写Servlet映射

    为什么需要映射:我们写的是AVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需
    要在web服务中注册我们写的Servlet,还需给他一个浏览器能够访问的路径;

<!--    注册Servlet-->
<servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.xz.servlet.HelloServlet</servlet-class>
</servlet>
<!--    Servlet的请求路径-->
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>
  1. 配置Tomcat

    注意:配置项目发布的路径就可以了

  2. 启动测试

6.3 Servlet原理

Servlet是由Web服务器调用,Web服务器在收到浏览器请求之后,会:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SqVVIAnc-1648641403017)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326105221402.png)]

6.4 Mapping问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FbiD2m0w-1648641403017)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326112045731.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3031Xhxt-1648641403018)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326112506278.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LhTIVhYZ-1648641403018)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326112252945.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-10otKC3d-1648641403019)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326112737161.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eyf1fV8c-1648641403019)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326113200381.png)]

6.5 ServletContext

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5YAn4bg4-1648641403020)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326160822647.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-miD1HCOM-1648641403020)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326160844909.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PbB7lpVX-1648641403021)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326160920279.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IsXF0rIq-1648641403021)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326161458257.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hTo7jOhK-1648641403022)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326161509285.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MQ2Nif8d-1648641403022)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326161923708.png)]

两种方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rEpSmnqi-1648641403023)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326161944451.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vIvTThro-1648641403023)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326162758362.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0qQsyk5W-1648641403023)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326162856910.png)]

访问测试即可;

6.6 HTTPServletResponse

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NhA1x8CD-1648641403024)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326163413134.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WOty0nGT-1648641403024)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326163644835.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WfdWtM4M-1648641403025)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326163656894.png)]

响应的状态码:

int SC_CONTINUE = 100;
int SC_SWITCHING_PROTOCOLS = 101;
int SC_OK = 200;
int SC_CREATED = 201;
int SC_ACCEPTED = 202;
int SC_NON_AUTHORITATIVE_INFORMATION = 203;
int SC_NO_CONTENT = 204;
int SC_RESET_CONTENT = 205;
int SC_PARTIAL_CONTENT = 206;
int SC_MULTIPLE_CHOICES = 300;
int SC_MOVED_PERMANENTLY = 301;
int SC_MOVED_TEMPORARILY = 302;
int SC_FOUND = 302;
int SC_SEE_OTHER = 303;
int SC_NOT_MODIFIED = 304;
int SC_USE_PROXY = 305;
int SC_TEMPORARY_REDIRECT = 307;
int SC_BAD_REQUEST = 400;
int SC_UNAUTHORIZED = 401;
int SC_PAYMENT_REQUIRED = 402;
int SC_FORBIDDEN = 403;
int SC_NOT_FOUND = 404;
int SC_METHOD_NOT_ALLOWED = 405;
int SC_NOT_ACCEPTABLE = 406;
int SC_PROXY_AUTHENTICATION_REQUIRED = 407;
int SC_REQUEST_TIMEOUT = 408;
int SC_CONFLICT = 409;
int SC_GONE = 410;
int SC_LENGTH_REQUIRED = 411;
int SC_PRECONDITION_FAILED = 412;
int SC_REQUEST_ENTITY_TOO_LARGE = 413;
int SC_REQUEST_URI_TOO_LONG = 414;
int SC_UNSUPPORTED_MEDIA_TYPE = 415;
int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416;
int SC_EXPECTATION_FAILED = 417;
int SC_INTERNAL_SERVER_ERROR = 500;
int SC_NOT_IMPLEMENTED = 501;
int SC_BAD_GATEWAY = 502;
int SC_SERVICE_UNAVAILABLE = 503;
int SC_GATEWAY_TIMEOUT = 504;
int SC_HTTP_VERSION_NOT_SUPPORTED = 505;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntK9ewMb-1648641403025)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326164310129.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ID8AFOrg-1648641403025)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220326165645474.png)]

3.验证码功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7CEN9v7L-1648641403025)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327102355613.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5sLCyLb-1648641403025)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327102446047.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C6kpFQ0x-1648641403026)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327102856280.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EyJJv5ne-1648641403026)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327102944900.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-moBB4y9x-1648641403028)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327103024556.png)]

6.7 HTTPServletRequest

HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,HTTP请求中的所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,获得客户端的所有信息;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4wHrwCn0-1648641403028)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327103827900.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WEgW7jnV-1648641403028)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327103838815.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UsPxPojV-1648641403029)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327105324305.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Isdiusv2-1648641403029)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327105217442.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B53EBXeB-1648641403030)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327105411427.png)]

7. Cookie, Session

7.1 会话

会话: 用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话;

**有状态会话:**一个同学来过教室,下次再来教室,我们会知道这个同学,曾经来过,称之为有状态会话;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KasMidxQ-1648641403031)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327110640905.png)]

7.2 保存会话的两种技术

cookie

  • 客户端技术 (响应,请求)

session

  • 服务器技术,利用这个技术,可以保存用户的会话信息.我们可以把信息或者数据放在Session中!

**常见应用: **网站登录之后,你下次不用再登录了,第二次访问直接就上去了!

7.3 Cookie

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1rKXlCYD-1648641403032)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327174549258.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uG2pIq1L-1648641403032)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327113432295.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RGYDq8IA-1648641403033)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327162942849.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hJLB98Ut-1648641403033)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327163437908.png)]

7.4 Session(重点)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mUIHZOt8-1648641403034)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327174700569.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P3Z9TlNx-1648641403034)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327174851749.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-polgBgLm-1648641403035)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327174902415.png)]

Session和cookie的区别: .

  • Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
  • Session把用户的数据写到用户独占Session中,服务器端保存(保存 重要的信息,减少服务器资源的浪费)
  • Session对象由服务创建;

使用场景:

  • 保存一个登录用户的信息;
  • 购物车信息;
  • 在整个网站中经常会使用的数据,我们将它保存在Session中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxOLAHNL-1648641403036)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327175106537.png)]

8. JSP

8.1 什么是JSP

Java Server Page : Java服务器端页面, 也和Server一样, 用于动态Web技术!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x9t1rhqX-1648641403036)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327211840065.png)]

8.2 JSP原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jsPpxRsP-1648641403037)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220327212009436.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e65hzQG1-1648641403038)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328085925921.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uDW1iYRj-1648641403038)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328090048321.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JB3jyDkj-1648641403039)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328090309303.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R3fkIpm2-1648641403039)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328090434582.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rS9Jq7mV-1648641403040)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328090734450.png)]

8.3 JSP基础语法

任何语言都有自己的语法,JAVA中有。 JSP 作为java技术的一种应用,它拥有一些自己扩充的语法(了解,知道即可! ) Java所有语法都支持!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UEzMDsA6-1648641403040)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328092154493.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oEB68cy8-1648641403040)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328092543196.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wnMQOuuJ-1648641403041)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328093126842.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5HEUtdb-1648641403041)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328093456764.png)]

8.4 JSP指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YBtLAkOd-1648641403041)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328104925262.png)]

8.5 九大内置对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7UgpMo0a-1648641403041)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328204805856.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YZbBxTEn-1648641403042)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328204818557.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CmAPHYnE-1648641403042)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328205044878.png)]

8.6 JSP标签, JSTL标签, EL表达式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Krob9idg-1648641403043)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328205809607.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0lY0uu7G-1648641403044)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328205824896.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3U5Y5aeL-1648641403045)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328210227211.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8P6scAku-1648641403045)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328210435591.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tOSr1uKz-1648641403046)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328211513509.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eswaqTKx-1648641403046)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328212624420.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m6rdfswc-1648641403046)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220328212636574.png)]

9. JavaBean

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xeH7jqrp-1648641403047)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329103701582.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xrY97J5u-1648641403048)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329112819668.png)]

10. MVC三层架构

什么是MVC: Model view Controller 模型、视图、控制器

10.1 早期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xeQLBuRB-1648641403048)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329161403064.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nqDwse13-1648641403050)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329161846856.png)]

10.2 MVC三层架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vQWsFR02-1648641403050)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329161835333.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9vIIJUXq-1648641403051)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329162240124.png)]

11. Filter(重点)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xzd0KKiE-1648641403051)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329162618367.png)]

Filter开发步骤:

  1. 导包

  2. 编写过滤器

    1. 导包不要错

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qJ6gPlzQ-1648641403051)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329164420724.png)]

    2. 实现Filter接口,重写对应的方法即可

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eJP1LNl1-1648641403052)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329164533396.png)]

    3. 在web.xml中配置 Filter

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wZUOP7un-1648641403053)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329164626063.png)]

12. 监听器

实现一个监听器的接口

  1. 编写一个监听器

    实现监听器的接口

  2. web.xml中注册监听器

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-epcqXARr-1648641403053)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329165700582.png)]

  3. 看情况是否使用

13. 过滤器,监听器常见应用

监听器: GUI编程中经常使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6qcTtfPy-1648641403054)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329172653017.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-etgnkPKm-1648641403054)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329192232915.png)]

14. JDBC

  • JDBC详细介绍请看:https://blog.csdn.net/WXxz0/article/details/123343981

JDBC(Java Database Connection): Java连接数据库!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KxHwZN9-1648641403055)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220329210122885.png)]

需要jar包的支持

  • java.sql

  • javax.sql

  • mysql-connector-java-5.1.37-bin.jar 连接驱动(必须要导入)

  • 数据库建表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0rmdArDf-1648641403055)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220330150744736.png)]

  • 导入数据库依赖

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-senDiuDr-1648641403056)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220330150902302.png)]

  • IDEA中连接数据库

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VrIMglPr-1648641403056)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220330151021373.png)]

  • JDBC固定步骤(重点!)

    1. 加载驱动
    2. 连接数据库,代表数据库
    3. 向数据库发送SQL的对象Statement: CRUD
    4. 编写SQL(根据业务编写不同的SQL语句)
    5. 执行SQL
    6. 关闭连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-096b59Wn-1648641403057)(C:\Users\许正\AppData\Roaming\Typora\typora-user-images\image-20220330152051366.png)]

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-31 23:49:43  更:2022-03-31 23:50:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:24:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码