浅谈并小结一下web前端的知识点

1.web概念概述

1.1JavaWeb

使用Java语言开发基于互联网的项目。

1.2 软件架构

1.2.1 C/S: Client/Server 客户端/服务器端

在用户本地有一个客户端程序,在远程有一个服务器端程序。如:QQ,迅雷...
       优点:
            1. 用户体验好。
       缺点:
            1. 开发、安装,部署,维护较后者麻烦。

1.2.2 B/S: Browser/Server 浏览器/服务器端

 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序。
         优点:
            1. 开发、安装,部署,维护较前者简单。
         缺点:
            1. 如果应用过大,用户的体验可能会受到影响。
            2. 对硬件要求过高。

1.2.3 B/S架构详解

资源分类:
1. 静态资源:
使用静态网页开发技术发布的资源。
            特点:
                所有用户访问,得到的结果是一样的。
                如:文本,图片,音频、视频, HTML,CSS,JavaScript。
                如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源。
2. 动态资源:
使用动态网页及时发布的资源。
             特点:
               所有用户访问,得到的结果可能不一样。
               如:jsp/servlet,php,asp...
               如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器。

3. 我们要学习动态资源,必须先学习静态资源!

静态资源:
         HTML:用于搭建基础网页,展示页面的内容。
         CSS:用于美化页面,布局页面。
         JavaScript:控制页面的元素,让页面有一些动态的效果。

2.HTML

2.1 概念

是最基础的网页开发语言Hyper Text Markup Language 超文本标记语言。
超文本:

      超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。
标记语言:
      由标签构成的语言。<标签名称> 如 html,xml.
标记语言不是编程语言。

2.2 快速入门

语法:
1. html文档后缀名 .html 或者 .htm
2. 标签分为:
     1. 围堵标签:有开始标签和结束标签。如 <html> </html>

3. 标签可以嵌套:
            需要正确嵌套,不能你中有我,我中有你
            错误:<a><b></a></b>
            正确:<a><b></b></a>

4. 在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)引起来
5. html的标签不区分大小写,但是建议使用小写。

2.2.1 hello world案例代码实现

<html>
		
	<head>

	<title>title</title>

	</head>
			
	<body>
			
	<font color='green'>Hello World</font>
			
	</body>
	
</html>

2.3 常用标签学习

2.3.1 文件标签:构成html最基本的标签

         html:html文档的根标签。
         head:头标签。用于指定html文档的一些属性。引入外部的资源。
         title:标题标签。
         body:体标签。
        <!DOCTYPE html>:html5中定义该文档是html文档。

2.3.2 文本标签:和文本有关的标签

 注释:<!-- 注释内容 -->
<h1> to <h6>:标题标签、h1~h6:字体大小逐渐递减、<p>:段落标签、<br>:换行标签、<hr>:展示一条水平线...
属性: color:颜色、width:宽度、size:高度、align:对其方式(center:居中,left:左对齐, right:右对齐)
<b>:字体加粗、<i>:字体斜体、<font>:字体标签、 <center>:文本居中
属性:color:颜色、size:大小、 face:字体...

属性定义
color:
                1. 英文单词:red,green,blue。
                2. rgb(值1,值2,值3):值的范围:0~255  如  rgb(0,0,255)。
                3. #值1值2值3:值的范围:00~FF之间。如: #FF00FF。
width:
                1. 数值:width='20' ,数值的单位,默认是 px(像素)。
                2. 数值%:占比相对于父元素的比例。

2.3.3 表单标签:和表单有关的标签

表单概念:用于采集用户输入的数据的。用于和服务器进行交互。
form标签:用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围。
form标签的重要属性:
action:指定提交数据的URL
method:指定提交方式
            method值 分类:一共7种,2种比较常用
                   get:
                        1. 请求参数会在地址栏中显示。会封装到请求行中(HTTP协议后讲解)。
                        2. 请求参数大小是有限制的。
                        3. 不太安全。
                   post:
                        2. 请求参数不会再地址栏中显示。会封装在请求体中(HTTP协议后讲解)。
                        2. 请求参数的大小没有限制。
                        3. 较为安全。

注意:表单项中的数据要想被提交:必须指定其name属性!

