关于前端的一些知识


关于前端

? 总纲: HTML相当于人的骨骼, CSS相当于给人化妆, JS相当于让人的局部动起来.




01.HTML 入门




    
    HTML入门
   







02.HTML的常用标签演示




    
    02.HTML的常用标签演示

 
    
    
        
  • 飞机
  • 高铁
  • 轮船

  1. 鲱鱼罐头
  2. 臭鳜鱼
  3. 螺蛳粉
  4. 臭豆腐
  5. 臭豆腐

图片正在拼命加载中...

我用双手, 成就你一生的梦想!
我是块标签, 我独占一行, 我一般要结合CSS一起使用
我是块标签, 我独占一行, 我一般要结合CSS一起使用
我是块标签, 我独占一行, 我一般要结合CSS一起使用

我是字体 我是字体 我是字体



03.HTML的表单标签




    
    03.HTML的表单标签



    
    
    
账号:
密码:
性别:
爱好: 篮球 足球 桌球 乒乓球
上传头像:
个人说明:
籍贯:



04.CSS入门




    
    CSS入门
    


    
div111
div222
div333

05.css样式之内部样式




    
    内部样式

    
    


    
div111
div222
div333

06.css样式之外部样式




    
    外部样式

    
    


    
div111
div222
div333

07.JS入门




    
    JS入门
    

    
   

    
    <script src="../js/my.js"></script>


    


08.DOM树结构

09.提交数据方式

发送请求,获取数据。(String形式的html页面):
	原生态的JDK方式   get  post
	HttpClient方式   get  post

Get方式:
	提交数据到URL地址栏,相对不安全,效率高,提交数据有大小限制。
Post方式:
	提交数据在请求体中,相对安全,效率低,提交数据大小理论上无限制。

问:什么是请求体呢?
答:它是Http协议的组成部分,Http协议是由  请求 和 响应 两部分组成。
	请求:请求行、请求头、请求体(Get方式没有请求体)
	响应:响应行、响应头、响应体

10.发送请求获取数据之 HttpClient对象的get方式

package com.itheima.demo02_httpclient;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/*
    案例: 演示 发送请求获取数据之  HttpClient对象的get方式  (掌握)

    爬虫的步骤:
        1. 明确首页URL.
        2. 发送请求, 获取数据.
        3. 解析数据.
        4. 保存数据.

    爬虫简介:
        就是模拟浏览器向服务器发送请求, 并获取数据.

    细节:
        1. 使用HttpClient之前, 需要先导包.
        2. 一个HttpClient对象 = 一个浏览器对象.
 */
public class Demo01 {
    public static void main(String[] args) throws Exception {
        //1. 明确首页URL.
        String indexUrl = "http://www.itcast.cn";
        //2. 发送请求, 获取数据.
        //2.1 获取HttpClient对象, 即: 获取一个浏览器对象.
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //2.2 创建HttpGet对象, 关联URL, 模拟: get请求.
        HttpGet httpGet = new HttpGet(indexUrl);
        //2.3 设置请求头, 即: 模拟何种浏览器.
        //谷歌浏览器
        httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36");
        //2.4 通过HttpClient对象发送HttpGet对象, 获取 响应对象(包含: 响应行, 响应头, 响应体)
        CloseableHttpResponse httpResponse = httpClient.execute(httpGet);
        //2.5 从响应行中提出去响应状态码, 看其是否是200, 如果是表示响应成功, 我们在获取响应数据.
        if (httpResponse.getStatusLine().getStatusCode() == 200) {
            //2.6 获取响应头信息, 并打印.   这一步操作没有啥用, 就是给你看看, 我们能获取响应头信息.
            /*Header[] headers = httpResponse.getAllHeaders();
            for (Header header : headers) {
                System.out.println(header);
            }*/
            //2.7 获取响应体数据, 并打印.
            HttpEntity entity = httpResponse.getEntity();
            //2.7.1 如果是图片, 音频等数据, 要通过IO流的方式获取.
            //InputStream is = entity.getContent();

            //2.7.2 如果是纯文本呢, 可以通过 EntityUtils#toString()方法快速获取.
            String html = EntityUtils.toString(entity,"UTF-8");         //获取的就是字符串形式的html
            System.out.println(html);
            System.out.println("---------------------------");


            //3. 解析数据.
            Document dom = Jsoup.parse(html);
            Elements liEles = dom.select(".ulon>li");   //所有的
  • 标签 for (Element liEle : liEles) { //liEle就是每一个标签 System.out.println(liEle.text()); } } //2.8 释放资源. httpClient.close(); //关闭浏览器. //4. 保存数据. } }
  • 11.HttpClient方式发送请求, 获取数据之 post方式.

    package com.itheima.demo01_httpclient;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    
    import java.util.ArrayList;
    
    /*
        案例: HttpClient方式发送请求, 获取数据之 post方式.
    
        爬虫的基本步骤:
            1. 明确首页URL.
            2. 发送请求, 获取数据.
                方式1: 原生态JDK方式, get, post
                方式2: HttpClient(浏览器对象)方式, get, post    掌握
            3. 解析数据.
            4. 释放资源.
    
        HttpClient简介:
            概述:
                它是专门用来处理Http请求的对象, 可以把它当做一个 浏览器对象.
                用之前需要先导包.
     */
    public class Demo02 {
        public static void main(String[] args) throws Exception {
            //1. 明确首页URL.
            String indexUrl = "http://www.itcast.cn";
            //2. 发送请求, 获取数据.
            //2.1 创建HttpClient对象, 模拟浏览器.
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //2.2 创建HttpPost对象, 即: 请求对象, 封装所有的请求参数.
            HttpPost httpPost = new HttpPost(indexUrl);
            //2.3 设置请求头, 即:  模拟何种浏览器.
            httpPost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36");
    
            //2.4. 设置请求体.
            //2.4.1 创建集合对象, 用来记录: 请求体中的请求参数.
            ArrayList list = new ArrayList<>();
            //2.4.2 添加请求参数对象到集合中.
            list.add(new BasicNameValuePair("username", "admin01"));
            list.add(new BasicNameValuePair("password", "pw111"));
            //2.4.3 将封装有请求参数的集合 作为构造方法的参数, 获取: 具体的请求体对象.
            UrlEncodedFormEntity requestEntity = new UrlEncodedFormEntity(list);
            //2.4.4 设置请求体对象到 请求对象中.
            httpPost.setEntity(requestEntity);
    
    
            //2.5 发送请求, 获取数据, 获取的是响应对象(即: 包含所有的响应信息, 例如: 响应行, 响应头, 响应体
            CloseableHttpResponse response = httpClient.execute(httpPost);
            //2.6 从响应行中获取响应状态码, 并判断是否是200(表示响应成功)
            if (response.getStatusLine().getStatusCode() == 200) {
                //2.7 如果响应成功, 则从响应对象中获取 具体的响应体对象.
                HttpEntity entity = response.getEntity();
                //2.8 从响应体对象中获取具体的响应信息, 并操作.
                String html = EntityUtils.toString(entity, "utf-8");
                System.out.println(html);
            }
            //2.9 释放资源.
            httpClient.close();
    
    
            //3. 解析数据.
            //4. 释放资源.
        }
    }