JAVA入门->入坟?

						JavaWeb
My Learning Distance

> 学习进程 > 1.数据库 >

	常用数据库:Mysql 中小型数据库、Oracle 大型数据库(需要付费)、SQLServer 中大型数据库、SysBase 中型数据库、Access小型个人数据库、BD2 大型数据库。

数据库简称:DB、数据库系统DB System、数据库管理系统:DB Manager System、

我主要学习的是Mysql

SQL:结构化查询语言(Structed QueryLanguage)
其中包含:
DDL :数据定义语言 、解释:定义和管理数据库对象,如数据库、数据表等。主要命令:CREATE、DROP、ALTER
DML :数据操作语言 、解释:用于操作数据库对象中所包含的数据---------------主要命令:INSERT、 DELETE、UPDATE
DQL :数据查询语言 、解释:用于查询数据库------------------------------------------主要命令:SELECT
DCL :数据控制语言 、解释:用来管理数据库,包含管理权限及数据的更改—主要命令:CRANT、REVOKE

服务器引擎:
	   INNODB:支持事务和行级锁、支持外键、不支持全文索引、非内存存储
	   MYISAM:不支持事务和行级锁、不支持外键、支持全文索引、非内存存储


五大约束:
	表级约束:
		主键约束:Primary Key 
		唯一约束:UNIQUE
		外键约束:FOREIGN Key 
		检查约束:Check
	列级约束:
		主健约束:Primary Key
		唯一约束:UNIQUE
		外键约束:foreign Key
		检查约束:Check
		默认约束:DEFAULT
		非空约束:NOT NULL
		
	数据库的设计:
	实体间的关系:
		    一对一:例- 一个人只能对应一个身份证号码
		    一对多:例- 一个人可以存在多部手机
		    多对一:例- 多名人对应一个国家
		    多对多:例- 商品与订单
	多对多必须利用一个第三者拆分成多个一对多将复杂问第简单化
	例如:商品与订单交易:多对一,交易单与订单:多对一。

数据库的学习过程:对数据库的基本操作,增、删、改、查。
数据库表的学习进程:对数据库表的操作,增、删、改、查。

数据库的查询操作:1.条件查询select * from 表名 where 条件
	        2.模糊查询select * from 表名 where 字段 like '%模糊段%'
	        3.聚合函数count、sum、avg、max、min、
	        4.分组查询group by 分组后的条件查询having
	        5.函数:字符串函数、日期函数、数学函数、系统函数
	        6.内连接查询:
	        	  6.1:显式内连接查询inner join on
	        	  6.2:隐式内连接查询where进行连接
	        7.外连接查询:
	        	7.1:左外连接查询left join on
	        	7.2:右外连接查询right join on
	        	
		8.子查询:简单子查询、in子查询、any子查询、some子查询、all子查询

> 学习进程 > 2.JDBC

利用数据库Eclipse或IDEA对数据库进行操作。称为持久化操作是使用JDBC进行持久化操作的。
JDBC API:DriverManager Connection Statement Preoaredstatement ResultSet

操作步骤:1.加载JDBC驱动
	 2.创建与数据库的连接
	 3.执行SQL语句并返回结果
	 4.处理结果
	 5.关闭资源

> 学习进程: > 3.JSP

JSP九大内置对象:1.out、2.response、3.request、4.session、5.page、6.config、7.exception、8.pageContext、9.application
作用域对象:request、Session、application、pageContext

转发和重定向的区别:
转发:request.getRequestDispatcher(“jsp页面名称.jsp”).forword(request,response)
转发是可以携带参数的,浏览器地址栏不会被改变。
重定向:respose.sendRedirect(“地址”);
重定向是会改变地址栏地址的,并且不会被携带参数的操作。

