前端技术和框架

news2024/11/17 19:29:31

一、各种技术概述

1.HTML

🧨HTML中文称为超文本标记语言,从语义上来说,它只是一种是一种标识性的语言,并不是一种编程语言。

<p>这是一段话</p>

通过这个标签可以表示文本的一个段落。而且其中还有还有图片标签、视频标签、声音标签、表格标签等等标签,通过将这些标签组织并且关联起来后,从而将分散的网络资源整合在一起,来展现在人们的面前。它是来设定网页的结构和内容的。

2.CSS

🎈CSS是「层叠样式表单」。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言

CSS英文全称:Cascading Style Sheets,中文称为:层叠样式表或者级联样式表。它是一种负责页面样式的语言,也就是来修饰HTML(超文本标记语言)的。简单的来说也就是设定网页是以什么样子来表现的

HTML和它的区别在于,HTML只是用来编写网页的结构和内容,而它可以决定网页的表现样式。所以标签中的元素展示到页面中的效果应该由CSS来决定。

在这里插入图片描述

3.JS

⚽JS的全称Javascript

Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。

JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序员。更名为JavaScript。

JS 是弱类型,Java 是强类型

特点:
交互性(它可以做的就是信息的动态交互)
安全性(不允许直接访问本地硬盘)
跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)

4.jQuery

🧶jQuery,顾名思义,也就是 JavaScript 和查询(Query),它就是辅助 JavaScript 开发的JS类库

它的核心思想是 write less,do more(写得更少,做得更多),所以它实现了很多浏览器的兼容问题。

jQuery库封装了JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

🧨$ 是 jQuery 的核心函数,能完成 jQuery 的很多功能。$ ()就是调用$这个函数

5.Servlet

🥽个人理解:可以认为是SpringBoot的Controller的接口

🎈什么是Servlet
1、Servlet 是 JavaEE 规范之一。规范就是接口
2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

手动实现 Servlet 程序
1、编写一个类去实现 Servlet 接口
2、实现 service 方法,处理请求,并响应数据
3、到 web.xml 中去配置 servlet 程序的访问地址

6.Jsp

Jsp 的全称是 java server pages。Java 的服务器页面。

🎨Jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据。
因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。

它允许使用特定的标签在 HTML 网页中插入 Java 代码,实现动态页面处理,所以 JSP 就是 HTML 与Java 代码的复合体。JSP 技术可以快速的实现一个页面的开发,相比在 Servlet 中实现页面开发将变得更加容易。

总结:
请求转发是一个静态页面,而JSP和servlet response是实现动态页面
普通的请求转发怎么把想要的信息发送给页面接收?
比如用户登录,如果密码出错需要回传给浏览器,显示错误信息在登录界面,请求转发怎么做到?针对每一个情况写一个html页面吗?
显然不可能!

实际的应用场景
1.前端有个搜索按钮,点击搜索请求Servlet程序
2.Servlet程序获取请求参数、发送sql语句查询信息、保存学生信息到request域中
3.Servlet不太适合回传显示信息、进行请求转发到jsp页面
5.创建jsp专门用来回传显示信息,从request中得到数据
在这里插入图片描述

7.AJAX

🎁Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指⼀种创建交互式⽹⻚应⽤的⽹⻚开发技术。

ajax 是一种浏览器通过 JS 异步发起请求,局部更新页面的技术。

Ajax 请求的局部更新,浏览器地址栏不会发生变化
局部更新不会舍弃原来页面的内容

Ajax 是⼀种⽤于创建快速动态⽹⻚的技术。

Ajax 通过在后台与服务器进⾏少量数据交换,Ajax 可以使⽹⻚实现异步更新。这意味着可以在不重新加载整个⽹⻚的情况下,对⽹⻚的某部分进⾏更新。

传统的⽹⻚(不使⽤ Ajax)如果需要更新内容,必须重载整个⽹⻚⻚⾯。

8.VUE

🧨Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架

Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

官方网站:https://cn.vuejs.org
vue.js下载:https://v2.cn.vuejs.org/v2/guide/installation.html

声明式渲染:Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统。
这里的核心思想就是没有繁琐的DOM操作,例如jQuery中,我们需要先找到div节点,获取到DOM对象,然后进行一系列的节点操作

9.axios

axios是独立于vue的一个项目,基于promise用于浏览器和node.js的http客户端

