我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容。
前言:此随笔主要是Java基础中的基础,相信大家对这方面肯定有着自己的理解和认识,具体详解可以参照万能的baidu,有的我就一笔带过,希望在我的学习之路上能够有大牛进行指导,也有更多的小伙伴共勉。
1.Web的概念概述
在Java编程里有两个软件架构一个是C/S,一种是B/S架构。这两种架构的区别各有有缺点吧.
C/S架构全称是 client / server 意思是指客户端与服务器端之间的联系,多用于软件存储要求较高的,像端游,qq之类的,这样的架构是用户体验好,但是,在我们需要安装部署维护的时候,需要客户更新才可以安装,这样就比较麻烦.
B/S架构全称是 Browser / server 意思是指浏览器与服务器端之间的联系,只需要一个浏览器访问不同的网址就能达到显示不同的目的,优点顾名思义就是开发安装部署维护很方便,但是缺点就是对于服务器的硬件要求过高,如果应用很大,用户的体验也不会像C/S架构一样体验很好.
主要学习的是B/S架构,这里的B/S中要了解静态资源和动态资源的关系和联系,举个例子静态资源就是一成不变的,无论是怎么访问谁访问,页面的格式都一样,像很多卡盟论坛都是静态页面,而动态页面就是根据用户的登录,或者是本地的缓存来更新页面的内容,更适合于用户的体验,更加方便快捷,这里就是动态资源的举例.而静态资源一般是文本,图片,影音,HTML,CSS,Js就可以实现.动态资源则需要使用更加高端的Jsp页php等等来进行实现,总之这样的实现是需要一个过程的,并且动态资源最终展现给用户的依然是将动态资源转换为静态资源给用户的.
2.HTML(用于搭建基础网页,展示页面内容)
HTML英文全拼就是超文本标记语言.一般以html/htm结尾的文件格式
标签分为唯独标签和自闭合标签两种<a><a/> 和 </b>标签不区分大小写,但是建议用小写来规范书写.
标签分为:
根标签也就是<html>
头标签<head>用来写<title>标题内容和引入外部资源,以及html文档属性信息.
体标签<body>
而这里的标签像图片标签<img>内有图片地址src 要注意的,超链接<a>里面有跳转的href是要重点了解内容.
HTML表单,用于采集用户输入的数据,和服务器进行交互.
标签主要是<form>表单.属性有action( 用于指定数据提交的url )和 method指定提交方式有7种但是有两种最为常用一种是get 一种是post
get 和 post 的区别
get 请求的参数会在地址栏中显现,并且请求的数据大小有限制,相对post来说不安全.
post请求的参数不会再地址栏中展现会封装到请求体中,请求的数据大小无限制,相对来说是安全的.
要想提交表单必须要指定其属性name值.要了解input输入框的各种属性和功能.
3.CSS(用于美化页面,布局页面)
CSS的全拼意思是层叠样式表.可以多个样式作用在同一个html元素上.同时生效.
好处:功能强大将内容展示和控制元素的方法分离方便管理,降低耦合度,让开发更有效率.
这里要和html 的块标签<div>联系在一起,这里的div定义在<head>头中,上文也提到<head>头标签主要是用于编写一些文件来对<html>的<body>进行控制拓展.
而CSS标签体<style>中定义的内容就是CSS控制的元素代码.对于单独定义CSS文件要访问要了解<link rel = "" href= "">这里的link rel是指要调用的方法样式而后的href是指css文件的地址.
CSS内的格式:
选择器{
属性:属性值;
.
.
.
}是以键值对形式存在的要用分号隔开.选择其实筛选及具有相似特征的元素,也就是块标签.
4.JavaScript基础(用于控制页面元素,让页面有动态效果)
客户端脚本语言的标准:ECMAScript
JS脚本语言在每个浏览器中加入了解析引擎,所以不需要进行编译在运行.
基本语法:
1.与html结合方式:内部结合就是直接卸载html中,外部结合就是通过src属性引入到html文本中.
2.注释
3.数据原型:和java语言不通的是number是数字包含整数/小数/未知数NaN引入数据类型对象.
4.变量:变量直接用var进行定义
5.运算符
6.流程控制语句:要强调的是switch语句中可以接受任意的数据类型.
7.JS特殊语法:语句以;结尾,变量的定义用var来进行定义的
基本对象:
1.函数方法函数对象:Function对象
2.Array数组对象创建也是用var来进行创建的,与java不同的是这里的数组长度是可以发生改变的,join(参数)将数组对象按照参数拼接成指定的字符串.push向数组后加入数据.
3.boolean
4.Date日期对象
5.Math对象
6.Number
7.String
8.RegExp正则表达式
9.Global全局对象:parseInt将字符串转换为数字. isNaN判断是否为NaN.Global对象不需要封装创建对象就可以直接使用.url编码encodeURIComponment 和decode'URIComponment用于对url编码进行加密.
JS中有BOM和DOM两个模块,还有的是事件监听机制.
BOM中是浏览器对象模型是对浏览器中的各个组成部分封装成对象;DOM是文本对象模型是将标记语言文档的各个组成部分封装成对象,对CRUD进行操作.事件监听机制是对鼠标键盘各种进行不同的响应.
5.BootStrap(前端开发框架)
1.BootStrap
一个前端开发的框架,来自Twitter 是一个很受欢迎的前端框架,定义了很多css样式和Js插件.
3个<meta>标签必须放到最前面,BootStrap框架是依赖于Jquery所以必须放到最前面.
<meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1">
2.响应式布局
同一套页面兼容不同分辨率的设备,实现栅栏系统.
定义元素:xs/sm/md/lg
栅栏系统的属性可以向上兼容.
3.CSS样式和JS插件
导航条,和全局按钮分页条等等都可以实现.
6.XML
一种严格的可扩展性标记语言.要求能够看懂XML是怎么写的.组成部分有很多.
1.文档声明格式<?xml 属性列表 ?>
2.属性列表 version 版本信息 encoding编码方式 standalone 是否独立 yes/no两种取值
属性:id属性值唯一.
约束分类分为DTD和Schema分别是简单和复杂的约束.
DTD分为内部dtd 和外部dtd 内部即本地 外部即外面的URL
xml常用的解析器有JAXP . DOM4J . Jsoup . PULL 主要是学Jsoup解析器.
Jsoup解析器是针对于HTML的解析器,可以解析某个URL地址和TML文本内容.提供了一套非常省力的API,可以通过DOM,CSS以及JQuery的操作方法来去除和操作数据.
方法入门:
导入jar包,获取Document对象,再获取对应的标签Element对象,最后获取数据.