浏览器操作之——CooKie
	将输入的信息存储在浏览器特定的空间内保存信息的,让浏览器记住当前的状态,没有写cookie的HTTP是无状态的而我们将Cookie加
	入,当我们再次清除缓存访问页面时就会将信息所保留在浏览器的客户端内,当然保留的信息是有时间限制的,而这个时间是由程序开
	发设计的。记录信息的并非远在他方的服务器,而是我们自己的电脑,当我们主动将我们浏览器存储的缓存信息与Cookie信息清除后再
	次访问站页就会发现原来存储的信息不见了,当浏览器存在cookie时访问网站时就会读取浏览器本身自带的cookie信息让我们可以到。

	MVC开发模式与三层架构:
	主要组成是JSP+JAVABean+Servlet 
	数据访问层,业务逻辑层、表示层、数据访问层
	MVC模式:M:Model、V:View、C:Controller
	MVC+三层架构组成5个包:utils(连接数据库工具类),dao(逻辑),entiyt(实体/模型),controller(控制层),service(业务层)
	再加上jsp页面就可以制作任何想要的功能哦

> 学习进程: > 4.JavaScript的学习

	1.讲述了为什么要使用Javascript:
	HTML:(结构层)这个指的是jsp页面把,个人感觉这个jsp页面和html没什么大区别HTML是静态,jsp是动态(可以改变的那种),超文本标记语言。
	CSS:(表现层)就好像是给页面穿了衣服,化妆盒,主要作用就是把页面打扮的漂亮让人看着就开心(●'◡'●),层叠样式表。
	JavaScript:(行为层)内容如何对事件做出响应,比如敲击键盘,点击鼠标等等的事件做出响应   脚本语言。
	JavaScript函数:内建函数,自定义函数,内建函数有:alert(警告框),confirm(提示框),prompt(确认框),
eval(字符串转换为jsScript代码)等内建函数。
	2.Javascript组成
	   		2.1:DOM:文档对象模型,DOM是W3C(万维网联盟)的标准,DOM定义了访问HTML和XML文档的标准。
	   			DOM事件发生时会在节点与根节点之间按照特定顺序传播路径所有节点都会收到该事件称为DOM事件
	   		阶段:1.冒泡阶段,2.处理阶段,3.捕获阶段
	   		核心 DOM - 针对任何结构化文档的标准模型。其事件有:键盘事件,鼠标事件,表单事件,页面事件
	   		2.2:BOM:浏览器对象模型,与浏览器交互的接口和方法。其对象有:窗口对象,地址对象,历史对象,定时器对象。
	   		     BOM是一套操作浏览器的对象模型。
	   		2.3:ECMAScript:是通过ECMA-262标准化的脚本式设计语言
	  Window对象:是用来映射浏览器中的窗口对象,是一个顶级对象。

> 学习进程 > 5.JQuery

1.类库/框架
JQuery包含JQuery选择器、DOM操作、事件、插件、JQuery Ajax异步操作
JQuery选择器:基本选择器、层级选择器、表单选择器、属性选择器、
基本选择器:通过标签id||通过标签clss||通过标签名 来查找DOM元素。
层级选择器:JQuery根据DOM元素间的层级关系获取元素的选择器。
	$("#parent>child")子元素选择器,获取元素内的子元素(所有子类元素)
	$("#ancestor children")后代元素选择器,获取元素内的后代元素(所有后代元素)
	$("#prev+next")紧邻同辈选择器,获取元素紧挨着的下一个同辈元素。
	$("#prev~siblings")获取元素后的所有同辈元素
表单域选择器:表单域选择器是JQuery根据表单元素或类型来获取元素的选择器。
	$("#:input")获取所有input,textarea,select和button元素(与标签选择器$("input")不同!$(":input")是获取所有input元素)
	$(":text")获取所有type属性为text的元素。
	$(":password")获取所有type属性为password的元素。
	$(":radio")获取所有type属性为radio的元素。
	$(":checkbox")获取所有type属性值为checkbox的元素。
	$(":button")获取所有type属性值为button和<button>元素。
表单域属性选择器:表单域属性选择器是JQuery根据表单域的属性筛选元素的选择器。
	$(":checked")获取所有被选中单选按钮或复选按钮元素。
	$(":selected")获取下拉框中被选中元素。