在浏览器中可以帮助我们完成 ajax请求的发送
node.js中可以向远程接口发送请求

10.element-ui

element-ui 是饿了么前端出品的基于 Vue.js的 后台组件库,方便程序员进行页面快速布局和构建。Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

说的简单点可以快速写页面的各种效果,不需要写CSS样式

官网:https://element.eleme.cn/#/zh-CN

11.nodejs

🎨什么是Node.js
简单的说 Node.js 就是运行在服务端的 JavaScript
JavaScript的运行环境,用于执行JavaScript代码环境
不需要浏览器,直接使用node.js运行JavaScript代码
模拟服务器效果,比如说tomcat

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

Node.js有什么用
如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。
Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。

当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。

官网:https://nodejs.org/en/
中文网:http://nodejs.cn/
LTS:长期支持版本
Current:最新版

NUXT

es6

Bootstrap

二、区别

1.jquery和JavaScript之间的联系和区别

1.概念及功能(两者之间的联系):
JavaScript是用于Web客户端开发的脚本语言
jQuery是js的框架,基于js语言。功能:集合Ajax技术开发出来的js库,封装js和Ajax的功能,提供函数接口,简化js的操作。(注:在大多数的项目中,jquery 用的比较多)。

2.引用:
js代码需要写在中
jQuery需要在head标签中引用jQuery库:

<script language="javascript" src="/js/jquery.min.js"></script>(本地引用)

三、使用方式

1.CSS和HTML结合使用

把 css 样式写成一个单独的 css 文件,再通过 link 标签引入即可复用。

div{
	border: 1px solid yellow;
}
span{
	border: 1px solid red;
}
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
	<!--link 标签专门用来引入 css 样式代码-->
	<!-- <link rel="stylesheet" type="text/css" href="./styles.css" /> 标签-->
	<!--rel="stylesheet":定义一个外部加载的样式表-->
	<link rel="stylesheet" type="text/css" href="1.css"/>
</head>

<body>
	<div>div 标签 1</div>
	<div>div 标签 2</div>
	<span>span 标签 1</span>
	<span>span 标签 2</span>
</body>
</html>

2.HTML与JavaScript结合使用

使用 script 标签引入单独的 JavaScript 代码文件
在这里插入图片描述
用script标签引入外部的js文件来执行
src 属性专门用来引入js文件路径(可以是相对路径,也可以是绝对路径)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--
        script标签可以用来定义js代码,也可以用来引入js文件
        但是,两个功能二选一使用。不能同时使用两个功能,不能引入之后在里面再写代码
    -->
    <script type="text/javascript" src="1.js"></script>
    <script type="text/javascript">
        alert("国哥现在可以帅了");
    </script>
</head>
<body>

</body>
</html>

3.JSP使用

实际的应用场景
1.前端有个搜索按钮,点击搜索请求Servlet程序
2.Servlet程序获取请求参数、发送sql语句查询信息、保存学生信息到request域中
3.Servlet不太适合回传显示信息、进行请求转发到jsp页面
5.创建jsp专门用来回传显示信息,从request中得到数据

在这里插入图片描述
SearchStudentServlet程序

package com.atguigu.servlet;

import com.atguigu.pojo.Student;

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.util.ArrayList;
import java.util.List;

public class SearchStudentServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获取请求的参数
        // 发sql语句查询学生的信息
        // 使用for循环生成查询到的数据做模拟
        List<Student> studentList = new ArrayList<Student>();
        for (int i = 0; i < 10; i++) {
            int t = i + 1;
            studentList.add(new Student(t,"name"+t, 18+t,"phone"+t));
        }
        // 保存查询到的结果(学生信息)到request域中
        req.setAttribute("stuList", studentList);
        // 请求转发到showStudent.jsp页面
        req.getRequestDispatcher("/test/showStudent.jsp").forward(req,resp);
    }
}

Jsp得到数据

<%
	List<Student> studentList = (List<Student>) request.getAttribute("stuList");
%>

完整页面

<%@ page import="java.util.List" %>
<%@ page import="com.atguigu.pojo.Student" %>
<%@ page import="java.util.ArrayList" %>

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  To change this template use File | Settings | File Templates.
--%>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <style>
        table{
            border: 1px blue solid;
            width: 600px;
            border-collapse: collapse;
        }
        td,th{
            border: 1px blue solid;
        }
    </style>
