学堂在线部分网课笔记

  • Web设计与应用
    • 第六章 敏捷的前端框架
      • 6.2.1 bootstrap响应式布局(一)
        • 容器
          • 非固定宽度
          • 固定宽度
        • Viewport
          • viewport的作用是什么?
          • width:
          • height:
          • user-scalable:
          • initial-scale:
          • maxium-scale:
          • minimun-scale:
        • 栅格布局
      • 6.2.2 bootstrap响应式布局(二)
      • 6.3 bootstrap常用样式—表单
        • from-group(表单组)
        • from-control(作用于input、textarea、select)
        • 水平显示:
        • 基本按钮和默认按钮的实现方式:
      • 6.4 Bootstrap常用样式—导航栏
        • 标签形导航:
        • 胶囊式(pills)导航:
        • 自适应导航:
        • 面包屑导航:
      • 6.5 bookstrap常用样式—轮播插件
        • 容器元素:
        • 幻灯片:
        • 轮播指标:
        • 轮播控件:
    • 第七章 动态网站开发利器—Spring MVC
      • 7.1 欲善其事—MVC之Java语言简介
        • 程序中定义类(Class)
        • 包(package):
        • 注解
      • 7.2 Web开发环境介绍
        • 基于Spring MVC的动态网站开发:
        • Maven:
      • 7.3 动态网站的原理和开发技术
        • 服务器端动态页面:
        • 客户端动态页面:
        • HTTP:
        • URL:
      • 7.4 Spring MVC编程模型
        • 请求处理流程:
      • 7.5 Spring MVC开发技术
      • 7.6 后台数据库技术

Web设计与应用

第六章 敏捷的前端框架

6.2.1 bootstrap响应式布局(一)

Sublime Text是一个代码编辑器。

容器

在页面中添加布局容器是使用bootstrap栅格系统的的基本前提。

非固定宽度

.container-fluid:全屏(100%宽度),占据全部viewport的容器

<div class="container-fluid">...</div>
固定宽度

.container:用于固定宽度并支持响应式布局的容器,元素居中显示

<div class="container">...</div>

Viewport

viewport是用户网页的可视区域,翻译为中文可以叫做“视区”。通俗的讲,移动设备上的viewport就是设备屏幕上用来显示我们网页的那一块区域。

viewport的作用是什么?

这个标签的主要作用是使网页的显示效果针对移动设备进行优化。

<meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes, initial-scale=1.0, maxium-scale=5.0, minimun-scale=1.0">
width:

控制viewport的大小,可以指定一个值,如600,或者特殊的值,如device-width(代表设备的宽度,单位是缩放为100%时的css像素)。
device-width:屏幕宽度,表示视区宽度与屏幕实际宽度相同。

height:

和width相对应,指定高度。

user-scalable:

用户是否可以手动缩放。

initial-scale:

初始缩放比例,即当页面第一次load时缩放的比例。

maxium-scale:

允许用户缩放到的最大比例。

minimun-scale:

允许用户缩放到的最小比例。(0.25-10.0)

栅格布局

​ Bootstrap提供了一套响应式、移动设备优先的流式栅格布局,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

​ 栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中。