2.3.4 表单项标签

input:可以通过type属性值,改变元素展示的样式 type属性: text:文本输入框,默认值placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息。

password:密码输入框 radio:单选框  1. 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样。 2. 一般会给每一个单选框提供value属性,指定其被选中后提交的值 3. checked属性,可以指定默认值  checkbox:复选框。

注意: 1. 一般会给每一个单选框提供value属性,指定其被选中后提交的值 2. checked属性,可以指定默认值。

file:文件选择框
                hidden:隐藏域,用于提交一些信息。
按钮:
                submit:提交按钮。可以提交表单。
                button:普通按钮。
                image:图片提交按钮。
                src属性指定图片的路径。    

abel:指定输入项的文字描述信息
                注意:label的for属性一般会和 input 的 id属性值 对应。如果对应了,则点击label区域,会让input输入框获取焦点。
select: 下拉列表
                子元素:option,指定列表项。
textarea:文本域
                cols:指定列数,每一行有多少个字符。
                rows:默认多少行。

3.CSS:页面美化和布局设置

3.1 概念

Cascading Style Sheets 层叠样式表,层叠:多个样式可以作用在同一个html的元素上,同时生效

 3.2 CSS的使用:CSS与html结合方式

1. 内联样式:在标签内使用style属性指定css代码。
         如:<div style="color:red;">hello css</div>
2. 内部样式:在head标签内,定义style标签,style标签的标签体内容就是css代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
     div{
       color:blue;
        }
  </style>
</head>
<body>
    <div>hello css</div>
</body>
</html>

         
3. 外部样式
1). 定义css资源文件。
2). 在head标签内,定义link标签,引入外部的资源文件
引入hello.css文件:
    

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<link rel="stylesheet" href="css/hello.css">
             div{
                    color:green;
                }
   
</head>
<body>
    <div>hello css</div>
    <div>hello css</div>
</body>
</html> 

      

4. css语法:
格式:
选择器 {
            属性名1:属性值1;
            属性名2:属性值2;
            ...
            }
选择器:筛选具有相似特征的元素
注意: 每一对属性需要使用";"隔开,最后一对属性可以不加";"。

5. 选择器:筛选具有相似特征的元素
分类:
1). id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一,语法:#id属性值{}。
2). 元素选择器:选择具有相同标签名称的元素,语法: 标签名称{}。3. 类选择器:选择具有相同的class属性值的元素。语法:.class属性值{}。4.选择所有元素:语法: *{}。

4.Javascript

4.1 概念与功能

概念:一门客户端脚本语言。运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎,脚本语言:不需要编译,直接就可以被浏览器解析执行了

功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。

4.2 基本语法

基本语法与Java类似。

数据类型:
1. 原始数据类型(基本数据类型):
                1. number:数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
                2. string:字符串。 字符串  "abc" "a" 'abc'
                3. boolean: true和false
                4. null:一个对象为空的占位符
                5. undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
                
2.引用数据类型:对象(常用对象)

//Function:函数(方法)对象
//创建           
    var a=3;
    var b=4;
    function fun(a) {
       alert(a);
    }
    fun=function (b) {
       document.write(b);
    }

		//Array:数组对象
            //1. 创建:
                var arr = new Array(1,'a','abc');
                var arr = new Array(5);
                var arr = [1,'a','abc'];
            //2. 方法
        //join(参数):将数组中的元素按照指定的分隔符拼接为字符串
        //push()	向数组的末尾添加一个或更多元素,并返回新的长度
          
//length:数组的长度,JS中,数组元素的类型可变的。JS中,数组长度可变的
         //Date:日期对象
            //1. 创建:
                var date = new Date();

            //2. 方法:
         //toLocaleString():返回当前date对象对应的时间本地字符串格式
         //getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差

5.BootStrap

5.1 概念

1. 概念: 一个前端开发的框架,Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。
框架:一个半成品软件,开发人员可以在框架基础上,在进行开发,简化编码。

好处:
        1. 定义了很多的css样式和js插件。我们开发人员直接可以使用这些样式和插件得到丰富的页面效果。
        2. 响应式布局。
           同一套页面可以兼容不同分辨率的设备。

5.2 快速入门