位置选择器:位置选择器是JQuery根据元素所在的位置获取元素的选择器。
input只是我个人拟定的,其他元素也可以,tr,td,div等等……啦,都可以的。
	$("input:first")获取匹配元素中的第一个元素
	$("input:last")获取匹配元素中的最好一个元素
	$("input:even")匹配一类元素中索引为偶数的元素,从0开始计数。
	$("input:odd")匹配一类元素中索引为奇数的元素,从0开始奇数。
	$("input:eq(1)")匹配一个给定索引值的元素。
	$("input:gt(1)")匹配所有大于给定索引的元素
	$("input:It(1)")匹配所有小于给定索引值的元素
	
属性选择器:属性选择器是根据元素的属性来获取元素的选择器
	$("[name]")匹配所有包含该属性的元素,获取所有包含name属性的值。
	$("[name='name']")匹配所有该元素和该元素值的元素。
	$("[属性选择器1][属性选择器2]")复合属性选择器,匹配所有包含这些属性的元素。匹配所有包含name属性和id属性的元素。
JQueryDOM操作,是使用JQuery语法对页面元素执行的交互式操作。
	搜索操作、创建节点、删除节点、内部插入、外部插入、过滤操作、元素内容操作、元素属性操作、元素样式操作、
	搜索操作:搜索父辈元素、搜索同辈元素、搜索子元素
	$("<p></p>")用于动态创建页面元素
	remove()删除节点元素,将节点所包含的所有后代节点删除掉
	empty()清空节点元素,清空标签内所有标签(不包含本节点)
	arr.each()用于遍历元素。
	查找父辈元素
		$("#sp").parent(),获取一个元素的父元素。
		$("#sp").parents()获取所有父辈元素,包含祖辈元素,不包含根节点。
	查找同辈元素
		$("#sp").prev()查找前一个同辈元素。
		$("#sp").next()查找后一个同辈元素。
		$("#sp").siblings()查找所有同辈元素。
	查找子元素
		$("#sp").children()获取一个元素所有子元素。
		$("#sp").find()获取一个元素的所有后代元素。
	过滤操作:过滤操作是选择器已选择的元素集合,再次筛选的DOM操作。
		p是<p></p>标签
		$("p").eq(1)获取第一个元素,可以为N
		$("p").first()获取首个元素
		$("p").last()获取最后一个元素。
		$("p").filter("#a||.a")筛选出与执行表达式匹配的元素集合,#a是id,.a是class,p是<p></p>标签
	插入操作:可以向指定元素内部插入任意元素或内容
		$("p").append("内容");向每个匹配的元素内部追加内容,
		$("p").prepend("内容");向每个匹配的元素内部前置内容,在顶部添加。
		$("p").after("内容")向每个匹配元素外部添加内容,在下面添加。
		$("p").before("内容")向每个匹配的元素外部添加内容在上面添加。
		
获取HTML中的内容
	$("#sb").html()取得第一个匹配元素的html内容
设置HTML中的内容
	$("#sb").html("val")设置所有匹配元素的html内容
获取文本
	$("#sb").text()取得所有匹配元素的内容
设置文本
	$("#sb").text("text")设置文本的内容
获取元素值
	$("#sb").val()获得匹配元素的当前的value属性值
设置元素值
	$("#sb").val("value")设置匹配元素的当前value属性值(作用对象表单元素)
元素属性读取
	$("#sb").atter("name")读取匹配元素属性的当前值
元素属性修改
	$("#sb").atter("name","value")修改当前元素的属性值
元素属性删除
	$("#sb").removeAtter("name")删除匹配元素的属性(如果匹配多个,就删除所有元素的属性)
添加样式类
	$("#sb").addClass("class样式名")给匹配元素添加class样式。
移除样式类
	$("#sb").removeClass("class样式名")将匹配元素移除class样式
样式切换
	$("#sb").toggleClass("class样式名")
是否包含样式
	$("#sb").hasClass("样式名")判断元素是否包含该元素的样式名称。
读取css样式
	$("#sb").css("属性")获取元素样式的元素值。
设置css样式
	$("#sb").css("属性","值")设置css属性的值
元素css位置
	$("#sb").posttion()获取页面元素的位置,返回两个整型数值
JQuery事件
	JQuery事件是元素节点上由用户引发的、会对其做出相应的操作。