​ 行(row)必须包含在.container(固定宽度)或.container-fluid(100%宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。

​ 通过行(row)在水平方向上创建一组列(column)。

​ 你的内容应当放置于列(column)内,并且,只有列(column)可以作为行(row)的直接子元素。

​ 栅格系统中的列十通过指定1到12的值来表示其跨越的范围。例如,三个等宽的列可以使用三个.col-lg-4来创建。

6.2.2 bootstrap响应式布局(二)

​ 使用.col-md-offset-类可以将列向右侧偏移

​ 为了使用内置的栅格系统将内容再次嵌套,可以通过添加一个新的.row元素和一系列.col-sm-
元素到已经存在的 .col-sm-* 元素内

6.3 bootstrap常用样式—表单

from-group(表单组)

  1. 表单中的逻辑结构单元
  2. 在使用响应式布局时,表单组会发挥类似于网格系统中“row”的作用

from-control(作用于input、textarea、select)

  1. 宽度变成了100%
  2. 设置了一个浅灰色的圆角边框
  3. 为控件设置了设置阴影效果,并且元素得到焦点之时,阴影和边框效果会有所变化
  4. 设置了placeholder的颜色

水平显示:

表单默认显示风格为垂直显示

  1. 在< form>元素是使用类名“form-horizontal”。
  2. 配合Bootstrap框架的栅格系统。

基本按钮和默认按钮的实现方式:

<button class="btn" type="button">我是一个基本按钮</button>
<button class="btn btn-default" type="button">默认按钮</button><Input>标签
<button>标签
<a>标签
<span>标签
<div>标签

强烈建议尽可能使用< button>元素来获得在各个浏览器上相匹配的绘制效果。

在Bootstrap框架中不同的按钮风格都是通过不同的类名来实现,在使用过程中,开发者只需要选择不同的类名即可。

6.4 Bootstrap常用样式—导航栏

​ Bootstrap框架中制作导航条主要通过“.nav”样式。“.nav”样式不提供默认的导航样式,必须附加另外一个样式才会有效,比如“nav-tabs”、“nav-pills”之类。

标签形导航:


​ 标签形导航,也称选项卡导航。

​ 标签形导航是通过“nav-tabs”样式来实现。在制作标签形导航时需要在原导航“nav”上追加此类名。

​ .active:默认选中。

​ .disable:禁用导航的某些部分。

胶囊式(pills)导航:

​ 外形看起来像胶囊。

​ 实现方法和“nav-tabs”类似,同样的结构,只需要把类名“nav-tabs”换成“nav-pills”。

​ 制作垂直堆导航只需要在“nav-pills”的基础上添加一个“nav-stacked”类名即可。

自适应导航:

​ 自适应导航指的是导航占据容器全部宽度,而且菜单项可以像表格的单元一样自适应宽度。

​ 在制作自适应导航时更换了另一个类名“nav-justified”。当然需要和“nav-tabs”或者“nav-pills”配合在一起使用。

面包屑导航:

​ 面包屑(Breadcrumb)一般用于导航,主要是起的作用是告诉用户现在所处页面的位置(当前位置)。

6.5 bookstrap常用样式—轮播插件

​ 在bookstrap中我们使用Carousel组件来实现轮播效果,一个标准的轮播插件由三部分来构成。

容器元素:

幻灯片:

轮播指标:

轮播控件:


第七章 动态网站开发利器—Spring MVC

7.1 欲善其事—MVC之Java语言简介

java是一种面向对象的编程语言

面向对象:一种把数据和操作汇集于对象的编程范式。

java也是一个平台

  1. 源程序编译成字节码文件后,在JVM(Java虚拟机)上运行
  2. 宣称跨平台特性:一次编写,到处运行。

java平台=JVM + API

java平台有多个版本: Java SE,Java EE,Java ME等。

程序中定义类(Class)

类用来描述同类事物共同的属性和行为。类是对象的模板,对象是类的实例。

定义类中的成员变量和成员方法等。

成员变量:保存对象的状态数据。

成员方法:实现对象行为。

在成员方法中根据程序的需要书写各种语句。

main()方法是程序的入口,包含该方法的类称为主类。


方法体内可以有变量声明语句、表达式、返回语句、……等多种语句。

表达式是由操作数和运算符构成的式子,具有特定计算的意义。

.eg. 1+2 、Math.PI 、new Circle() 、c1.area()

方法体内的语句默认是顺序执行的——顺序结构,使用if或for语句能够带来选择结构和循环结构。

包(package):

包是用于组织类型的容器,类型属于一个包。类似于目录中可以包括子目录和文件,包中可以有子包和类型。

包名通常用逆序点分域名的形式,例如com.abc

创建一个包:用package语句作为源代码的第一条语句,例如“package com.abc;”

类型的简单名称和完成限定名(FQN)

System和java.lang.System

除java.lang外的外部包中的类型,用FQN,或者用import语句后使用简单名称。

.eg. import java.util.List;

​ import java.util.*;

注解

注解提供“元数据”支持

metadata:data that provides information about other data

注解能够给类、方法、参数等增加描述性的属性

注解能在编译或运行时被提取和使用

例如,下面的注解在编译时会使用:

@Deprecated:类或方法具有该注释则表示已经过时建议不要使用。

@Override:用在方法上,编译器会检查该方法是否真的是覆盖父类的方法或者实现接口的方法,如果不是,则会报告编译错误。

7.2 Web开发环境介绍

基于Spring MVC的动态网站开发:

  1. JDK—提供Java编译语言/平台
  2. eclipse—开发动态网站项目的IDE
  3. Maven—项目管理
  4. Spring MVC,Spring Boot,……

Maven:

项目管理工具,可以简化项目管理

最重要特性:项目依赖,项目构造。

项目依赖:直接或间接地使用其他组件。

项目构建:构建绝不仅仅是编译。

7.3 动态网站的原理和开发技术

服务器端动态页面:

通常是由服务器端运行的脚本语言所创建的动态页面。

客户端动态页面:

通常是在客户端运行的脚本语言对页面内容的修改。

HTTP:

HTTP(Hypertext Transfer Protocol),超文本传输协议——浏览器和服务器间无状态的请求/响应协议

URL:

URL:Uniform Resource Locator 统一资源定位符

URL:Uniform Resource Identifier 统一资源描述符

多个查询参数用&间隔

例如:a=123&b=456

7.4 Spring MVC编程模型

http:Web的奠基石,规范Web的应用层协议

Servlet:生成动态内容的Java Web组件,使用Java语言面向Web编程,HttpServlet抽象类,doGet/doPost等方法。

Spring Web MVC:一个Java Web开发框架,以DispatcgerServlet为核心,将请求分发(dispatch)到处理器(Handler),根据处理器的返回结果解析视图、渲染视图并得到回复。

请求处理流程:


  1. Spring Boot启动

    Mapped “{{/hi}}” onto public String DynamicWeb.sayHi(…)

  2. 使用浏览器访问

    http://localhost:8080/hi?username=Jack

  3. DispatcherServlet通过HandlerMapping得知调用sayHi()方法

    username参数值为Jack,model参数值为一个隐含的模型对象。

  4. sayHi()方法向模型中加入数据

    model.addAttribute()加入username属性,值为Jack

  5. sayHi()方法返回逻辑视图名称sayHi

  6. ViewResolver在template目录中定位sayHi.ftl文件,返回视图

  7. 视图渲染,把$(username)替换为Jack,渲染结果为HTML

  8. 渲染的HTML文档作为回复返回浏览器

核心:控制器和视图模板的编程

​ 由控制器准备模型数据。

​ 在视图模板中使用模型数据

控制器编程要点:

​ 控制器类上使用@Controller注解

​ 处理方法上使用@RequestMapping注解

​ 处理方法的方法签名非常灵活

7.5 Spring MVC开发技术









数据绑定是框架自动从请求中提取文本类型的参数并自动转换为请求处理方法的强类型参数的处理。




如何遍历包含多个元素的列表

7.6 后台数据库技术

(1)数据库技术是信息化的重要基础,结构化程度高、冗余度低、共享性高

(2)关系型数据库在表中保存数据。表由字段构成。字段有名称、数据类型等属性。

(3)关系型数据库产品众多典型的有Oracle,MySQL等轻量级的嵌入式数据库H2等。

(4)SQL—关系数据库的标准语言





Database、DataSource——数据库、数据源

Connection——到数据库的连接

Statement和ResultSet——SQL语句和结果集

先打开到数据库的连接。然后创建Statement(代表了SQL语句)对象,准备好语句后,执行语句,访问结果集。关闭结果集,关闭语句,关闭连接。

配置使用嵌入式的H2数据库,数据库名称为testdb,相应的JDBC URL为“jdbc:h2:mem:testdb”。配置一个DataSource组件代表内存数据库testdb。配置一个JdbcTemplate组件,连接到数据库。

在启动Spring Boot应用程序时,自动执行类路径下的schema.sql和data.sql脚本,可用于数据库初始化。

schema.sql一般包括DDL,例如创建表。

data.sql一般包括DML,例如向表中插入一些记录。





——The End

学堂在线部分网课笔记---Web设计与应用相关推荐

  1. 享学堂-架构师网课笔记-JVM-L11+L12(排查实战,项目总结)

    这两节课主要讲的是JVM的问题排查和调优.我将结合本身遇到实际的案例和本节课的知识点去总结如何排查项目.本文将从个人实际遇到过的实际问题,从定位问题,问题解决,和最后如何进行压力测试. 问题案例一 项 ...

  2. 大学计算机基础网课笔记,网课笔记怎么做?hiter教你!

    原标题:网课笔记怎么做?hiter教你! 转眼间 线上开课已一月有余 大家对 网课已相当熟悉了 小编随机调查了部分同学的网课状态 发现我工同学上网课毫不含糊 做起笔记来也是相当精彩 下面就随小编一起来 ...

  3. 吴恩达ChatGPT网课笔记Prompt Engineering——训练ChatGPT前请先训练自己

    吴恩达ChatGPT网课笔记Prompt Engineering--训练ChatGPT前请先训练自己 主要是吴恩达的网课,还有部分github的prompt-engineering-for-devel ...

  4. web 设计 暑期课笔记 Ⅱ CRAP设计理论

    CRAP设计理论 1. 定义: Contrast 对比 如果两个项不同,就应该使之不同,并且是截然不同 目的:页面效果:信息组织. Repetition 重复 设计的某个方面需要在页面中重复 目的:统 ...

  5. 【四级英语单词·LIST1】 B站网课笔记 新东方四级词汇词根+联想记忆法 乱序版

    快要考四级了,自己在B站看网课做的笔记,书本是<新东方四级词汇词根+联想记忆法 乱序版>,放上来给需要的同学,也方便以后自己回顾,以后会慢慢更新. sincere adj.真诚的 sin- ...

  6. 网课答案php源代码,知到网课答案WEB程序设计(PHP)2020章节测试答案

    知到章节苗属给动种疫物接于(. 在行政处序中易程罚简,网课当事人享权利有的有(. 答案答案公民关申织对政机下列行政行为向行或其可以不服的有具体请复他组议的原因法人属于.哪条中毒血性弧菌不是表现特点副溶 ...

  7. 【自动控制原理_B站网课笔记】第一章自动控制的一般概念part2

    本视频对应B站网课:https://www.bilibili.com/video/BV135411s7RF 文章目录 水位控制系统 转速控制系统 水位控制系统 被控对象:水池(含阀门) 被控量(输出) ...

  8. 尚硅谷李立超老师讲解web前端网课笔记

    HTML的重要知识点: 初学web笔记一(语义化标签) h标签表示一个标题,p标签表示一个段落,hgroup用于标题分组,em标签用于语意加重,blockquote表示长引用(会自动换行),q表示短引 ...

  9. 计算机网络(韩立刚网课笔记)

    B站韩立刚老师的视频真的是一绝. 问题:计算机除了计算,还能彼此间通信,它们是如何通信的呢?是网络. 大纲:1.OSI七层参考模型:2.TCP/UDP传输协议:3.常见的应用层协议 一.网络体系架构 ...

最新文章

  1. 结构体中定义函数指针
  2. 深入浅出Spring Security(一):三句话解释框架原理
  3. 枚举目录下的目录和文件CFileFind
  4. php一次性执行多条sql_PHP循环执行多条SQL
  5. 每天一道LeetCode-----获取无重复项/有重复项序列的全排列
  6. Eclipse中代码编辑背景颜色修改和XML字体修改
  7. servlet中实现页面跳转return “r:”和return “f:
  8. Java性能调优指南pdf阅读0-100页
  9. DDIA - 第5章 数据复制
  10. C++一本通在线测评网站 题目1224
  11. Android开发——监听Android手机的网络状态
  12. Visual Studio2019配置备忘
  13. golang dep安装
  14. 微信二维码扫码登录思路
  15. 【扫盲】硬盘接口『 SATA 、 mSATA 、 m.2 ( NGFF )、PCI-E ( PICe 、 PCI Express ) 』及其协议 『 NVMe 、 AHCI 』
  16. 企业CIO如何做好软件资产管理及优化
  17. 信奥学习规划 信息学竞赛之路(2022.07.31)
  18. 教你创建Oracle复合索引(精)
  19. 最初的承諾都抵不過時間的洗禮。
  20. 是什么偷走了我们浓浓的年味?

热门文章

  1. java 文件夹禁止访问权限_tomcat 禁止某些文件(夹)的访问
  2. 同步手机真机屏幕到PC上的软件使用方法
  3. css定位叠放次序:z-index
  4. 静则一念不生,动则万善相随
  5. Nervos DAO是个什么DAO?
  6. Qt播放音乐DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80070002 ()
  7. css实现走马灯效果
  8. 黄仁宇走了,柏杨也走了
  9. chrome插件推荐(第一期)
  10. python罗马数字转换_Python练习【3】【罗马数字转换/查找公共前缀】