</head>
<body>
<%--练习二:jsp输出一个表格,里面有10个学生信息。--%>
    <%
        List<Student> studentList = (List<Student>) request.getAttribute("stuList");
    %>
    <table>
        <tr>
            <td>编号</td>
            <td>姓名</td>
            <td>年龄</td>
            <td>电话</td>
            <td>操作</td>
        </tr>
    <% for (Student student : studentList) { %>
        <tr>
            <td><%=student.getId()%></td>
            <td><%=student.getName()%></td>
            <td><%=student.getAge()%></td>
            <td><%=student.getPhone()%></td>
            <td>删除、修改</td>
        </tr>
    <% } %>
    </table>

</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dvwa及Sqli安装

Dvwa与Sqli安装资源准备Dvwa安装SQLI安装资源准备 链接&#xff1a;https://pan.baidu.com/s/1ZhPTmSgD-VaAevK-JyWtjQ 提取码&#xff1a;2hkd Dvwa安装 首先将Dvwa解压到phpstudy的www目录下&#xff1a; 然后进入到相应的config文件下&#xff0c;会发现一个dist结尾的文…

第三节 流程控制语句

流程控制语句 顺序结构 分支结构 if分支结构&#xff1a; 格式1: if(条件表达式){ 代码 } 格式2&#xff1a; if(条件表达式){ 代码 }else{ 代码 } 格式3&#xff1a; if(条件表达式){ 代码 }else if&#xff08;&#xff09;{ 代码 }else if&#xff08;&#xff09;{ 代码…

SpringCloud(五)MQ消息队列

MQ概念常见消息模型helloworld案例实现实现spring AMQP发送消息实现spring AMQP接收消息工作消息队列实现发布订阅模型Fanout Exchange实现DirectExchange实现TopicExchange实现DirectExchange 和FanoutExchange的差异DirectExchange 和TopicExchange的差异基于RabbitListener注…

浅谈hcip devops考试心得

官网&#xff1a;华为HCIP-Cloud Service DevOps Engineer 今天考过了hcip devops的考试&#xff0c;写两句&#xff0c;对于一些参加考试的朋友留下一点参考: 第一个问题&#xff0c;hcip还需要报班嘛&#xff1f; 我认为这一项是不需要的&#xff0c;有点浪费钱&#xff0c;…

软件测试人员会被替代吗?IT行业哪个方向的前景最好?字节12年测开是这样说的

互联网测试从业12年&#xff0c;前来作答。 逻辑上来说&#xff0c;软件工程最初始只需要两个岗位&#xff0c;一个是产品经理。&#xff0c;一个是研发&#xff08;开发&#xff09;&#xff0c;剩余的 所有岗位都是由他们衍生而来的。 第三个岗位大概率就是测试&#xff0c…

继电器的工作原理、构成和功能介绍

随着电力应用的不断发展&#xff0c;电气设备已经深入到我们的日常生活中&#xff0c;电气自动化技术大量使用在电力系统和生产型企业中&#xff0c;人们在享受电带来方便的同时要注意用电保护。继电器就是为了保护电路而生的&#xff0c;可以提高电路可靠性&#xff0c;保障用…

山洪径流过程模拟及洪水危险性评价

目录 1.洪水淹没危险性评价方法及技术讲解 2.GIS水文信息提取与分析(基于ArcGIS软件) 3.洪水淹没模拟水文分析&#xff1a;洪峰流量估算 4.洪水淹没模拟水力学分析&#xff1a;Hec-RAS实例操作 GIS水文分析&#xff08;ArcHydro、Spatial Anlysist等模块&#xff09;是流域…

从银行数字化转型来聊一聊,火山引擎 VeDI 旗下 ByteHouse 的应用场景

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 近日&#xff0c;火山引擎凭借云原生数据分析平台 ByteHouse&#xff0c;成功入围行业媒体 Internet Deep&#xff08;互联网周刊&#xff09;发布的《2022 云原生企…

【Linux】软件包管理器yum和编辑器vim的使用

文章目录1.软件包管理器yum1.1什么是软件包和软件包管理器1.2yum的介绍与使用2.编辑器vim2.1vim的基本概念2.2vim的基本操作2.3vim【Nomal mode】命令集2.4 vim末行模式命令集2.5 简单的vim配置1.软件包管理器yum 1.1什么是软件包和软件包管理器 在Linux下下载软件的方式是下…

数据治理之元数据管理Atlas