事件类型:普通事件、绑定事件、切换事件。
普通事件:键盘事件、鼠标事件、表单事件
键盘事件:
	$("button").keydown()当键盘被按下时,发生keydown事件
	$("button").keyup()当键盘被松下时,发生keyup事件
	$("button").keypress()当键盘按下时,发生keypress事件。(与keydown事件不同,没插入一个字符都会发生keypress事件,但只能捕获单个字符,不能捕获组合键)。
鼠标事件:
	$("button").click()鼠标单击时触发的事件
	$("button").dbclick()鼠标双击时触发的事件。
	$("button").mousemove()鼠标移动时触发的事件。
	$("button").mouseover()鼠标悬浮时触发的事件。
	$("button").mouseout()鼠标移除时触发的事件。
表单事件
	$("div").focus()元素获得焦点时触发的事件,div块级元素需要设置tabindex="0"才可以获取焦点制作离焦事件。
	$("div").blur()元素失去焦点时触发的事件,div块级元素需要设置tabindex="0"才能有效果,离焦事件。
	$("select").change()改变事件,元素发生改变即触发本事件,下拉框改变触发事件。
	$("form").submit()表单提交事件,表单提交触发本事件。
绑定事件:bind()、live()、on()、
解绑事件:unbind()、off()方法。
	绑定事件
		$("#div").bind({click:function(){$("#div").css("background","red")},mouseover:fun(){…………},mousedown:function(){……}})为被选元素添加一个或多个事件处理程序。
		$("#div").live({click:function(){$("#div").css("backgrund","red")},mouseover:function(){……},…………})。为被选元素添加一个或多个事件处理程序。
		$("#div").on({click:function(){…………},mouseover:function(){……}});在选择元素上绑定一个或多个事件的事件处理函数。
	解绑事件
		$("#div").unbind();从被选元素上移除添加的事件处理程序。//默认移除所有,移除某个$("#div").unfind("click");移除bind绑定事件。
		$("#div").off();移除通过on()方法添加的事件处理程序。。默认移除所有,移除单个:$("#div").off("click").
	切换事件
		$("#div").hover(function(){$(this).css("background","red")},function(){$(this).css("background","red")…………})用于模拟光标悬停事件。
		$("#div").toggle(function(){$(this).css("background","red")},function(){$(this).css("background","red")})添加两个或多个函数,以响应被选元素的click事件间切换。
	自定义事件
		$("#div").bind("myClick",function(){……})//自定义的myClick事件
		$("#div").trigger(“myClick”) trigger方法触发自己定义名称的事件。trigger()方法不仅能触发浏览器支持的具有同样名称的事件。也能够触发自己定义名称的事件
	自定义事件传递数据
		$("#div").togger("myClick",["自定义",”事件“])————————$(function(){$('#btn').bind("myClick",function(event, message1, message2){ $('#test').append("<p>"+message1 + message2 +"</p>");}); $('#btn').click(function(){$(this).trigger("myClick",["我的自己定义","事件"]); })});;
	事件流:事件流是指发生时会在元素节点与根节点之间按照特定顺序传播的序列。
	事件流包含:冒泡型事件流、捕获型事件流、事件序列。
	冒泡型事件流:由内向外散发。
	捕获型事件流:由外向内进入。

> 学习进程6 > Ajax