<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap HelloWorld</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="js/jquery-3.2.1.min.js"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="js/bootstrap.min.js"></script>
</head>
<body>
<h1>你好,世界!</h1>

</body>
</html>

5.3 响应式布局 

同一套页面可以兼容不同分辨率的设备。
实现:依赖于栅格系统:将一行平均分成12个格子,可以指定元素占几个格子。
步骤:
    1. 定义容器。相当于之前的table。
容器分类:
            1. container:两边留白。
            2. container-fluid:每一种设备都是100%宽度。
    2. 定义行。相当于之前的tr   样式:row。
    3. 定义元素。指定该元素在不同的设备上,所占的格子数目。样式:col-设备代号-格子数目
设备代号:
            1. xs:超小屏幕 手机 (<768px):col-xs-12
            2. sm:小屏幕 平板 (≥768px)
            3. md:中等屏幕 桌面显示器 (≥992px)
            4. lg:大屏幕 大桌面显示器 (≥1200px)

注意:
        1. 一行中如果格子数目超过12,则超出部分自动换行。
        2. 栅格类属性可以向上兼容。栅格类适用于与屏幕宽度大于或等于分界点大小的设备。
        3. 如果真实设备宽度小于了设置栅格类属性的设备代码的最小值,会一个元素沾满一整行。

6.XML

6.1 概念

1. 概念:Extensible Markup Language 可扩展标记语言,可扩展:标签都是自定义的。 <user>  <student>

功能: 存储数据
            1. 配置文件
            2. 在网络中传输
xml与html的区别
        1. xml标签都是自定义的,html标签是预定义。
        2. xml的语法严格,html语法松散
        3. xml是存储数据的,html是展示数据

2. 语法:
基本语法:
        1. xml文档的后缀名 .xml
        2. xml第一行必须定义为文档声明
        3. xml文档中有且仅有一个根标签
        4. 属性值必须使用引号(单双都可)引起来
        5. 标签必须正确关闭
        6. xml标签名称区分大小写

6.2 快速入门

<?xml version='1.0' ?>
		<users>
			<user id='1'>
				<name>zhangsan</name>
				<age>23</age>
				<gender>male</gender>
				<br/>
			</user>
			
			<user id='2'>
				<name>lisi</name>
				<age>24</age>
				<gender>female</gender>
			</user>
		</users>

6.3 xml常见的解析器
        

1. JAXP:sun公司提供的解析器,支持dom和sax两种思想。
        2. DOM4J:一款非常优秀的解析器。
        3. Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
        4. PULL:Android操作系统内置的解析器,sax方式的。

6.3.1 示例代码

package xml;
import cn.wanghaomiao.xpath.model.JXDocument;
import cn.wanghaomiao.xpath.model.JXNode;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import java.io.File;
import java.util.List;

public class JsoupDemo {

    public static void main(String[] args) throws Exception {
        //以下是Xpath语法查询
        //1.获取students.xml文件的path
        String path = ClassLoader.getSystemClassLoader().getResource("students.xml").getPath();
        //2.获取Document 文档对象
        Document document = Jsoup.parse(new File(path), "utf-8");
        //3.根据 Document对象船舰JXDocument对象
        JXDocument jxDocument=new JXDocument(document);
        //4.结合Xpath语法查询
        //4.1查询根结点student下的所有子结点
        List<JXNode> jxNodes = jxDocument.selN("//student");
        //遍历查询结果
        jxNodes.forEach(System.out::println);
        System.out.println("------------------");
        //4.2查询根结点student下的name结点内容
        List<JXNode> jxNodes1 = jxDocument.selN("//student/name");
        jxNodes1.forEach(System.out::println);
        System.out.println("------------------");
        //4.3获取student下number id属性=itcast的name值
        List<JXNode> jxNodes2 = jxDocument.selN("//student[@id='itcast']/name");
        jxNodes2.forEach(System.out::println);
        System.out.println("------------------");
        //以下是selector选择器查询(不用导入第三方API)
        Elements age = document.select("age");
        age.forEach(System.out::println);
        System.out.println("------------------");
        Elements elements = document.select("student[number='heima_0002'] >age");
        elements.forEach(System.out::println);

    }

}

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值