数据治理之元数据管理的利器——Atlas 一、数据治理与元数据管理 1.1 背景 为什么要做数据治理&#xff1f; 业务繁多&#xff0c;数据繁多&#xff0c;业务数据不断迭代。人员流动&#xff0c;文档不全&#xff0c;逻辑不清楚&#xff0c;对于数据很难直观理解&#xff0c;…

高阶人生从在职读研开始——中国社科院与美国杜兰大学金融管理硕士

说到学历&#xff0c;好多人都不太在意&#xff0c;感觉学历没什么用。等升职学历被卡时&#xff0c;等你想考公学历达不到时&#xff0c;当你想跳槽更大的平台时&#xff0c;学历会显得尤其重要。当机会来临时&#xff0c;我们应该做好全足的准备&#xff0c;而不是眼瞅着机会…

【CSS文字滚动】CSS实现文字横向循环无缝滚动,鼠标移入暂停移出继续(附实测源码)

CSS如何实现文字横向滚动滚动效果1、垃圾liMarquee&#xff08;最好别用&#xff09;2、css实现文字滚动&#xff0c;且鼠标移入移出暂停和继续HTML源码如下&#xff1a;CSS源码如下&#xff1a;JS源码如下&#xff1a;3、片尾彩蛋CSS实现文字横向循环无缝滚动&#xff0c;鼠标…

为什么文档对 SaaS 公司至关重要?

在过去十年左右的时间里&#xff0c;SaaS的兴起使全球数百家公司成为家喻户晓的公司。但他们并不是仅仅依靠产品的力量到达那里的。客户服务和支持是使一切在幕后顺利进行的原因——其中很大一部分是文档。以正确的风格和正确的位置在您的网站上找到适当的用户文档对于将浏览器…

Docker----------网络network

1. 是什么 1.1docker不启动默认网络 1.ens332.lo3.virbr0 在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后&#xff0c;启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡&#xff1a;它还有一个固定的默认IP地址192.168.122.1)&#xff0c…

大数据技术生态全景一览

大数据技术生态全景一览大数据平台ETL数据接入大数据平台海量数据存储大数据平台通用计算大数据平台各场景的分析运算分布式协调服务任务流调度引擎大数据平台ETL数据接入 大数据有很多的产品&#xff0c;琳琅满目。从架构图上就能看出产品很多。这些产品它们各自的功能是什么…

乐友商城学习笔记(十六)

购物车功能分析 新增 判断用户是否登陆&#xff08;页面&#xff09; 未登录&#xff0c;添加到页面的localstrorage中 登陆&#xff0c;添加到redis中 已经存在该商品的购物车记录&#xff0c;更新数量&#xff0c;否则新增一条商品的购物车记录 查询 ly.store.get(“LY_C…

【打卡】图分析与节点嵌入

背景介绍 图&#xff08;Graphs&#xff09;是一种对物体&#xff08;objects&#xff09;和他们之间的关系&#xff08;relationships&#xff09;建模的数据结构&#xff0c;物体以结点&#xff08;nodes&#xff09;表示&#xff0c;关系以边&#xff08;edges&#xff09;…

Uncaught ReferenceError: jQuery is not defined

今天在拉取项目部署到本地的时候遇到了一个问题特此记录一下 &#xff08;以后闭坑&#xff09; 我和同事同时拉取了一样的代码&#xff0c;结果同事的页面加载正常而我的页面像被狗啃了一样&#xff0c;知道是js的问题但是不知道问题出在哪里&#xff1f;后来还是同事帮我解决…

Python - DIY - 使用dump取json某些键值对合成新的json文件

Python - Json处理前言&#xff1a;应用场景&#xff1a;基本工具&#xff1a;文件操作&#xff1a;打开文件&#xff1a;写文件&#xff1a;读文件&#xff1a;关闭文件并刷新缓冲区&#xff1a;Json字符串和字典转换&#xff1a;json.loads()&#xff1a;json.dumps():Json文…

高端电器新十年,求解「竞速突围」

竞争激烈的高端电器品牌们&#xff0c;平时王不见王&#xff0c;但也有例外。海尔、博西、海信、创维、方太、老板等等近乎中国电器行业所有一线品牌副总裁级别以上高层&#xff0c;2月22日都现身于上海&#xff0c;来参加一场由红星美凯龙攒起来的高端电器局&#xff0c;2023中…