1.了解同步:同步是指令发出数据后,必须等待响应,才可以发送下一条数据的通讯方式。
2.了解异步:异步是指令发出数据后,不需要等待响应结果,可以继续发送下一条数据的通讯方式。
3.Ajax:`A`synchronous `J`avaScript `A`nd `X`ml
4.了解Ajax:Ajax是浏览器端发起与服务器交换少量数据并更新网页的局部刷新的异步通信奇数。
5.原生Ajax创建步骤:
	5.1:创建Ajax对象(XMLHttpRequest)XMLHttpRequest是Javascript中的一个对象。Ajax正是通过这个对象来和服务器通讯。现代浏览器HttpRequest,低版本IEHttpObject。
	5.2:连接服务器open(get|post,url,true/false)参数:1,请求方式,2,请求路径,3,请求是否异步。
	5.3:发送send(”a"=$("#a").val(),…………)请求,传参数的需要。。
	5.4:监听服务器XMLRequest.onreadystatechange=function(){………………},设置并回调函数接收数据。
6.JQuery Ajax:1.$.ajax()、2.$.get()、$.post、load()、3.$.getJson()、$.getScript()、
	6.1:JQuery Ajax参数:url,type,dataTye,data,success,error,async,

单元1
反射:定义:反射是动态获取类或对象信息以及动态调用对象方法的机制
如何获取Class对象
1.    Class类的forName(String className)
2.    对象的getClass()方法
3.    类的class属性 Class stuClass=Student.clas
获取Class基本信息
  方法名                       						作用
 int getModifiers()          						以整数形式返回类或接口的所有修饰符
 Package getPackage()							类的包信息
 Strng getName()							获得类的全限定名
 String getSimpleName()							获得类名
 boolean isArray()							是否是数组类型
 boolean isEnum()							是否是枚举
 boolean isInterface()							是否是接口
 boolean isPrimitive()							是否是基本数据类型
 String getTypeName()							以字符串的形式返回类型名称
 Class<?>[] getInterfaces()						返回Class对象对应类实现的全部接口
 Class<? super T>getSuperclass()					返回Class对象对应类的父类

访问成员变量

获取Field对象

方法名			    						作用
Field getField(String name)						返回指定名称的public成员变量
Field[] getFields()      						返回所有的public成员变量
Field getDeclaredField(String name)     				返回指定名称的成员变量
Field[]getDeclaredFields()						所有的成员变量

Filed对象常用方法

 方法名	   			 					作用
 int getModifiers()							以整数形式返回成员变量所有修饰符
 String getName()		 					返回字段的名称
 Class<?>getType()		 					返回字段的类型
 void set(obj, value)		 					修改指定对象的该变量值
 Object get(obj)		 					获取指定对象的该变量的值

获取Method对象

方法名				 		   			作用
Method getMethod(String name,Class<?>... parameterTypes)	        返回指定名称、带指定形参列表的public成员方法
Method[] getMethods()							返回所有的public成员方法,包含从父类和接口中继承的方法
Method getDeclaredMethod(Stringname,Class<?>... parameterTypes)		返回指定名称、带指定形参列表的成员方法,不能获得继承的方法
Method[] getDeclaredMethods()						返回所有的成员方法,不包含继承的方法

如何获取Constructor对象

方法名									作用
Constructor<T>getConstructor(Class<?>... parameterTypes)		返回带指定形参列表的public构造方法
Constructor<?>[] getConstructors()			       	        返回所有的public构造方法
Constructor<T>getDeclaredConstructor(Class<?>... parameterTypes)	返回带指定参数列表的构造方法
Constructor<?>[] getDeclaredConstructors()		   	        返回所有的构造方法

操作构造器

 Constructor对象常用方法
 方法名							   	        作用
 int getModifiers()							以整数形式返回构造方法的所有修饰符
 String getName()					   	        获得构造方法的方法名
 int getParameterCount()			  	                获得构造方法的参数个数
 Class<?>[] getParameterTypes()						以对象数组形式返回参数类型
 boolean isVarArgs()					   	        判断是否包含可变参数
 T  newInstance(Object... initargs)			 	        使用构造方法创建实例
 String toGenericString()				  	        获得描述构造方法的字符串

创建对象:通过Constructor构造器创建对象
反射创建对象:通过Class对象调用无参构造器创建对象。
配置文件:定义:配置文件是保存和配置信息的文件。
       外延:数据库配置文件,线程池配置文件,程序配置文件
泛型:泛型是通过参数化类型提高代码重用性,并在编译器增强进行类型检查的机制。
       外延:泛型类、泛型接口、泛型方法
泛型:->泛型类型->泛型类
泛型:->泛型类型->泛型接口
泛型:->泛型方法
线程池:线程池是复用线程以提高响应速度、减少系统创建和销毁线程开销的技术
       外延:单线程线程池、固定大小线程池、定时线程池、缓存线程池
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值